Capable of Running With All Existing
TL16C450 Software
D
After Reset, All Registers Are Identical to
the TL16C450 Register Set
D
In the FIFO Mode, Transmitter and Receiver
Are Each Buffered With 16-Byte FIFOs to
Reduce the Number of Interrupts to the
CPU
D
In the TL16C450 Mode, Holding and Shift
Registers Eliminate the Need for Precise
Synchronization Between the CPU and
Serial Data
D
Programmable Baud Rate Generator Allows
Division of Any Input Reference Clock by 1
16
to (2
Clock
D
Standard Asynchronous Communication
Bits (Start, Stop, and Parity) Added to or
Deleted From the Serial Data Stream
D
Independent Receiver Clock Input
D
Transmit, Receive, Line Status, and Data
Set Interrupts Independently Controlled
description
–1) and Generates an Internal 16×
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
D
Fully Programmable Serial Interface
Characteristics:
– 5-, 6-, 7-, or 8-Bit Characters
– Even-, Odd-, or No-Parity Bit Generation
and Detection
– 1-, 1 1/2-, or 2-Stop Bit Generation
– Baud Generation (dc to 256 Kbit/s)
D
False-Start Bit Detection
D
Complete Status Reporting Capabilities
D
3-State TTL Drive Capabilities for
Bidirectional Data Bus and Control Bus
D
Line Break Generation and Detection
D
Internal Diagnostic Capabilities:
– Loopback Controls for Communications
Link Fault Isolation
– Break, Parity, Overrun, Framing Error
Simulation
D
Fully Prioritized Interrupt System Controls
D
Modem Control Functions (CTS, RTS, DSR,
DTR, RI, and DCD)
D
Faster Plug-In Replacement for National
Semiconductor NS16550A
The TL16C550A is a functional upgrade of the TL16C450 asynchronous communications element (ACE).
Functionally identical to the TL16C450 on power up (character mode
alternate mode (FIFO) to relieve the CPU of excessive software overhead.
In this mode, internal FIFOs are activated allowing 16 bytes (plus 3 bits of error data per byte in the receiver
FIFO) to be stored in both receive and transmit modes. To minimize system overhead and maximize system
efficiency , all logic is on the chip. Two of the TL16C450 terminal functions (terminals 24 and 29 on the N package
and terminals 27 and 32 on the FN package) have been changed to allow signalling of direct memory address
(DMA) transfers.
The TL16C550A performs serial-to-parallel conversion on data received from a peripheral device or modem
and parallel-to-serial conversion on data received from its CPU. The CPU can read and report on the status of
the ACE at any point in the ACE’s operation. Reported status information includes the type of transfer operation
in progress, the status of the operation, and any error conditions encountered.
The TL16C550A ACE includes a programmable, on-board, baud rate generator. This generator is capable of
dividing a reference clock input by divisors from 1 to (2
transmitter logic. Provisions are included to use this 16× clock to drive the receiver logic. Also included in the
ACE is a complete modem control capability and a processor interrupt system that may be software tailored
to the user’s requirements to minimize the computing required to handle the communications link.
†
The TL16C550A can also be reset to the TL16C450 mode under software control.
Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of
Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.
16
–1) and producing a 16× clock for driving the internal
†
), the TL16C550A can be placed in an
PRODUCTION DATA information is current as of publication date.
Products conform to specifications per the terms of Texas Instruments
standard warranty. Production processing does not necessarily include
testing of all parameters.
NOTE A: Terminal numbers shown are for the N package.
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
3
TL16C550A
I/O
DESCRIPTION
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
Terminal Functions
TERMINAL
NAMENO.
A0
A1
A2
ADS
BAUDOUT
CS0
CS1
CS2
CTS
D0 – D71 – 8
DCD
DDIS23 [26]ODriver disable. This output is active (high) when the CPU is not reading data. When active, this output can disable
DSR
DTR
INTRPT30 [33]OInterrupt. When active (high), INTRPT informs the CPU that the ACE has an interrupt to be serviced. Four
MR35 [39]IMaster reset. When active (high), MR clears most ACE registers and sets the state of various output signals. Refer
OUT1
OUT2
RCLK9 [10]IReceiver clock. RCLK is the 16× baud rate clock for the receiver section of the ACE.
RD1
RD2
†
Terminal numbers shown in brackets are for the FN package.
†
28 [31]
27 [30]
26 [29]
25 [28]I
15 [17]O
12 [14]
13 [15]
14 [16]
36 [40]I
I/O Data bus. Eight 3-state data lines provide a bidirectional path for data, control, and status information between the
[2 – 9]
38 [42]I
37 [41]I
33 [37]O
34 [38]
31 [35]
21 [24]
22 [25]
IRegister select. A0, A1, and A2 are used during read and write operations to select the ACE register to read from
or write to. Refer to Table 1 for register addresses, also refer to the address strobe (ADS
Address strobe. When ADS is active (low), the register select signals (A0, A1, and A2) and chip select signals (CS0,
CS1, CS2
the state they were in when the low-to-high transition of ADS
Baud out. BAUDOUT is a 16× clock signal for the transmitter section of the ACE. The clock rate is established by
the reference oscillator frequency divided by a divisor specified by the baud generator divisor latches. BAUDOUT
may also be used for the receiver section by tying this output to the RCLK input.
I
Chip select. When CSx is active (high, high, and low respectively), the ACE is selected. If any of these inputs are
inactive, the ACE remains inactive. Refer to the ADS
Clear to send. CTS is a modem status signal. Its condition can be checked by reading bit 4 (CTS) of the modem
status register. Bit 0 (DCTS) of the modem status register indicates that this signal has changed states since the
last read from the modem status register. If the modem status interrupt is enabled when CTS
interrupt is generated.
ACE and the CPU.
Data carrier detect. DCD is a modem status signal. Its condition can be checked by reading bit 7 (DCD) of the
modem status register. Bit 3 (DDCD) of the modem status register indicates that this signal has changed states
since the last read from the modem status register. If the modem status interrupt is enabled when the DCD
state, an interrupt is generated.
an external transceiver.
Data set ready. DSR is a modem status signal. Its condition can be checked by reading bit 5 (DSR) of the modem
status register. Bit 1 (DDSR) of the modem status register indicates that this signal has changed states since the
last read from the modem status register. If the modem status interrupt is enabled when the DSR
an interrupt is generated.
Data terminal ready. When active (low), DTR informs a modem or data set that the ACE is ready to establish
communication. DTR
DTR
bit 0 (DTR) of the modem control register.
conditions that cause an interrupt to be issued are: a receiver error, received data is available or timeout (FIFO mode
only), transmitter holding register empty, or an enabled modem status interrupt. The INTRPT output is reset
(deactivated) either when the interrupt is serviced or as a result of a master reset.
to Table 2.
O
Outputs 1 and 2. OUT1 and OUT2 are user-designated output terminals that are set to their active states by setting
their respective modem control register bits (OUT1 and OUT2) high. OUT1
states as a result of master reset or during loop mode operations or by clearing bit 2 (OUT1) or bit 3 (OUT2) of the
modem control register.
I
Read inputs. When either RD1 or RD2 are active (high or low respectively) while the ACE is selected, the CPU is
allowed to read status information or data from a selected ACE register. Only one of these inputs is required for
the transfer of data during a read operation; the other input should be tied in its inactive state (i.e., RD2 tied low
or RD1
) drive the internal select logic directly; when high, the register select and chip select signals are held in
occurred.
(address strobe) signal description.
is placed in the active state by setting the DTR bit of the modem control register to a high level.
is placed in the inactive state either as a result of a master reset or during loop mode operation or clearing
and OUT2 are set to their inactive (high)
tied high).
) signal description.
changes state, an
changes
changes state,
4
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
TL16C550A
I/O
DESCRIPTION
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
Terminal Functions (continued)
TERMINAL
NAMENO.
RI
RTS
RXRDY
SIN10 [11]ISerial input. SIN is a serial data input from a connected communications device.
SOUT11 [13]OSerial output. SOUT is a composite serial data output to a connected communication device. SOUT is set to the
TXRDY
V
CC
V
SS
WR1
WR2
XIN
XOUT
†
Terminal numbers shown in brackets are for the FN package.
†
39 [43]IRing indicator . RI is a modem status signal. Its condition can be checked by reading bit 6 (RI) of the modem status
register. Bit 2 (TERI) of the modem status register indicates that the RI
state since the last read from the modem status register. If the modem status interrupt is enabled when this transition
occurs, an interrupt is generated.
32 [36]O
29 [32]O
24 [27]O
40 [44]5-V supply voltage
20 [22]Supply common
18 [20]
19 [21]
16 [18]
17 [19]
Request to send. When active, RTS informs the modem or data set that the ACE is ready to transmit data. RTS
is set to its active state by setting the RTS modem control register bit, and is set to its inactive (high) state either
as a result of a master reset or during loop mode operations or by clearing bit 1 (RTS) of the modem control register .
Receiver ready output. Receiver direct memory access (DMA) signalling is available with RXRDY . When operating
in the FIFO mode, one of two types of DMA signalling can be selected with FCR3. When operating in the TL16C450
mode, only DMA mode 0 is allowed. Mode 0 supports single-transfer DMA in which a transfer is made between
CPU bus cycles. Mode 1 supports multitransfer DMA in which multiple transfers are made continuously until the
receiver FIFO has been emptied. In DMA mode 0 (FCR0 = 0 or FCR0 = 1, FCR3 = 0), if there is at least 1 character
in the receiver FIFO or receiver holding register, RXRDY
are no characters in the FIFO or holding register, RXRDY
= 1), when the trigger level or the timeout has been reached, RXRDY
but there are no more characters in the FIFO or holding register, it goes inactive (high).
marking (high) state as a result of master reset.
Transmitter ready output. T ransmitter DMA signalling is available with TXRDY . When operating in the FIFO mode,
one of two types of DMA signalling can be selected with FCR3. When operating in the TL16C450 mode, only DMA
mode 0 is allowed. Mode 0 supports single-transfer DMA in which a transfer is made between CPU bus cycles.
Mode 1 supports multitransfer DMA in which multiple transfers are made continuously until the transmit FIFO has
been filled.
I
Write inputs. When either WR1 or WR2 are active (high or low respectively) while the ACE is selected, the CPU
is allowed to write control words or data into a selected ACE register. Only one of these inputs is required to transfer
data during a write operation; the other input should be tied in its inactive state (i.e., WR2 tied low or WR1
I/O External clock. XIN and XOUT connect the ACE to the main timing reference (clock or crystal).
is active (low). When RXRDY has been active but there
absolute maximum ratings over free-air temperature range (unless otherwise noted)
Supply voltage range, V
Input voltage range at any input, V
Output voltage range, V
Operating free-air temperature range, T
Storage temperature range, T
Case temperature for 10 seconds, T
Lead temperature 1,6 mm (1/16 inch) from case for 10 seconds: N package 260°C. . . . . . . . . . . . . . . . . . . . .
†
Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only and
functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
NOTE 1: All voltage values are with respect to VSS.
recommended operating conditions
MINNOMMAXUNIT
Supply voltage, V
High-level input voltage, V
Low-level input voltage, V
Operating free-air temperature, T
CC
IH
IL
A
4.7555.25V
2V
–0.50.8V
070°C
CC
V
electrical characteristics over recommended ranges of supply voltage and operating free-air
temperature (unless otherwise noted)
PARAMETERTEST CONDITIONSMIN TYP†MAXUNIT
‡
V
OH
V
OL
g
C
XIN
C
XOUT
C
i
C
o
†
All typical values are at VCC = 5 V, TA = 25°C.
‡
These parameters apply for all outputs except XOUT.
system timing requirements over recommended ranges of supply voltage and operating free-air
temperature
ALT. SYMBOLFIGUREMINMAXUNIT
t
cR
t
cW
t
w5
t
w6
t
w7
t
w8
t
su1
t
su2
t
su3
t
h1
t
h2
t
h3
t
h4
t
h5
t
h6
t
h7
t
d4
t
d5
t
d6
t
d7
t
d8
t
d9
§
Applicable only when ADS is tied low.
Cycle time, read (tw7 + td8 + td9)RC175ns
Cycle time, write (tw6 + td5 + td6)WC175ns
Pulse duration, ADS low
Pulse duration, write strobet
Pulse duration, read strobetRD380ns
Pulse duration, master resett
Setup time, address valid before ADS↑t
Setup time, CS before ADS↑t
Setup time, data valid before WR1↓ or WR2↑t
Hold time, address low after ADS↑t
Hold time, CS valid after ADS↑t
Hold time, CS valid after WR1↑ or WR2↓t
§
Hold time, address valid after WR1↑ or WR2↓t
Hold time, data valid after WR1↑ or WR2↓t
Hold time, CS valid after RD1↑orRD2↓
§
Hold time, address valid after RD1↑ or RD2↓t
§
Delay time, CS valid before WR1↓ or WR2↑t
§
Delay time, address valid before WR1↓ or WR2↑t
§
Delay time, write cycle, WR1↑ or WR2↓ to ADS↓t
§
Delay time, CS valid to RD1↓
§
Delay time, address valid to RD1↓ or RD2↑t
Delay time, read cycle, RD1↑ or RD2↓ to ADS↓tRC380ns
orRD2
↑
t
ADS
WR
MR
AS
CS
DS
AH
CH
WCS
WA
DH
t
RCS
RA
CSW
AW
WC
t
CSR
AR
2, 315ns
280ns
1µs
2, 315ns
2, 315ns
215ns
2, 30ns
2, 30ns
220ns
220ns
215ns
320ns
320ns
215ns
215ns
280ns
315ns
315ns
system switching characteristics over recommended ranges of supply voltage and operating
free-air temperature (see Note 2)
NOTE 2: Charge and discharge time is determined by VOL, VOH, and external loading.
Pulse duration, clock hight
Pulse duration, clock lowt
Delay time, RD1↓ or RD2↑ to data validt
Delay time, RD1↑ or RD2↓ to floating datat
Disable time, RD1↓↑ or RD2↑↓ to DDIS↑↓t
Delay time, start to interruptt
Delay time, WR THR to reset interruptt
Delay time, initial write to interrupt (THRE)t
Delay time, read IIR to reset interrupt (THRE)t
Delay time, write to TXRDY inactivet
Delay time, start to TXRDY activet
SCD
t
SINT
RINT
IRS
STI
HR
SI
IR
WXI
SXA
4100ns
4,5,6,7,81
4,5,6,7,8CL = 100 pF150ns
9824
988
9CL = 100 pF140ns
91632
9CL = 100 pF140ns
10,11CL = 100 pF195ns
10,11CL = 100 pF8
RCLK
cycles
baudout
cycles
baudout
cycles
baudout
cycles
baudout
cycles
modem control switching characteristics over recommended ranges of supply voltage and
operating free-air temperature
Figure 14. Typical Interface for a High-Capacity Data Bus
Data BusData Bus
8-Bit
Bus Transceiver
Driver Disable
TL16C550A
(ACE)
D7–D0
DDIS
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
17
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
APPLICATION INFORMATION
A16–A23
CPU
ADS
RSI/ABT
AD0–AD15
PHI1PHI2
Address
Decoder
Buffer
A16–A23
AD0–AD7
12
13
14
25
35
TL16C550A
CS0
CS1
CS2
ADS
MR
A0–A2
D0–D2
†
XIN
XOUT
BAUDOUT
RCLK
DTR
RTS
OUT1
OUT2
DCD
DSR
CTS
Alternate
16
17
15
9
33
32
34
31
39
RI
38
37
36
XTAL Control
20
1
8
6
5
RSTO
PHI1PHI2
†
Terminal numbers for the TL16C550A are for the N package.
ADS
RD
TCU
WR
AD0–AD15
Figure 15. Typical TL16C550A Connection to a CPU
21
18
22
GND
(V
RD1
WR1
RD2
WR2
SS)
SOUT
SIN
INTRPT
TXRDY
DDIS
RXRDY
2040
5 V
(V
CC)
11
10
30
24
23
2919
2
3
7
1
EIA-232-D
Connector
18
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
Table 1. Register Selection
†
DLAB
0LLLReceiver buffer (read), transmitter holding register (write)
0LLHInterrupt enable register
XLHLInterrupt identification register (read only)
XLHLFIFO control register (write)
XLHHLine control register
XHLLModem control register
XHLHLine status register
XHHLModem status register
XHHHScratch register
1LLLDivisor latch (LSB)
1LLHDivisor latch (MSB)
†
The divisor latch access bit (DLAB) is the most significant bit of the line control register . The DLAB signal
is controlled by writing to this bit location (see Table 3).
Line Control RegisterMaster ResetAll bits cleared
Modem Control RegisterMaster ResetAll bits cleared (5–7 permanent)
Line Status RegisterMaster ResetBits 5 and 6 are set, all other bits are cleared
Modem Status RegisterMaster ResetBits 0–3 are cleared, bits 4–7 are input signals
SOUTMaster ResetHigh
INTRPT (receiver error flag)Read LSR/MRLow
INTRPT (received data available)Read RBR/MRLow
INTRPT (transmitter holding register empty)
INTRPT (modem status changes)Read MSR/MRLow
Bit 0 is set, bits 1–3 are cleared, and bits 4–7 are permanently
cleared
Low
All bits low
All bits low
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
19
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
accessible registers
The system programmer, using the CPU, has access to and control over any of the ACE registers that are
summarized in Table 3. These registers control ACE operations, receive data, and transmit data. Descriptions
of these registers follow Table 3.
Bit 0 is the least significant bit. It is the first bit serially transmitted or received.
NOTE 4: These bits are always cleared in the TL16C450 mode.
Transmitter
Holding
Register
(Write
Only)
Interrupt
Enable
Register
Enable
Received
Data
Available
Interrupt
(ERB)
Enable
Transmitter
Holding
Register
Empty
Interrupt
(ETBEI)
Enable
Receiver
Line Status
Interrupt
(ELSI)
Enable
Modem
Status
Interrupt
(EDSSI)
Interrupt
Ident.
Register
(Read
Only)
”0“ If
Interrupt
Pending
Interrupt
ID
Bit 0
Interrupt
ID
Bit (1)
Interrupt
ID
Bit (2)
(Note 4)
FIFOs
Enabled
(Note 4)
FIFOs
Enabled
(Note 4)
FIFO
Control
Register
(Write
Only)
FIFO
Enable
Receiver
FIFO
Reset
Transmitter
FIFO
Reset
DMA
Mode
Select
Receiver
Trigger
(LSB)
Receiver
Trigger
(MSB)
Line
Control
Register
Word
Length
Select
Bit 0
(WLS0)
Word
Length
Select
Bit 1
(WLS1)
Number
of
Stop Bits
(STB)
Parity
Enable
(PEN)
Even
Parity
Select
(EPS)
Stick
Parity
Set
Break
Divisor
Latch
Access
Bit
(DLAB)
Modem
Control
Register
Data
Terminal
Ready
(DTR)
Request
to Send
(RTS)
Out1
Out2
Loop
0
0
0
Line
Status
Register
Data
Ready
(DR)
Overrun
Error
(OE)
Parity
Error
(PE)
Framing
Error
(FE)
Break
Interrupt
(BI)
Transmitter
Holding
Register
(THRE)
Transmitter
Empty
(TEMT)
Error in
RCVR
FIFO
(Note 4)
Modem
Status
Register
Delta
Clear
to Send
∆CTS)
(
Delta
Data
Set
Ready
∆DSR)
(
Trailing
Edge Ring
Indicator
(TERI)
Delta
Data
Carrier
Detect
∆DCD)
(
Clear
to
Send
(CTS)
Data
Set
Ready
(DSR)
Ring
Indicator
(RI)
Data
Carrier
Detect
(DCD)
Scratch
Register
Bit 0Bit 0Bit 8
Bit 1Bit 1Bit 9
Bit 2Bit 2Bit 10
Bit 3Bit 3Bit 11
Bit 4Bit 4Bit 12
Bit 5Bit 5Bit 13
Bit 6Bit 6Bit 14
Bit 7Bit 7Bit 15
Divisor
Latch
(LSB)
Latch
(MSB)
20
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
FIFO control register (FCR)
The FCR is a write-only register at the same location as the IIR, which is a read-only register. The FCR enables
the FIFOs, clears the FIFOs, sets the receiver FIFO trigger level, and selects the type of DMA signalling.
D
Bit 0: This bit (FCR0), when set, enables the transmit and receive FIFOs. Bit 0 must be set when other FCR
bits are written to or they are not programmed. Changing this bit clears the FIFOs.
D
Bit 1: This bit (FCR1), when set, clears all bytes in the receiver FIFO and clears its counter . The shift register
is not cleared. The 1 that is written to this bit position is self clearing.
D
Bit 2: This bit (FCR2), when set, clears all bytes in the transmit FIFO and clears its counter . The shift register
is not cleared. The 1 that is written to this bit position is self clearing.
D
Bit 3: When this bit (FCR0) and FCR3 are set, RXRDY and TXRDY change from mode 0 to mode 1.
D
Bits 4 and 5: These two bits (FCR4 and FCR5) are reserved for future use.
D
Bits 6 and 7: These two bits (FCR6 and FCR7) set the trigger level for the receiver FIFO interrupt.
Table 4 shows the trigger level for the receiver FIFO interrupt.
Table 4. Receiver FIFO Trigger Level
BIT 7BIT 6
0001
0104
1008
1114
RECEIVER FIFO
TRIGGER LEVEL (BYTES)
FIFO interrupt mode operation
When the receiver FIFO and receiver interrupts are enabled (FCR0 = 1, IER0 = 1) receiver interrupts occur as
follows:
1. The receive data available interrupt is issued to the microprocessor when the FIFO has reached its
programmed trigger level. It is cleared as soon as the FIFO drops below its programmed trigger level.
2. The IIR receive data available indication also occurs when the FIFO trigger level is reached, and, like the
interrupt, it is cleared when the FIFO drops below the trigger level.
3. The receiver line status interrupt (IIR = 06), as before, has higher priority than the received data
available (IIR = 04) interrupt.
4. The data ready bit (LSR0) is set as soon as a character is transferred from the shift register to the
receiver FIFO. It is cleared when the FIFO is empty.
When the receiver FIFO and receiver interrupts are enabled, receiver FIFO timeout interrupts occur as follows:
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
21
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
FIFO interrupt mode operation (continued)
1. FIFO timeout interrupt occurs when the following conditions exist:
a. At least one character is in the FIFO.
b. The most recent serial character received was longer than 4 continuous character times ago (when
2 stop bits are programmed, the second one is included in this time delay).
c.The most recent microprocessor read of the FIFO was longer than 4 continuous character times
ago. This causes a maximum character received to interrupt issued delay of 160 ms at 300 baud
with 12-bit characters.
2. Character times are calculated by using the RCLK input for a clock signal (this makes the delay
proportional to the baud rate).
3. When a timeout interrupt has occurred, it is cleared and the timer reset when the microprocessor reads
one character from the receiver FIFO.
4. When a timeout interrupt has not occurred, the timeout timer is reset after a new character is received or
after the microprocessor reads the receiver FIFO.
When the transmit FIFO and transmitter interrupts are enabled (FCR0 = 1, IER1 = 1), transmit interrupts occur
as follows:
1. The THR interrupt (02) occurs when the transmit FIFO is empty. It is cleared as soon as the THR is
written to (1 to 16 characters may be written to the transmit FIFO while servicing this interrupt) or the IIR
is read.
2. The transmit FIFO empty indications are delayed 1 character time minus the last stop bit time when the
following occurs: THRE = 1 and there have not been at least two bytes at the same time in the transmit
FIFO since the last THRE = 1. The first transmitter interrupt after changing FCR0 is immediate, if it is
enabled.
Character timeout interrupt and receiver FIFO trigger level interrupts have the same priority as the current
received data available interrupt. The transmit FIFO empty interrupt has the same priority as the current THRE
interrupt.
FIFO polled mode operation
When FCR0 is set, clearing IER0, IER1, IER2, IER3, or all four puts the ACE in the FIFO polled mode of
operation. Since the receiver and transmitter are controlled separately , either one or both can be in the polled
mode of operation.
In this mode, the user program checks the receiver and transmitter status using the LSR.
D
LSR0 is set as long as there is one byte in the receiver FIFO.
D
LSR1 – LSR4 specify which error(s) have occurred. Character error status is handled the same way as
when in the interrupt mode and the IIR is not affected since IER2 = 0.
D
LSR5 indicates when the transmit FIFO is empty.
D
LSR6 indicates that both the transmit FIFO and shift registers are empty.
D
LSR7 indicates whether there are any errors in the receiver FIFO.
There is no trigger level reached or timeout conditions indicated in the FIFO polled mode. However, the receiver
and transmitter FIFOs are still fully capable of holding characters.
22
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
interrupt enable register (IER)
The IER enables each of the four types of interrupts (refer to T able 5) and the INTRPT output signal in response
to an interrupt generation. The IER can also disable the interrupt system by clearing bits 0 through 3. The
contents of this register are summarized in Table3 and are described in the following bulleted list.
D
Bit 0: This bit, when set, enables the received data available interrupt.
D
Bit 1: This bit, when set, enables the THRE interrupt.
D
Bit 2: This bit, when set, enables the receiver line status interrupt.
D
Bit 3: This bit, when set, enables the modem status interrupt.
D
Bits 4 – 7: These bits in the IER are not used and are always cleared.
interrupt identification register (IIR)
The ACE has an on-chip interrupt generation and prioritization capability that permits a flexible interface with
most popular microprocessors.
The ACE provides four prioritized levels of interrupts:
D
Priority 1– Receiver line status (highest priority)
D
Priority 2– Receiver data ready or receiver character time out
D
Priority 3–Transmitter holding register empty
D
Priority 4–Modem status (lowest priority)
When an interrupt is generated, the IIR indicates that an interrupt is pending and the type of interrupt is defined
by the interrupt’s three least significant bits (bits 0, 1, and 2). The contents of this register are summarized in
Table 3 and described in Table 4. Details of each bit are as follows:
D
Bit 0: This bit can be used either in a hardwire prioritized or polled interrupt system. When this bit is cleared,
an interrupt is pending. When bit 0 is set, no interrupt is pending.
D
Bits 1 and 2: These two bits identify the highest priority interrupt pending as indicated in Table 5.
D
Bit 3: This bit is always cleared in the TL16C450 mode. In FIFO mode, this bit is set with bit 2 to indicate
that a timeout interrupt is pending.
D
Bits 4 thru 5: These two bits are not used and are always cleared.
D
Bits 6 and 7: These two bits are always cleared in the TL16C450 mode. They are set when bit 0 of the FCR
is set.
Overrun error, parity error,
framing error, or break interrupt
Receiver data available in the
TL16C450 mode or trigger level
reached in the FIFO mode.
No characters have been
removed from or input to the
Character timeout
indication
Transmitter holding
register empty
receiver FIFO during the last
four character times and there
is at least one character in it
during this time
Transmitter holding register
empty
Clear to send, data set ready,
ring indicator, or data carrier
detect
INTERRUPT RESET
Reading the line status register
(LSR)
Reading the receiver buffer
register (RBR)
Reading the receiver buffer
register (RBR)
Reading the interrupt
identification register (IIR) (if
source of interrupt) or writing
into the transmitter holding
register (THR)
Reading the modem status
register (MSR)
METHOD
line control register (LCR)
The system programmer controls the format of the asynchronous data communication exchange through the
LCR. In addition, the programmer is able to retrieve, inspect, and modify the contents of the LCR; this eliminates
the need for separate storage of the line characteristics in system memory. The contents of this register are
summarized in Table 3 and described in the following bulleted list.
D
Bits 0 and 1: These two bits specify the number of bits in each transmitted or received serial character.
These bits are encoded as shown in Table 6.
Table 6. Serial Character Word Length
Bit 1Bit 0Word Length
005 Bits
016 Bits
107 Bits
118 Bits
D
Bit 2: This bit specifies either one, one and one-half, or two stop bits in each transmitted character . When
bit 2 is cleared, one stop bit is generated in the data. When bit 2 is set, the number of stop bits generated
is dependent on the word length selected with bits 0 and 1. The receiver clocks the first stop bit only,
regardless of the number of stop bits selected. The number of stop bits generated, in relation to word length
and bit 2, is shown in Table 7.
Bit 3: This bit is the parity enable bit. When bit 3 is set, a parity bit is generated in the transmitted data
Word Length Selected
by Bits 1 and 2
Number of Stop
Bits Generated
between the last data word bit and the first stop bit. In received data, when bit 3 is set, parity is checked.
When bit 3 is cleared, no parity is generated or checked.
D
Bit 4: This bit is the even parity select bit. When parity is enabled (bit 3 is set) and bit 4 is set, even parity
(an even number of logic 1’s in the data and parity bits) is selected. When parity is enabled and bit 4 is
cleared, odd parity (an odd number of logic 1s) is selected.
D
Bit 5: This is the stick parity bit. When bits 3, 4, and 5 are set, the parity bit is transmitted and checked as
cleared. When bits 3 and 5 are set and bit 4 is cleared, the parity bit is transmitted and checked as set. When
bit 5 is cleared, stick parity is disabled.
D
Bit 6: This bit is the break control bit. Bit 6 is set to force a break condition, i.e., a condition where the serial
output (SOUT) terminal is forced to the spacing (low) state. When bit 6 is cleared, the break condition is
disabled. The break condition has no affect on the transmitter logic; it only affects the serial output.
D
Bit 7: This bit is the divisor latch access bit (DLAB). Bit 7 must be set to access the divisor latches of the
baud generator during a read or write. Bit 7 must be cleared during a read or write to access the receiver
buffer, the THR, or the IER.
line status register (LSR)
†
The LSR provides information to the CPU concerning the status of data transfers. The contents of this register
are described in the following bulleted list and summarized in Table 3.
D
Bit 0: This bit is the data ready (DR) indicator for the receiver. Bit 0 is set whenever a complete incoming
character has been received and transferred into the RBR or the FIFO and is cleared by reading all of the
data in the RBR or the FIFO.
D
Bit 1‡: This bit is the overrun error (OE) indicator. When bit 1 is set, it indicates that before the character
in the RBR was read, it was overwritten by the next character transferred into the register. The OE indicator
is cleared every time the CPU reads the contents of the LSR. If the FIFO mode data continues to fill the FIFO
beyond the trigger level, an overrun error occurs only after the FIFO is full and the next character has been
completely received in the shift register. OE is indicated to the CPU as soon as it happens. The character
in the shift register is overwritten but is not transferred to the FIFO.
The line status register is intended for read operations only; writing to this register is not recommended outside of a factory testing environmen
Bits 1 through 4 are the error conditions that produce a receiver line status Interrupt.
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
25
TL16C550A
†
t
‡
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
line status register (LSR)
D
Bit 2‡.: This bit is the parity error (PE) indicator . When bit 2 is set, it indicates that the parity of the received
data character does not match the parity selected in the LCR (bit 4). The PE bit is cleared every time the
CPU reads the contents of the LSR. In the FIFO mode, this error is associated with the particular character
in the FIFO to which it applies. This error is revealed to the CPU when its associated character is at the top
of the FIFO.
D
Bit 3‡: This bit is the framing error (FE) indicator . When bit 3 is set, it indicates that the received character
did not have a valid (set) stop bit. The FE bit is cleared every time the CPU reads the contents of the LSR.
In the FIFO mode, this error is associated with the particular character in the FIFO to which it applies. This
error is revealed to the CPU when its associated character is at the top of the FIFO. The ACE tries to
resynchronize after a framing error. To accomplish this, it is assumed that the framing error is due to the
next start bit. The ACE then samples this start bit twice and then accepts the input data.
D
Bit 4‡: This bit is the break interrupt (BI) indicator . When bit 4 is set, it indicates that the received data input
was held clear for longer than a full-word transmission time. A full-word transmission time is defined as the
total time of the start, data, parity , and stop bits. The BI bit is cleared every time the CPU reads the contents
of the LSR. In the FIFO mode, this error is associated with the particular character in the FIFO to which it
applies. This error is revealed to the CPU when its associated character is at the top of the FIFO. When
break occurs, only the 0 character is loaded into the FIFO. The next character transfer is enabled after SIN
goes to the marking state and receives the next valid start bit.
D
Bit 5: This bit is the THRE indicator. Bit 5 is set when the THR is empty, indicating that the ACE is ready
to accept a new character. If the THRE interrupt is enabled when the THRE bit is set, then an interrupt is
generated. THRE is set when the contents of the THR are transferred to the transmitted shift register. This
bit is cleared concurrent with the loading of the THR by the CPU. In the FIFO mode, this bit is set when the
transmit FIFO is empty; it is cleared when at least 1 byte is written to the transmit FIFO.
†
(continued)
D
Bit 6: This bit is the transmitter empty (TEMT) indicator. Bit 6 is set when the THR and the TSR are both
empty. When either the THR or the TSR contains a data character, the TEMT bit is cleared. In the FIFO
mode, this bit is set when the transmitter FIFO and shift register are both empty.
D
Bit 7: In the TL16C550A, this bit is always cleared. In the TL16C450 mode, this bit is cleared. In the FIFO
mode, LSR7 is set when there is at least one parity , framing, or break error in the FIFO. It is cleared when
the microprocessor reads the LSR and there are no subsequent errors in the FIFO.
modem control register (MCR)
The MCR is an 8-bit register that controls an interface with a modem, data set, or peripheral device that is
emulating a modem. The contents of this register are summarized in T able 3 and are described in the following
bulleted list.
D
Bit 0: This bit (DTR) controls the data terminal ready (DTR) output. Setting bit 0 forces the DTR output to
its low state. When bit 0 is cleared, DTR
D
Bit 1: This bit (RTS) controls the request to send (R TS) output in a manner identical to bit 0’ s control over
the DTR
D
Bit 2: This bit (OUT1) controls the output 1 (OUT1) signal, a user-designated output signal, in a manner
identical to bit 0’s control over the DTR
The line status register is intended for read operations only; writing to this register is not recommended outside of a factory testing environmen
Bits 1 through 4 are the error conditions that produce a receiver line status interrupt.
output.
goes high.
output.
26
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
PRINCIPLES OF OPERATION
modem control register (MCR) (continued)
D
Bit 3: This bit (OUT2) controls the output 2 (OUT2) signal, a user-designated output signal, in a manner
identical to bit 0’s control over the DTR
D
Bit 4: This bit provides a local loopback feature for diagnostic testing of the ACE. When bit 4 is set, the
following occurs:
1. The SOUT is set high.
2. The SIN is disconnected.
3. The output of the TSR is looped back into the RSR input.
4. The four modem control inputs (CTS
5. The four modem control outputs (DTR
modem control inputs.
6. The four modem control output terminals are forced to their inactive states (high).
In the diagnostic mode, data that is transmitted is immediately received. This allows the processor to verify
the transmit and receive data paths to the ACE. The receiver and transmitter interrupts are fully operational.
The modem control interrupts are also operational but the modem control interrupt’s sources are now the
lower four bits of the MCR instead of the four modem control inputs. All interrupts are still controlled by the
IER.
output.
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
, DSR, DCD, and RI) are disconnected.
, RTS, OUT1, and OUT2) are internally connected to the four
D
Bit 5 – 7: These bits are permanently cleared.
modem status register (MSR)
The MSR is an 8-bit register that provides information about the current state of the control lines from the
modem, data set, or peripheral device to the CPU. Additionally, four bits of this register provide change
information; when a control input from the modem changes state, the appropriate bit is set. All four bits are
cleared when the CPU reads the MSR. The contents of this register are summarized in Table 3 and are
described in the following bulleted list.
D
Bit 0: This bit is the change in clear to send (∆CTS) indicator . Bit 0 indicates that the CTS input has changed
states since the last time it was read by the CPU . When this bit is set and the modem status interrupt is
enabled, a modem status interrupt is generated.
D
Bit 1: This bit is the change in data set ready (∆DSR) indicator. Bit 1 indicates that the DSR input has
changed states since the last time it was read by the CPU. When this bit is set and the modem status
interrupt is enabled, a modem status interrupt is generated.
D
Bit 2: This bit is the trailing edge of ring indicator (TERI) detector . Bit 2 indicates that the RI input to the chip
has changed from a low to a high state. When this bit is set and the modem status interrupt is enabled, a
modem status interrupt is generated.
D
Bit 3: This bit is the change in data carrier detect (∆DCD) indicator. Bit 3 indicates that the DCD input to
the chip has changed states since the last time it was read by the CPU. When this bit is set and the modem
status interrupt is enabled, a modem status interrupt is generated.
D
Bit 4: This bit is the compliment of the clear to send (CTS) input. When bit 4 (loop) of the MCR is set,
bit 4 is equivalent to the MCR bit 1 (RTS).
D
Bit 5: This bit is the compliment of the data set ready (DSR) input. When bit 4 (loop) of the MCR is set,
bit 5 is equivalent to the MCR bit 1 (DTR).
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
27
TL16C550A
ASYNCHRONOUS COMMUNICATIONS ELEMENT
SLLS057D – AUGUST 1989 – REVISED MARCH 1996
PRINCIPLES OF OPERATION
modem status register (MSR) (continued)
D
Bit 6: This bit is the compliment of the ring indicator (RI) input. When bit 4 (loop) of the MCR is set, bit 6
is equivalent to the MCR bit 2 (OUT1).
D
Bit 7: This bit is the compliment of the data carrier detect (DCD) input. When bit 4 (loop) of the MCR is set,
bit 7 is equivalent to the MCR bit 3 (OUT2).
programmable baud generator
The ACE contains a programmable baud generator that takes a clock input in the range between dc and 8 MHz
16
and divides it by a divisor in the range between 1 and (2
–1). The output frequency of the baud generator is
16× the baud rate. The formula for the divisor is:
Two 8-bit registers, called divisor latches, store the divisor in a 16-bit binary format. These divisor latches must
be loaded during initialization of the ACE in order to ensure desired operation of the baud generator. When either
of the divisor latches is loaded, a 16-bit baud counter is also loaded to prevent long counts on initial load.
Tables 8 and 9, which follow, illustrate the use of the baud generator with crystal frequencies of 1.8432 MHz
and 3.072 MHz, respectively For baud rates of 38.4 kbit/s and below, the error obtained is very small. The
accuracy of the selected baud rate is dependent on the selected crystal frequency.
Refer to Figure 16 for examples of typical clock circuits.
The ACE receiver section consists of a receiver shift register (RSR) and a RBR. The RBR is actually a 16-byte
FIFO. Timing is supplied by the 16× receiver clock (RCLK). Receiver section control is a function of the ACE
line control register.
The ACEs RSR receives serial data from the SIN terminal. The RSR then deserializes the data and moves it
into the RBR FIFO. In the TL16C450 mode, when a character is placed in the RBR and the received data
available interrupt is enabled, an interrupt is generated. This interrupt is cleared when the data is read out of
the RBR. in the FIFO mode, the interrupts are generated based on the control setup in the FIFO control register.
scratch register
The scratch register is an 8-bit register that is intended for the programmer’s use as a scratchpad in the sense
that it temporarily holds the programmer’s data without affecting any other ACE operation.
transmitter holding register (THR)
The ACE transmitter section consists of a THR and a transmitter shift register (TSR). The THR is actually a
16-byte FIFO. Timing is suppled by the baud out (BAUDOUT
function of the ACE line control register.
) clock signal. Transmitter section control is a
The ACE THR receives data off the internal data bus and, when the shift register is idle, moves it into the TSR.
The TSR serializes the data and outputs it at the serial output (SOUT). In the TL16C450 mode, when the THR
is empty and the transmitter holding register empty (THRE) interrupt is enabled, an interrupt is generated. This
interrupt is cleared when a character is loaded into the register. In the FIFO mode, the interrupts are generated
based on the control setup in the FIFO control register.
30
POST OFFICE BOX 655303 • DALLAS, TEXAS 75265
IMPORTANT NOTICE
T exas Instruments (TI) reserves the right to make changes to its products or to discontinue any semiconductor
product or service without notice, and advises its customers to obtain the latest version of relevant information
to verify, before placing orders, that the information being relied on is current and complete.
TI warrants performance of its semiconductor products and related software to the specifications applicable at
the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are
utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each
device is not necessarily performed, except those mandated by government requirements.
Certain applications using semiconductor products may involve potential risks of death, personal injury, or
severe property or environmental damage (“Critical Applications”).
TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED, OR WARRANTED
TO BE SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER
CRITICAL APPLICATIONS.
Inclusion of TI products in such applications is understood to be fully at the risk of the customer. Use of TI
products in such applications requires the written approval of an appropriate TI officer . Questions concerning
potential risk applications should be directed to TI through a local SC sales office.
In order to minimize risks associated with the customer’s applications, adequate design and operating
safeguards should be provided by the customer to minimize inherent or procedural hazards.
TI assumes no liability for applications assistance, customer product design, software performance, or
infringement of patents or services described herein. Nor does TI warrant or represent that any license, either
express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property
right of TI covering or relating to any combination, machine, or process in which such semiconductor products
or services might be or are used.
Copyright 1998, Texas Instruments Incorporated
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.