Control Registers
1174
SPNU503C – March 2018
Copyright © 2018, Texas Instruments Incorporated
Multi-Buffered Serial Peripheral Interface Module (MibSPI) with Parallel Pin
Option (MibSPIP)
24.9.17 SPI Receive Buffer Register (SPIBUF)
Figure 24-42. SPI Receive Buffer Register (SPIBUF) [offset = 40h]
31
30
29
28
27
26
25
24
RXEMPTY
RXOVR
TXFULL
BITERR
DESYNC
PARITYERR
TIMEOUT
DLENERR
R-1
R-0
R-0
R-0
R-0
R-0
R-0
R-0
23
16
LCSNR
R-0
15
0
RXDATA
R-0
LEGEND: R = Read only; -
n
= value after reset
Table 24-25. SPI Receive Buffer Register (SPIBUF) Field Descriptions
Bit
Field
Value
Description
31
RXEMPTY
Receive data buffer empty. When the host reads the RXDATA field or the entire SPIBUF register,
it automatically sets the RXEMPTY flag. When a data transfer is completed, the received data is
copied into RXDATA and the RXEMPTY flag is cleared.
0
New data has been received and copied into RXDATA.
1
No data has been received since the last read of RXDATA.
This flag gets set to 1 under the following conditions:
• Reading the RXDATA field of the SPIBUF register
• Writing a 1 to clear the RXINTFLG bit in the SPI Flag Register (SPIFLG)
Write-clearing the RXINTFLG bit before reading the SPIBUF indicates the received data is being
ignored. Conversely, RXINTFLG can be cleared by reading the RXDATA field of SPIBUF (or the
entire register).
30
RXOVR
Receive data buffer overrun. When a data transfer is completed and the received data is copied
into RXBUF while it is already full, RXOVR is set. Overruns always occur to RXBUF, not to
SPIBUF; the contents of SPIBUF are overwritten only after it is read by the Peripheral (VBUSP)
master (CPU, DMA, or other host processor).
If enabled, the RXOVRN interrupt is generated when RXBUF is overwritten, and reading either SPI
Flag Register (SPIFLG) or SPIVECTx shows the RXOVRN condition. Two read operations from
the SPIBUF register are required to reach the overwritten buffer word (one to read SPIBUF, which
then transfers RXDATA into SPIBUF for the second read).
Note: This flag is cleared to 0 when the RXDATA field of the SPIBUF register is read.
Note: A special condition under which RXOVR flag gets set. If both SPIBUF and RXBUF are
already full and while another buffer receive is underway, if any errors such as TIMEOUT,
BITERR, and DLEN_ERR occur, then RXOVR in RXBUF and SPI Flag Register (SPIFLG)
registers will be set to indicate that the status flags are getting overwritten by the new
transfer. This overrun should be treated like a normal receive overrun.
0
No receive data overrun condition occurred since last read of the data field.
1
A receive data overrun condition occurred since last read of the data field.
29
TXFULL
Transmit data buffer full. This flag is a read-only flag. Writing into the SPIDAT0 or SPIDAT1 field
while the TX shift register is full will automatically set the TXFULL flag. Once the word is copied to
the shift register, the TXFULL flag will be cleared. Writing to SPIDAT0 or SPIDAT1 when both
TXBUF and the TX shift register are empty does not set the TXFULL flag.
0
The transmit buffer is empty; SPIDAT0/SPIDAT1 is ready to accept a new data.
1
The transmit buffer is full; SPIDAT0/SPIDAT1 is not ready to accept new data.