Data Transmission and Reception
11-37
Multichannel Buffered Serial Ports
11.3.6.1 Frame Sync Ignore and Unexpected Frame Sync Pulses
RFIG and XFIG are used to ignore unexpected frame sync pulses. Any frame
sync pulse is considered unexpected if it occurs one or more bit clocks earlier
than the programmed data delay from the end of the previous frame specified
by ((R/X)DATDLY). Setting the frame ignore bits to 1 causes the serial port to
ignore these unexpected frame sync signals.
In reception, if not ignored (RFIG = 0), an unexpected FSR pulse discards the
contents of RSR in favor of the incoming data. Therefore, if RFIG = 0, an unex-
pected frame synchronization pulse aborts the current data transfer, sets
RSYNCERR in the SPCR to 1, and begins the reception of a new data ele-
ment. When RFIG = 1, the unexpected frame sync pulses are ignored.
In transmission, if not ignored (XFIG = 0), an unexpected FSX pulse aborts the
ongoing transmission, sets the XSYNCERR bit in the SPCR to 1, and reiniti-
ates transmission of the current element that was aborted. When XFIG = 1,
unexpected frame sync signals are ignored.
Figure 11–20 shows that element B is interrupted by an unexpected frame sync
pulse when (R/X)FIG = 0. The reception of B is aborted (B is lost), and a new data
element (C) is received after the appropriate data delay. This condition causes a
receive synchronization error and thus sets the RSYNCERR bit. However, for
transmission, the transmission of B is aborted and the same data (B) is retrans-
mitted after the appropriate data delay. This condition is a transmit synchronization
error and thus sets the XSYNCERR bit. Synchronization errors are discussed in
sections 11.3.7.2 and 11.3.7.5.
Figure 11–20.
Unexpected Frame Synchronization With (R/X)FIG = 0
A0
Current data retransmitted
New data received
(R/X)SYNCERR
DX
C6
C7
B0
B1
B2
B3
B4
B5
B6
B7
B6
B7
A0
DR
FS(R/X)
D6
D7
C0
C2
C3
C4
C5
C6
C7
B6
B7
C1
CLK(R/X)
Frame sync aborts current transfer