Frame ignored
Frame ignored
Frame ignored
Frame ignored
Frame ignored
Frame ignored
DXR-to-XSR copy
DX
FSX
CLKX
RBR-to-DRR copy
DR
Element 1
FSR
CLKR
Architecture
1215
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Multichannel Buffered Serial Port (McBSP)
Figure 25-22. Data Packing at Maximum Frame Frequency With (R/X)FIG = 1
25.2.7.5 Serial Port Exception Conditions
There are five serial port events that can constitute a system error:
•
Receive overrun (RFULL = 1 in SPCR)
•
Unexpected receive frame synchronization (RSYNCERR = 1 in SPCR)
•
Transmit data overwrite
•
Transmit empty (XEMPTY = 0 in SPCR)
•
Unexpected transmit frame synchronization (XSYNCERR = 1 in SPCR)
25.2.7.5.1 Receive Overrun: RFULL
RFULL = 1 in the serial port control register (SPCR) indicates that the receiver has experienced overrun
and is in an error condition. RFULL is set when the following conditions are met:
•
DRR has not been read since the last RBR-to-DRR transfer.
•
RBR is full and an RBR-to-DRR copy has not occurred.
•
RSR is full and an RSR-to-RBR transfer has not occurred.
The data arriving on DR is continuously shifted into RSR (
). Once a complete element is
shifted into RSR, an RSR-to-RBR transfer can occur only if an RBR-to-DRR copy is complete. Therefore,
if DRR has not been read by the CPU or the EDMA controller since the last RBR-to-DRR transfer (RRDY
= 1), an RBR-to-DRR copy does not take place until RRDY = 0. This prevents an RSR-to-RBR copy. New
data arriving on the DR pin is shifted into RSR, and the previous contents of RSR are lost. After the
receiver starts running from reset, a minimum of three elements must be received before RFULL can be
set, because there was no last RBR-to-DRR transfer before the first element.
This data loss can be avoided if DRR is read no later than two and a half CLKR cycles before the end of
the third element (data C) in RSR, as shown in