Data Transmission and Reception
11-45
Multichannel Buffered Serial Ports
11.3.7.3 Transmit With Data Overwrite
Figure 11–28 shows what happens if the data in DXR is overwritten before it is
transmitted. Suppose you load the DXR with data C. A subsequent write to the
DXR overwrites C with D before C is copied to the XSR. Thus, C is never trans-
mitted on DX. The CPU can avoid overwriting data by polling XRDY before writ-
ing to DXR or by waiting for a programmed XINT to be triggered by XRDY
(XINTM = 00b). The DMA controller can avoid overwriting by synchronizing data
writes with XEVT.
Figure 11–28.
Transmit With Data Overwrite
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Write of DXR (D)
D6
D7
B0
B1
B2
B3
B4
B5
B6
A1
Write of DXR (E)
DXR-to-XSR copy (D)
Write of DXR (C)
DXR-to-XSR copy (B)
XRDY
DX
FSX
B7
A0
CLKX
11.3.7.4 Transmit Empty: XEMPTY
XEMPTY indicates whether the transmitter has experienced under flow. Either
of the following conditions causes XEMPTY to become active (XEMPTY = 0):
-
During transmission, DXR has not been loaded since the last DXR-to-XSR
copy, and all bits of the data element in the XSR have been shifted out on
DX.
-
The transmitter is reset (XRST = 0 or the device is reset) and then re-
started.
During underflow condition, the transmitter continues to transmit the old data
in DXR for every new frame sync signal that arrives on FSX until a new element
is loaded into DXR by the CPU or the DMA controller. XEMPTY is deactivated
(XEMPTY = 1) when this new element in DXR is transferred to XSR. In the
case of internal frame sync generation, the transmitter regenerates a single
FSX initiated by a DXR-to-XSR copy (FSXM = 1 in the PCR and FSGM = 0 in
SRGR). Otherwise, the transmitter waits for the next frame synchronization.