
CD1865
—
Intelligent Eight-Channel Communications Controller
74
Datasheet
The receiver monitors the state of DSR* (if enabled) and ignores data on the Receive Data pin if
DSR* is negated. This feature is controlled by the DsrAE bit, bit 0 of Channel Option register 2
(COR2).
7.3.3
Receiver Software (In-Band) Flow Control
Host receive buffers often cannot keep pace with data being received. The CD1865 transmitter can
be used to send flow-control characters to the remote device. This avoids over-flowing the receive
buffers in the host. However, transmitting flow-control characters is an additional complication and
source of delay when using conventional devices. As the host
’
s receive buffer becomes full, the
transmit process must be flagged to insert a flow-control character (or sequence) in the Transmit
Data Stream. Any data already in the Transmit FIFO is transmitted ahead of the flow-control
character, increasing the response time at the remote end.
With the CD1865, In-Band Flow Control of the remote system is semi-automatic; two commands
(Send Xon, Send Xoff) can be issued by the host whenever the host wants to flow-control the
remote. These special commands make host programming and buffer management easier because
it allows the flow-control character(s) to be sent as the next character, regardless of the contents of
the Transmit FIFO or host transmit buffers.
Flow-control characters are transmitted by the send special character command in the Channel
Control register (CCR). The lower-three bits in the command determine which of the four-special
characters are to be sent. If two-character flow control sequences are enabled, requesting either
SCHR1 or SCHR2 causes the appropriate two-character sequence to be transmitted. Refer to
Section 7.2.5 on page 70
for Special Character Definition details. Special characters are
transmitted regardless of the state of transmit enable or transmit flow control. Transmitting flow-
control characters can be handled independently of the current state of the transmit channel. In
sending special characters, the CD1865 bypasses any data already in the Transmit FIFO, thereby
minimizing delay in transmitting flow-control characters. The maximum delay is two-character
times. However, if a break is currently being transmitted, the CD1865 waits for the break
transmission to terminate before the special character is transmitted, regardless of the length of the
break.
The CD1865 keeps a copy of the current state of the receive flow in the CCSR. Two bits are used to
indicate the current state of the channel regarding flow control: RxFloff and RxFlon. RxFloff and
RxFlon are meaningful only when the CD1865 is flow-controlling the remote. Whenever an Xoff
is transmitted, RxFlon is cleared and RxFloff is set. When a subsequent Xon is transmitted,
RxFloff is cleared and RxFlon is set. When data is received from the remote, RxFlon is cleared.
The
‘
00
’
state is provided as an aid to the programmer in determining whether there might be a
problem in a communications link. If RxFlon remains set during normal operation, it could indicate
that the remote did not correctly receive the last Xon.
If flow-control characters are sent by the host by embedding them in the Transmit FIFO rather than
using the Send Special Character function, the CD1865 flow-control logic does not sense them,
and the CCSR is not affected.
The table below summarizes the meaning of RxFloff and RxFlon.