Parity0
Parity1
Parity2
Parity3
Control0
Transmit0
Control1
Transmit1
Control2
Transmit2
Control3
Transmit3
Control126
Transmit126
Control127
Transmit127
Parity126
Parity127
Buffer 0
1
2
3
...
126
127
0
15
16
31
32
35
0
15
16
31
32
35
TXRAM Bank
RXRAM Bank
Optional
Optional
Parity0 Status0 Receive0
Parity127 Status127 Receive127
Parity126 Status126 Receive126
Parity3 Status3 Receive3
Parity2 Status2 Receive2
Parity1 Status1 Receive1
Multi-Buffer RAM
1214
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Multi-Buffered Serial Peripheral Interface Module (MibSPI) with Parallel Pin
Option (MibSPIP)
24.10 Multi-Buffer RAM
The multi-buffer RAM is used for holding transit and received data, control and status information. The
multi-buffer RAM contains two banks of up to 128 32-bit words for a maximum configuration. One bank
(TXRAM) contains entries for transmit data (replicating the SPIDAT1 register). The other bank (RXRAM)
contains received data (replicating the SPIBUF register). The buffers can be partitioned into multiple TGs,
each containing a programmable number of buffers. Each of the buffers can be subdivided into 16-bit
transmit field, 16-bit receive field, 16-bit control field, and 16-bit status field, as displayed in
.
A 4-bit parity field per word is also included in each bank of RAM.
Figure 24-76. Multi-Buffer RAM Configuration
All fields can be read and written with 8-bit, 16-bit, or 32-bit accesses.
The transmit fields can be written and read in the address range 000h to 1FFh. The transmit words
contain data and control fields.
The receive RAM fields are read-only and can be accessed through the address range 200h to 3FCh. The
receive words contain data and status fields.
The chip select number (CSNR) bit field of the control field for a given word is mirrored into the
corresponding receive-buffer status field after transmission.
The Parity is automatically calculated and copied to Parity location
NOTE:
Please refer to the specific device datasheet for the actual number of transmit and receive
buffers.
Write to unimplemented buffer is overwriting the corresponding implemented buffer. In
MIBSPI, if the RAM SIZE specified is 32 buffers, write to 33rd buffer overwrites 1st buffer,
write to 34th buffer overwrites 2st buffer and so on.