INTERSIL MD82C50A-5B

82C50A
CMOS Asynchronous
Communications Element
March 1997
Features
Description
•
•
•
•
The 82C50A Asynchronous Communication Element (ACE)
is a high performance programmable Universal Asynchronous Receiver/Transmitter (UART) and Baud Rate Generator (BRG) on a single chip. Using Intersil’s advanced Scaled
SAJI IV CMOS Process, the ACE will support data rates
from DC to 625K baud (0-10MHz clock).
•
•
•
•
•
•
•
•
•
•
•
Single Chip UART/BRG
DC to 625K Baud (DC to 10MHz Clock)
Crystal or External Clock Input
On Chip Baud Rate Generator 1 to 65535 Divisor
Generates 16X Clock
Prioritized Interrupt Mode
Fully TTL/CMOS Compatible
Microprocessor Bus Oriented Interface
80C86/80C88 Compatible
Scaled SAJI IV CMOS Process
Low Power - 1mA/MHz Typical
Modem Interface
Line Break Generation and Detection
Loopback and Echo Modes
Doubled Buffered Transmitter and Receiver
Single 5V Supply
The ACE’s receiver circuitry converts start, data, stop, and
parity bits into a parallel data word. The transmitter circuitry
converts a parallel data word into serial form and appends
the start, parity, and stop bits. The word length is programmable to 5, 6, 7, or 8 data bits. Stop bit selection provides a
choice of 1,1.5, or 2 stop bits.
The Baud Rate Generator divides the clock by a divisor
programmable from 1 to 216-1 to provide standard RS-232C
baud rates when using any one of three industry standard
baud rate crystals (1.8432MHz, 2.4576MHz, or 3.072MHz).
A programmable buffered clock output (BAUDOUT) provides
either a buffered oscillator or 16X (16 times the data rate)
baud rate clock for general purpose system use.
Ordering Information
PACKAGE
PDIP
PLCC
CERDIP
TEMPERATURE
RANGE (oC)
625K BAUD
PKG.
NO.
0 to +70
CP82C50A-5
E40.6
-40 to +85
IP82C50A-5
E40.6
0 to +70
CS82C50A-5
N44.65
-40 to +85
IS82C50A-5
N44.65
0 to +70
CD82C50A-5
F40.6
-40 to +85
ID82C50A-5
F40.6
-55 to +125
MD82C50A-5/B
F40.6
To meet the system requirements of a CPU interfacing to an
asynchronous channel, the modem control signals RTS,
CTS, DSR, DTR, RI, DCD are provided. Inputs and outputs
have been designed with full TTL/CMOS compatibility in
order to facilitate mixed TTL/NMOS/CMOS system design.
Functional Diagram
CSO
CS1
12
13
CS2
14
ADS
25
A0
A1
A2
28
27
26
MR
35
DISTR
22
DISTR
21
MICROPROCESSOR INTERFACE
INTERRUPT
ENABLE,
ID, & CONTROL
24
CSOUT
23
DDIS
30
INTRPT
UART
RECEIVER
DOSTR 18
1
2
3
4
5
6
7
D7
8
SIN
9
RCLK
15 BAUDOUT
LINE STATUS
AND CONTROL
DOSTR 19
D0
D1
D2
D3
D4
D5
D6
10
DIVISOR LATCH
AND BAUD RATE
GENERATOR
TRANSMITTER
MODEM
MODEM CONTROL
MODEM STATUS
CAUTION: These devices are sensitive to electrostatic discharge; follow proper IC Handling Procedures.
http://www.intersil.com or 407-727-9207 | Copyright © Intersil Corporation 1999
1
16
17
XTAL1
XTAL2
11
SOUT
32
RTS
33
DTR
34
OUT1
31
36
OUT2
CTS
37
DSR
38
DCD
39
RI
File Number
2958.1
82C50A
Pinouts
82C50A (PDIP, CERDIP)
TOP VIEW
D0
1
40 VCC
D1
2
39 RI
D2
3
38 DCD
D3
4
37 DSR
D4
5
36 CTS
D5
6
35 MR
D6
7
34 OUT1
D7
8
33 DTR
RCLK
9
32 RTS
SIN
10
31 OUT2
SOUT
11
30 INTRPT
CS0
12
29 NC
CS1
13
28 A0
CS2
14
27 A1
BAUDOUT
15
26 A2
XTAL1
16
25 ADS
XTAL2
17
24 CSOUT
DOSTR
18
23 DDIS
DOSTR
19
22 DISTR
GND
20
21 DISTR
CTS
DSR
2
DCD
D0
3
RI
D1
4
VCC
D2
5
NC
D3
6
1 44 43 42 41 40
7
39
8
38
9
37
10
36
11
35
MR
OUT1
DTR
RTS
OUT2
NC
12
34
NC
SOUT
CS0
CS1
CS2
BAUDOUT
13
33
INTRP
14
32
NC
15
31
16
30
A0
A1
A2
17
29
2
ADS
CSOUT
DDIS
DISTR
DISTR
NC
GND
DOSTR
DOSTR
XTAL2
18 19 20 21 22 23 24 25 26 27 28
XTAL1
D5
D6
D7
RCLK
SIN
D4
82C50A (PLCC)
TOP VIEW
82C50A
Pin Description
SYMBOL
PIN
NUMBER
TYPE
ACTIVE
LEVEL
DISTR,
DISTR
22
21
I
I
H
L
DESCRIPTION
DATA IN STROBE, DATA IN STROBE: DISTR, DISTR are read inputs which cause
the 82C50A to output data to the data bus (D0-D7). The data output depends upon
the register selected by the address inputs A0, A1, A2. The chip select inputs CS0,
CS1, CS2 enable the DISTR, DISTR inputs.
Only an active DISTR or DISTR, not both, is used to receive data from the 82C50A
during a read operation. If DISTR is used as the read input, DlSTR should be tied
high. If DISTR is used as the active read input, DISTR should be tied low.
DOSTR,
DOSTR
19
18
I
I
H
L
DATA OUT STROBE, DATA OUT STROBE: DOSTR, DOSTR are write inputs which
cause data from the data bus (D0-D7) to be input to the 82C50A. The data input depends upon the register selected by the address inputs A0, A1, A2. The chip select
inputs CS0, CS1, CS2 enable the DOSTR, DOSTR inputs.
Only an active DOSTR or DOSTR, not both, is used to transmit data to the 82C50A
during a write operation. If DOSTR is used as the write input, DOSTR should be tied
high. If DOSTR is used as the write input, DOSTR should be tied low.
D0-D7
1-8
I/O
DATA BITS 0-7: The Data Bus provides eight, three-state input/output lines for the
transfer of data, control and status information between the 82C50A and the CPU.
For character formats of less than 8 bits, D7, D6 and D5 are “don’t cares” for data
write operations and 0 for data read operations. These lines are normally in a high
impedance state except during read operations. D0 is the Least Significant Bit (LSB)
and is the first serial data bit to be received or transmitted.
A0, A1,
A2
28, 27,
26
I
I
XTAL1,
XTAL2
16
17
I
O
CRYSTAL/CLOCK: Crystal connections for the internal Baud Rate Generator.
XTAL1 can also be used as an external clock input, in which case XTAL2 should be
left open.
SOUT
11
O
SERIAL DATA OUTPUT: Serial data output from the 82C50A transmitter circuitry. A
Mark (1) is a logic one (high) and Space (0) is a logic zero (low). SOUT is held in the
Mark condition when the transmitter is disabled, MR is true, the Transmitter Register
is empty, or when in the Loop Mode. SOUT is not affected by the CTS input.
GND
20
CTS
36
DSR
DTR
H
REGISTER SELECT: The address lines select the internal registers during CPU
bus operations. See Table 1.
L
GROUND: Power supply ground connection (VSS).
I
L
CLEAR TO SEND: The logical state of the CTS pin is reflected in the CTS bit of the
(MSR) Modem Status Register (CTS is bit 4 of the MSR, written MSR (4)). A change
of state in the CTS pin since the previous reading of the MSR causes the setting of
DCTS (MSR(O)) of the Modem Status Register. When CTS pin is ACTIVE (low), the
modem is indicating that data on SOUT can be transmitted on the communications
link. If CTS pin goes INACTIVE (high), the 82C50A should not be allowed to transmit
data out of SOUT. CTS pin does not affect Loop Mode operation.
37
I
L
DATA SET READY: The logical state of the DSR pin is reflected in MSR(5) of the
Modem Status Register. DDSR (MSR(1)) indicates whether the DSR pin has
changed state since the previous reading of the MSR. When the DSR pin is ACTIVE
(low), the modem is indicating that it is ready to exchange data with the 82C50A,
while the DSR Pin INACTIVE (high) indicates that the modem is not ready for data
exchange. The ACTIVE condition indicates only the condition of the local Data Communications Equipment (DCE), and does not imply that a data circuit as been established with remote equipment.
33
O
L
DATA TERMINAL READY: The DTR pin can be set (low) by writing a logic 1 to
MCR(0), Modem Control Register bit 0. This signal is cleared (high) by writing a logic
0 to the DTR bit (MCR(0)) or whenever a MR ACTIVE (high) is applied to the
82C50A. When ACTIVE (low), DTR pin indicates to the DCE that the 82C50A is
ready to receive data. In some instances, DTR pin is used as a power on indicator.
The INACTIVE (high) state causes the DCE to disconnect the modem from the telecommunications circuit.
3
82C50A
Pin Description
(Continued)
SYMBOL
PIN
NUMBER
TYPE
ACTIVE
LEVEL
RTS
32
O
L
BAUDOUT
15
O
OUT1
34
O
L
OUTPUT 1: This is a general purpose output that can be programmed ACTIVE
(low) by settingVCR(2) (OUT1) of the Modem Control Register to a high level. The
OUT1 pin is set high by Master Reset. The OUT1 pin is INACTIVE (high) during loop
mode operation.
OUT2
31
O
L
OUTPUT 2: This is a general purpose output that can be programmed ACTIVE
(low) by setting MCR(3) (OUT1) of the Modem Control Register to a high level. The
OUT2 pin is set high by Master Reset. The OUT2 signal is INACTIVE (high) during
loop mode operation.
RI
39
1
L
RING INDICATOR: When low, RI indicates that a telephone ringing signal has been
received by the modem or data set. The RI signal is a modem control input whose
condition is tested by reading MSR(6) (RI). The Modem Status Register output TERI
(MSR(2)) indicates whether the RI input has changed from a Low to High since the
previous reading of the MSR. If the interrupt is enabled (IER (3) = 1) and RI changes
from a Low to High, an interrupt is generated. The ACTIVE (low) state of RI indicates
that the DCE is receiving a ringing signal. RI will appear ACTIVE for approximately
the same length of time as the ACTIVE segment of the ringing cycle. The INACTIVE
state of RI will occur during the INACTIVE segments not detected by the DCE. This
circuit is not disabled by the INACTIVE condition of DTR.
DCD
38
I
L
DATA CARRIER DETECT: When ACTIVE (low), DCD indicates that the data carrier
has been detected by the modem or data set. DCD is a modem input whose condition can be tested by the CPU by reading MSR(7) (DCD) of the Modem Status Register. MSR(3) (DDCD) of the Modem Status Register indicates whether the DCD
input has changed since the previous reading of the MSR. DOD has no effect on the
receiver. If the DCD changes state with the modem status interrupt enabled, an interrupt is generated.
DESCRIPTION
REQUEST TO SEND: The RTS signal is an output used to enable the modem. The
RTS pin is set low by writing a logic 1 to MCR (1) bit 1 of the Modem Control Register. The RTS pin is reset high by Master Reset. When ACTIVE, the RTS pin indicates
to the DCE that the 82C50A has data ready to transmit. In half duplex operations,
RTS is used to control the direction of the line.
BAUDOUT: This output is a 16X clock out used for the transmitter section (16X =
16 times the data rate). The BAUDOUT clock rate is equal to the reference oscillator
frequency divided by the specified divisor in the Baud Rate Generator Divisor Latches DLL and DLM. BAUDOUT may be used by the Receiver section by tying this output to RCLK.
When DCD is ACTIVE (low), the received line signal from the remote terminal is
within the limits specified by the DCE manufacturer. The INACTIVE (high) signal indicates that the signal is not within the specified limits, or is not present.
MR
35
1
H
MASTER RESET: The MR input forces the 82C50A into an idle mode in which all
serial data activities are suspended. The Modem Control Register (MCR) along with
its associated outputs are cleared. The Line Status Register (LSR) is cleared except
for the THRE and TEMT bits, which are set. The 82C50A remains in an idle state
until programmed to resume serial data activities. The MR input is a Schmitt trigger
input. See the DC Electrical Characteristics for Schmitt trigger logic input voltage
levels. See Table 7 for a summary of Master Reset’s effect on 82C50A operation.
lNTRPT
30
O
H
INTERRUPT REQUEST: The lNTRPT output goes ACTIVE (high) when one of the
following interrupts has an ACTIVE (high) condition and is enabled by the Interrupt
Enable Register: Receiver Error flag, Received Data Available, Transmitter Holding
Register Empty, and Modem Status. The lNTRPT is reset low upon appropriate service or a MR operation. See Figure 1. Interrupt Control Structure.
SIN
10
I
H
SERIAL DATA INPUT: The SIN input is the serial data input from the communication
line or modem to the 82C50A receiver circuits. A mark (1) is high, and a space (0)
is low. Data inputs on SIN are disabled when operating in the loop mode.
4
82C50A
Pin Description
(Continued)
SYMBOL
PIN
NUMBER
VCC
40
CS0, CS1,
CS2
12,13,
14
NC
29
CSOUT
24
O
H
CHIP SELECT OUT: When ACTIVE (high), this pin indicates that the chip has been
selected by active CS0, CS1, and CS2 inputs. No data transfer can be initiated until
CSOUT is a logic 1, ACTIVE (high).
DDIS
23
O
H
DRIVER DISABLE: This output is INACTIVE (low) when the CPU is reading data
from the 82C50A. An ACTIVE (high) Dells output can be used to disable an external
transceiver when the CPU is reading data.
ADS
25
I
L
ADDRESS STROBE: When ACTIVE (low), ADS latches the Register Select (A0,
A1, A2) and Chip Select (CS0, CS1, CS2) inputs. An active ADS is required when
the Register Select pins are not stable for the duration of the read or write operation,
multiplexed mode. If not required, the ADS input should be tied low, non-multiplexed
mode.
RCLK
9
I
TYPE
I
I
ACTIVE
LEVEL
DESCRIPTION
H
VCC: +5V positive power supply pin. A 0.1µA decoupling capacitor from VCC (pin
40) to GND (pin 20) is recommended.
H, H,
L
CHIP SELECT: The Chip Select inputs act as enable signals for the write (DOSTR,
DOSTR) and read (DlSTR, DlSTR) input signals. The Chip Select inputs are latched
by the ADS input.
Do Not Connect
This input is the 16X Baud Rate Clock for the receiver section of the 82C50A. This
input may be provided from the BAUDOUT output or an external clock.
Block Diagram
(1 - 8)
D7 - D0
+5V
GND
A0
A1
A2
CS0
CS1
CS2
ADS
MR
DISTR
DISTR
DOSTR
DOSTR
DDIS
CSOUT
XTAL1
XTAL2
(40)
(20)
DATA BUS
BUFFER
POWER
SUPPLY
(28)
(27)
(26)
(12)
(13)
(14)
(25)
RECEIVER BUFFER
REGISTER
RECEIVER SHIFT
RECEIVER
LINE CONTROL
REGISTER
RECEIVER TIMING
& CONTROL
DIVISOR
LATCH (LS)
DIVISOR
LATCH (MS)
SELECT
&
CONTROL
LOGIC
(35)
(22)
(21)
(19)
(18)
(23)
(24)
(16)
LINE STATUS
REGISTER
MODEM STATUS
REGISTER
INTERRUPT ENABLE
REGISTER
INTERRUPT IO
REGISTER
5
SIN
RCLK
BAUDOUT
TRANSMITTER
TIMING & CONTROL
MODEM CONTROL
REGISTER
SCRATCH
REGISTER
(9)
(15)
BAUD RATE
GENERATOR
TRANSMITTER
HOLDING REGISTER
(17)
(10)
INTERRUPT
CONTROL
LOGIC
TRANSMITTER
SHIFT REGISTER
(11)
SOUT
MODEM
CONTROL
LOGIC
(32)
(33)
(34)
(31)
(36)
(37)
(38)
(39)
RTS
DTR
OUT1
OUT2
CTS
DSR
DCD
RI
(30)
INTRPT
82C50A
Accessible Registers
The three types of internal registers in the 82C50A used in
the operation of the device are control, status, and data
registers. The control registers are the Bit Rate Select
Register DLL and DLM, Line Control Register, Interrupt
Enable Register and the Modem Control registers, while the
status registers are the Line Status Registers and the
Modem Status Register. The data registers are the Receiver
Buffer Register and Transmitter Holding Register. The
Address, Read, and Write inputs are used in conjunction
with the Divisor Latch Access Bit in the Line Control Register
(LCR(7)) to select the register to be written or read (see
Table 1.). Individual bits within these registers are referred to
by the register mnemonic and the bit number in parenthesis.
An example, LCR(7) refers to Line Control Register Bit 7.
TABLE 1. ACCESSING 82C50A INTERNAL REGISTERS
The Transmitter Buffer Register and Receiver Buffer Register are data registers holding from 5-8 data bits. If less than
eight data bits are transmitted, data is right justified to the
LSB. Bit 0 of a data word is always the first serial data bit
received and transmitted. The 82C50A data registers are
double buffered so that read and write operations can be
performed at the same time the UART is performing the parallel to serial and serial to parallel conversion. This provides
the microprocessor with increased flexibility in its read and
write timing.
DLAB
A2
A1
A0
MNEMONIC
0
0
0
0
RBR
Receiver Buffer
Register (read only)
REGISTER
0
0
0
0
THR
Transmitter Holding
Register (write only)
0
0
0
1
lER
Interrupt Enable
Register
X
0
1
0
IIR
Interrupt Identification Register
(read only)
X
0
1
1
LCR
Line Control Register
X
1
0
0
MCR
Modem Control
Register
X
1
0
1
LSR
Line Status Register
X
1
1
0
MSR
Modem Status
Register
X
1
1
1
SCR
Scratch Register
1
0
0
0
DLL
Divisor Latch (LSB)
1
0
0
1
DLM
Divisor Latch (MSB)
NOTE: X = “Don’t Care”, 0 = Logic Low, 1 = Logic High
Line Control Register (LCR)
LCR LCR LCR LCR LCR LCR LCR LCR
7
6
5
4
3
2
1
0
Word
Length
Select
0
0
1
1
0 = 5 Data Bits
1 = 6 Data Bits
0 = 7 Data Bits
1 = 8 Data Bits
Stop
Bit
Select
0 = 1 Stop Bit
1 = 1.5 Stop Bits if 5 Data Bit Word Length is Selected 2 Stop Bits if
6, 7, or 8 Data Bit Word Length is Selected
Parity
Enable
0 = Parity Disabled
1 = Parity Enabled (Generated & Checked)
Even Parity 0 = Odd Parity When Parity is Enabled
Select
1 = Even Parity When Parity is Enabled
Stick Parity 0 = Stick Parity Disabled
1 = When Parity is Enabled Forces the Transmission and Checking
of a Parity Bit of a Known State. Parity Bit Forced to a Logic 1 if
LCR (4) = 0 or to a Logic 0 If LCR (4) = 1.
Break
Control
0 = Break Disabled
1 = Break Enabled. The Serial Output (SOUT) is Forced to the
Spacing (Logic 0) State.
Divisor
Latch
Access Bit
0 = Must be Low to Access the Receiver Buffer. Transmitter Holding
Register or the Interrupt Enable Register.
1 = Must be High to Access the Divisor Latches DLL and DLM of the
Baud Rate Generator During a Read or Write Operation.
6
82C50A
LINE CONTROL REGISTER (LCR)
1. Load an all Os pad character in response to THRE.
The format of the data character is controlled by the Line
Control Register. The contents of the LCR may be read,
eliminating the need for separate storage of the line characteristics in system memory. The contents of the LCR are
described below.
2. Set break in response to the next THRE.
LCR Bits 0 thru 7
LCR(7) Divisor Latch Access Bit (DLAB): LCR(7) must
be set high (logic 1) to access the Divisor Latches DLL and
DLM of the Baud Rate Generator during a read or write
operation. LCR(7) must be input low to access the Receiver
Buffer, the Transmitter Holding Register, or the Interrupt
Enable Register.
LCR
LCR
LCR
LOR
LCR
LOR
LOR
LCR
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
3. Wait for the transmitter to be idle, (TEMT = 1), and clear
break when normal transmission has to be restored.
During the break, the transmitter can be used as a character
timer to accurately establish the break duration.
Word Length Select Bit 0 (WLS0)
Word Length Select Bit 1 (WLS1)
Stop Bit Select (STB)
Parity Enable (PEN)
Even Parity Select (EPS)
Stick Parity
Set Break
Divisor Latch Access Bit (DLAB)
LINE STATUS REGISTER (LSR)
The LSR is a single register that provides status indications.
The LSR is usually the first register read by the CPU to
determine the cause of an interrupt or to poll the status of
the 82C50A.
LCR(0) and LCR(1) Word Length Select Bit 0, Word
Length Select Bit 1: The number of bits in each transmitted
or received serial character is programmed as follows:
LCR(1)
LCR(0)
WORD LENGTH
0
0
5 Bits
0
1
6 Bits
1
0
7 Bits
1
1
8 Bits
Three error flags OE, FE, and PE provide the status of any
error conditions detected in the receiver circuitry. During
reception of the stop bits, the error flags are set high by an
error condition. The error flags are not reset by the absence
of an error condition in the next received character. The flags
reflect the last character only if no overrun occurred. The
Overrun Error (OE) indicates that a character in the Receiver
Buffer Register has been overwritten by a character from the
Receiver Shift Register before being read by the CPU. The
character is lost. Framing Error (FE) indicates that the last
character received contained incorrect (low) stop bits. This is
caused by the absence of the required stop bit or by a stop
bit too short to be detected. Parity Error (PE) indicates that
the last character received contained a parity error based on
the programmed and calculated parity of the received
character.
LCR(2) Stop Bit Select: LCR(2) specifies the number of
stop bits in each transmitted character. If LCR(2) is a logic 0,
one stop bit is generated in the transmitted data. If LCR(2) is
a logic 1 when a 5-bit word length is selected, 1.5 stop bits
are generated. If LCR(2) is a logic 1 when either a 6-, 7-, or
8-bit word length is selected, two stop bits are generated.
The receiver checks for two stop bits if programmed.
The Break Interrupt (BI) status bit indicates that the last
character received was a break character. A break character
is an invalid data character, with the entire character,
including parity and stop bits, logic zero.
LCR(3) Parity Enable: When LCR(3) is high, a parity bit
between the last data word bit and stop bit is generated and
checked.
LCR(4) Even Parity Select: When parity is enabled
(LCR(3) = 1), LCR(4) = 0 selects odd parity, and LCR(4) = 1
selects even parity.
The Transmitter Holding Register Empty (THRE) bit
indicates that the THR register is empty and ready to receive
another character. The Transmission Shift Register Empty
(TEMT) bit indicates that the Transmitter Shift Register is
empty, and the 82C50A has completed transmission of the
last character. If the interrupt is enabled (lER(1)), an active
THRE causes an interrupt (INTRPT).
LCR(5) Stick Parity: When parity is enabled (LCR(3) = 1),
LCR(5) = 1 causes the transmission and reception of a parity
bit to be in the opposite state from that indicated by LCR(4).
This allows the user to force parity to a known state and for
the receiver to check the parity bit in a known state.
The Data Ready (DR) bit indicates that the RBR has been
loaded with a received character (including Break) and that
the CPU may access this data.
LCR(6) Break Control: When LCR(6) is set to logic-1, the
serial output (SOUT) is forced to the spacing (logic 0) state.
The break is disabled by setting LCR(6) to a logic-0. The
Break Control bit acts only on SOUT and has no effect on
the transmitter logic. Break Control enables the CPU to alert
a terminal in a computer communications system. If the
following sequence is used, no erroneous or extraneous
characters will be transmitted because of the break.
Reading the LSR clears LSR (1) - LSR (4). (OE, PE, FE and
BI).
7
82C50A
When the THRE interrupt is enabled (IER(1) = 1), THRE
causes a priority 3 interrupt in the lIR. If THRE is the
interrupt source indicated in IIR, lNTRPT is cleared by a
read of the IIR.
LSR BITS 0 THRU 7
LOGIC 1
LOGIC 0
Ready
Not Ready
LSR
(0) Data Ready (DR)
LSR
(1) Overrun Error (OE)
Error
No Error
LSR
(2) Parity Error (PE)
Error
No Error
LSR
(3) Framing Error (FE)
Error
No Error
LSR
(4) Break Interrupt (BI)
Break
No Break
LSR
(5) Transmitter Holding
Register Empty (THRE)
Empty
Not Empty
LSR
(6) Transmitter Empty (TEMT)
Empty
Not Empty
LSR
(7) Not Used
LSR(6) Transmitter Empty (TEMT): TEMT is set high
when the Transmitter Holding Register (THR) and the Transmitter Shift Register (TSR) are both empty. LSR(6) is reset
low when a character is loaded into the THR and remains
low until the character is transferred out of SOUT. TEMT is
not reset low by a CPU read of the LSR.
LSR(7): This bit is permanently set to logic 0.
MODEM CONTROL REGISTER (MCR)
The MCR controls the interface with the modem or data set
as described below. The MCR can be written and read. The
RTS, DTR, OUT1 and OUT2 outputs are directly controlled
by their control bits in this register. A high input asserts a
low (true) at the output pins.
The contents of the Line Status Register are indicated in the
above table and are described below.
LSR(0) Data Ready (DR): Data Ready is set high when an
incoming character has been received and transferred into
the Receiver Buffer Register. LSR(0) is reset low by a CPU
read of the data in the Receiver Buffer Register.
MCR BITS 0 THRU 7
LSR(1) Overrun Error (OE): Overrun Error indicates that
data in the Receiver Buffer Register was not read by the
CPU before the next character was transferred into the
Receiver Buffer Register, overwriting the previous character.
The OE indicator is reset whenever the CPU reads the contents of the Line Status Register.
LSR(2) Parity Error (PE): Parity Error indicates that the
received data character does not have the correct even or
odd parity, as selected by the Even Parity Select bit (LCR
(4)). The PE bit is set high upon detection of a parity error,
and is reset low when the CPU reads the contents of the
LSR.
LSR(3) Framing Error (FE): Framing Error indicates that
the received character did not have a valid stop bit. LSR(3) is
set high when the stop bit following the last data bit or parity
bit is detected as a zero bit (spacing level). The FE indicator
is reset low when the CPU reads the contents of the LSR.
MCR BIT
LOGIC 1
MCR BIT
LOGIC 0
MCR
(0) Data Terminal
Ready (DTR)
DTR
Output Low
DTR
Output High
MCR
(1) Request to Send
(RTS)
RTS
Output Low
RTS
Output High
MCR
(2) OUT1
OUT1
Output Low
OUT1
Output High
MCR
(3) OUT2
OUT2
Output Low
OUT2
Output High
MCR
(4) LOOP
LOOP
Enabled
LOOP
Disabled
MCR
(5) 0
MCR
(6) 0
MCR
(7) 0
MCR(0): When MCR(0) is set high, the DTR output is forced
low. When MCR(0) is reset low, the DTR output is forced
high. The DTR output of the 82C50A may be input into an
ElA inverting line driver as the 1488 to obtain the proper
polarity input at the modem or data set.
LSR(4) Break Interrupt (BI): Break Interrupt is set high
when the received data input is held in the spacing (logic 0)
state for longer than a full word transmission time (start bit +
data bits + parity + stop bits). The B indicator is reset when
the CPU reads the contents of the Line Status Register.
MCR(1): When MCR(1) is set high, the RTS output is forced
low. When MCR(1) is reset low, the RTS output is forced
high. The RTS output of the 82C50A may be input into an
ElA inverting line driver as the 1488 to obtain the proper
polarity input at the modem or data set.
LSR(1) - LSR(4) are the error conditions that produce a
Receiver Line Status interrupt (priority 1 interrupt in the
Interrupt Identification Register (IIR)) when any of the conditions are detected. This interrupt is enabled by setting lER
(2) = 1 in the Interrupt Enable Register.
MCR(2): When MCR(2) is set high, the OUT1 output is
forced low. When MCR(2) is reset low, the OUT1 output is
forced high. OUT1 is an user designated output.
LSR(5)
Transmitter
Holding
Register
Empty
(THRE): THRE indicates that the 82C50A is ready to accept
a new character for transmission. The THRE bit is set high
when a character is transferred from the Transmitter Holding
Register into the Transmitter Shift Register. LSR(5) is reset
low by the loading of the Transmitter Holding Register by the
CPU. LSR(5) is not reset by a CPU read of the LSR.
MCR(3): When MCR(3) is set high, the OUT2 output is
forced low. When MCR(3) is reset low, the OUT2 output is
forced high. OUT2 is an user designated output.
MCR(4): MCR(4) provides a local loopback feature for diagnostic testing of the 62C50A. When MCR(4) is set high,
8
82C50A
sor to verify the transmit and receive data paths of the
82C50A.
Serial Output (SOUT) is set to the marking (logic 1) state,
and the receiver data input Serial Input (SIN) is disconnected. The output of the Transmitter Shift Register is looped
back into the Receiver Shift Register input. The four modem
control inputs (CTS, DSR, DC, and RI) are disconnected.
The four modem control outputs (DTR, RTS, OUT1 and
OUT2) are internally connected to the four modem control
inputs. The modem control output pins are forced to their
inactive state (high). In the diagnostic mode, data
transmitted is immediately received. This allows the proces-
In the diagnostic mode, the receiver and transmitter
interrupts are fully operational. The modem control interrupts
are also operational, but the interrupt sources are now the
lower four bits of the MCR instead of the four modem control
inputs. The interrupts are still controlled by the Interrupt
Enable Register.
MCR(5) - MCR(7): These bits are permanently set to logic 0.
Modem Control Register (MCR)
MCR MCR MCR MCR MCR MCR MCR MCR
7
6
5
4
3
2
1
0
Data Terminal
Ready
0 = DTR Output High (Inactive)
1 = DTR Output Low (Active)
Request to
Send
0 = RTS Output High (Inactive)
1 = RTS Output Low (Active)
Out 1
0 = OUT 1 Output High (Inactive)
1 = OUT 1 Output Low (Active)
Out 2
0 = OUT 2 Output High (Inactive)
1 = OUT 2 Output Low (Active)
Loop
0 = Loop Disabled
1 = Loop Enabled
These Bits are Permanently Set to a Logic 0.
MODEM STATUS REGISTER (MSR)
MSR BITS 0 THRU 7
The MSR provides the CPU with status of the modem input
lines from the modem or peripheral device. The MSR allows
the CPU to read the modem signal inputs by accessing the
data bus interface of the 82C50A. In addition to the current
status information, four bits of the MSR indicate whether the
modem inputs have changed since the last reading of the
MSR. The delta status bits are set high when a control input
from the modem changes state, and reset low when the
CPU reads the MSR.
The modem input lines are CTS (pin 36), DSR (pin 37), RI
(pin 39), and DCD (pin 38). MSR(4) - MSR(7) are status indications of these lines. The status indications follow the status of the input lines. If the modem status interrupt in the
Interrupt Enable Register is enabled (IER(3)), a change of
state in a modem input signals will be reflected by the
modem status bits in the lIR register, and an interrupt
(lNTRPT) is generated. The MSR is a priority 4 interrupt.
The contents of the Modem Status Register are described
below:
MSR BIT
MNEMONIC
DESCRIPTION
MSR (1)
DDSR
Delta Data Set Ready
MSR (2)
TERI
Trailing Edge of Ring Indicator
MSR (0)
DCTS
Delta Clear To Send
MSR (3)
DDCD
Delta Data Carrier Detect
MSR (4)
CTS
Clear To Send
MSR (5)
DSR
Data Set Ready
MSR (6)
RI
MSR (7)
DCD
Ring Indicator
Data Carrier Detect
MSR(0) Delta Clear to Send (DCTS): DCTS indicates that
the CTS input (Pin-36) to the 82C50A has changed state
since the last time it was read by the CPU.
MSR(1) Delta Data Set Ready (DDSR): DDSR indicates
that the DSR input (Pin-37) to the 62C50A has changed
state since the last time it was read by the CPU.
MSR(2) Trailing Edge of Ring Indicator (TERI): TERI indicates that the RI input (Pin-39) to the 82C50A has Changed
state from Low to High since the last time it was read by the
CPU. High to Low transitions on RI do not activate TERI.
Note that the state (high or low) of the status bits are
inverted versions of the actual input pins.
MSR(3) Delta Data Carrier Detect (DDCD): DDCD indicates that the DCD input (Pin-36) to the 82C50A has
changed state since the last time it was read by the CPU.
MSR(4) Clear to Send (CTS): Clear to Send (CTS) is the
status of the CTS input (Pin-36) from the modem indicating
to the 82C50A that the modem is ready to receive data from
the 62C50A transmitter output (SOUT). If the 82C50A is in
9
82C50A
Check:
the loop mode (MCR(4)=1), MSR(4) is equivalent to RTS in
the MCR.
MSR(5) Data Set Ready (DSR): Data Set Ready (DSR) is a
status of the DSR input (Pin-37) from the modem to the
82C50A which indicates that the modem is ready to provide
received data to the 82C50A receiver circuitry. If the 82C50A
is in the loop mode (MCR(4) = 1), MSR(5) is equivalent to
DTR in the MCR.
The Divisor # 96 will divide the input frequency
1.8432MHz down to 19200 which is 16 times the
desired baud rate.
Divisor Latch Least Significant BYTE
DLL (0)
DLL (1)
DLL (2)
DLL (3)
DLL (4)
DLL (5)
DLL (6)
DLL (7)
MSR(6) Ring Indicator MSR(6): Indicates the status of the
RI input (Pin-39). If the 82C50A is in the loop mode (MCR(4)
= 1), MSR(6) is equivalent to OUT1 in the MCR.
MSR(7) Data Carrier Detect (MSR(7)): Data Carrier Detect
indicates the status of the Data Carrier Detect (DCD) input
(Pin-38). If the 82C50A is in the loop mode (MCR(4) = 1),
MSR(4) is equivalent to OUT2 of the MCR.
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Divisor Latch Most Significant BYTE
DLM (0)
DLM (1)
DLM (2)
DLM (3)
DLM (4)
DLM (5)
DLM (6)
DLM (7)
The modem status inputs (RI, DCD, DSR and CTS) reflect
the modem input lines with any change of status. Reading
the MSR register will clear the delta modem status indications but has no effect on the status bits. The status
bits reflect the state of the input pins regardless of the mask
control signals. If a DCTS, DDSR, TERI, or DDCD are true
and a state change occurs during a read operation (DlSTR,
DISTR), the state change is not indicated in the MSR. If
DCTS, DDSR, TERI, or DDCD are false and a state change
occurs during a read operation, the state change is indicated
after the read operation.
Bit 8
Bit 9
Bit 10
Bit 11
Bit 12
Bit 13
Bit 14
Bit 15
RECEIVER BUFFER REGISTER (RBR)
The receiver circuitry in the 82C50A is programmable for 5,
6, 7 or 8 data bits per character. For words of less than 8
bits, the data is right justified to the least significant bit (LSB
= Data Bit 0 (RBR(0)). Data Bit 0 of a data word (RBR(0)) is
the first data bit received. The unused bits in a character less
than 8 bits are output low to the parallel output by the
82C50A.
For LSR and MSR, the setting of status bits is inhibited
during status register read (DISTR, DlSTR) operations. If a
status condition is generated during a read (DlSTR, DISTR)
operation, the status bit is not set until the trailing edge of the
read (DISTR, DISTR).
Received data at the SIN input pin is shifted into the
Receiver Shift Register by the 16X clock provided at the
RCLK input. This clock is synchronized to the incoming data
based on the position of the start bit. When a complete character is shifted into the Receiver Shift Register, the assembled data bits are parallel loaded into the Receiver Buffer
Register. The DR flag in the LSR register is set.
If a status bit is set during a read (DlSTR, DISTR) operation,
and the same status condition occurs, that status bit will be
cleared at the trailing edge of the read (DlSTR, DISTR)
instead of being set again.
BAUD RATE SELECT REGISTER (BRSR)
The 82C50A contains a programmable Baud Rate Generator (BRG) that divides the clock (DC to 10MHz) by any divisor from 1 to 216-1 (see also BRG description). The output
frequency of the Baud Generator is 16X the data rate [divisor
# = frequency input ÷ (baud rate x 16)]. Two 8-bit divisor
latch registers store the divisor in a 16-bit binary format.
These Divisor Latch registers must be loaded during initialization. Upon loading either of the Divisor Latches, a 16-bit
Baud counter is immediately loaded. This prevents long
counts on initial load.
Double buffering of the received data permits continuous
reception of data without losing received data. While the
Receiver Shift Register is shifting a new character into the
82C50A, the Receiver Buffer Register is holding a previously
received character for the CPU to read. Failure to read the
data in the RBR before complete reception of the next character result in the loss of the data in the Receiver Register.
The OE flag in the LSR register indicates the overrun condition.
Sample Divisor Number Calculation:
RBR Bits 0 thru 7
Given:
Desired Baud Rate 1200 Baud
Frequency Input 1.8432MHz
Formula:
Divisor # = Frequency Input ÷ (Baud Rate x 16)
Divisor # = 1843200 ÷ (1200 x 16)
Answer:
Divisor # = 96 = 60HEX → DLL = 01100000
DLM = 00000000
RBR (0)
RBR (1)
RBR (2)
RBR (3)
RBR (4)
RBR (5)
RBR (6)
RBR (7)
10
Data Bit 0
Data Bit 1
Data Bit 2
Data Bit 3
Data Bit 4
Data Bit 5
Data Bit 6
Data Bit 7
82C50A
Interrupt Structure
TRANSMITTER HOLDING REGISTER (THR)
The Transmitter Holding Register (THR) holds parallel data
from the data bus (D0-D7) until the Transmitter Shift Register
is empty and ready to accept a new character for transmission. The transmitter and receiver word length and number
of stop bits are the same. If the character is less than eight
bits, unused bits at the microprocessor data bus are ignored
by the transmitter.
INTERRUPT IDENTIFICATION REGISTER (IIR)
The 82C50A has interrupt capability for interfacing to current
microprocessors. In order to minimize software overhead
during data character transfers, the 82C50A prioritizes
interrupts into four levels. The four levels of interrupt conditions are as follows:
Data Bit 0 (THR(0)) is the first serial data bit transmitted. The
THRE flag (LSR(5)) reflect the status of the THR. The TEMT
flag (LSR(6)) indicates if both the THR and TSR are empty.
1. Receiver Line Status (Priority 1)
2. Received Data Ready (Priority 2)
3. Transmitter Holding Register Empty (Priority 3)
THR Bits 0 thru 7
4. Modem Status (Priority 4).
THR (0)
THR (1)
THR (2)
THR (3)
THR (4)
THR (5)
THR (6)
THR (7)
Data Bit 0
Data Bit 1
Data Bit 2
Data Bit 3
Data Bit 4
Data Bit 5
Data Bit 6
Data Bit 7
Information indicating that a prioritized interrupt is pending
and the type of interrupt is stored in the Interrupt Identification Register (IIR). When addressed during chip select time,
the lIR indicates the highest priority interrupt pending. No
other interrupts are acknowledged until the interrupt is serviced by the CPU. The contents of the lIR are indicated in
Table 2 and are described below.
IIR(0): IIR(0) can be used in either a hardwired prioritized or
polled environment to indicate whether an interrupt is pending. When IIR(0) is low, an interrupt is pending, and the lIR
contents may be used as a pointer to the appropriate interrupt service routine. When lIR(0) is high, no interrupt is
pending.
SCRATCHPAD REGISTER (SCR)
This 8-bit Read/Write register has no effect on the 82C50A.
It is intended as a scratchpad register to be used by the programmer to hold data temporarily.
SCR Bits 0 thru 7
SCR (0)
SCR (1)
SCR (2)
SCR (3)
SOR (4)
SCR (5)
SOR (6)
SCR (7)
IlR(1) and IIR(2): llR(1) and IlR(2) are used to identify the
highest priority interrupt pending as indicated in Table 2.
Data Bit 0
Data Bit 1
Data Bit 2
Data Bit 3
Data Bit 4
Data Bit 5
Data Bit 6
Data Bit 7
lIR(3) - IIR(7): These five bits of the lIR are logic 0.
TABLE 2. INTERRUPT IDENTIFICATION REGISTER
INTERRUPT IDENTIFICATION
INTERRUPT SET AND RESET FUNCTIONS
PRIORITY
LEVEL
INTERRUPT
FLAG
INTERRUPT
SOURCE
None
None
INTERRUPT
RESET CONTROL
BIT 2
BIT 1
BIT 0
X
X
1
1
1
0
First
Receiver Line
Status
OE, PE, FE, or
BI
LSR Read
1
0
0
Second
Received Data
Available
Receiver Data
Available
RBR Read
0
1
0
Third
THRE
THRE
IIR Read if THRE is the
Interrupt Source or
THR Write
0
0
0
Fourth
Modem Status
CTS, DSR, RI,
DCD
MSR Read
NOTE: X = Not Defined, May Be 0 or 1
Register. Interrupts are enabled by setting the appropriate
bits of the IER high. Disabling the interrupt system inhibits
the Interrupt Identification Register and the active (high)
INTRPT output. All other system functions operate in their
normal manner, including the setting of the Line Status and
INTERRUPT ENABLE REGISTER (IER)
The Interrupt Enable Register (IER) is a Write register used
to independently enable the four 82C50A interrupts which
activate the interrupt (lNTRPT) output. All interrupts are disabled by resetting IER(0) - IER(3) of the Interrupt Enable
11
82C50A
Modem Status Registers. The contents of the Interrupt
Enable Register are indicated in Table 3 and are described
below.
DR (LSR BIT 0)
ERBFI (IER BIT 0)
IER(0): When programmed high (IER(0) = Logic 1), IER(0)
enables Received Data Available interrupt.
THRE (LSR BIT 5)
ETBEI (IER BIT 1)
IER(1): When programmed high (IER(1) = Logic 1), IER(1)
enables the Transmitter Holding Register Empty interrupt.
OE (LSR BIT 1)
PE (LSR BIT 2)
INTRPT
PIN 30
FE (LSR BIT 3)
BI (LSR BIT 4)
IER(2): When Programmed high (IER(2) = Logic 1), IER(2)
enables the Receiver Line Status interrupt.
ELSI (IER BIT 2)
DCTS (MSR BIT 0)
DDSR (MSR BIT 1)
TERI (MSR BIT 2)
DDCD (MSR BIT 3)
IER(3): When programmed high (IER(3) = Logic 1), IER(3)
enables the Modem Status interrupt.
IER(4) - IER(7): These four bits of the IER are logic 0.
EDSSI (IER BIT 3)
FIGURE 1. 82C50A INTERRUPT CONTROL STRUCTURE
TABLE 3. 82C50A ACCESSIBLE REGISTER SUMMARY
(NOTE: See Table 1 for how to access these registers.)
REGISTER BIT NUMBER
REGISTER
MNEMONIC
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
RBR
(Read Only)
Data Bit 7
(MSB)
Data Bit 6
Data Bit 5
Data Bit 4
Data Bit 3
Data Bit 2
Data Bit 1
Data Bit 0
(LSB)†
THR
(Write Only)
Data Bit 7
Data Bit 6
Data Bit 5
Data Bit 4
Data Bit 3
Data Bit 2
Data Bit 1
Data Bit 0
DLL
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
DLM
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
IER
0
0
0
0
(EDSSI)
Enable
Modem
Status
Interrupt
(ELSI)
Enable
Receiver
Line
Status
Interrupt
(ETBEI)
Enable
Transmitter
Holding
Register
Empty
Interrupt
(ERBFI)
Enable
Received
Data
Available
Interrupt
IIR
(Read Only)
0
0
0
0
0
Interrupt ID
Bit (1)
Interrupt ID
Bit (0)
“0” 1F
Interrupt
Pending
LCR
(DLAB)
Divisor
Latch
Access
Bit
Set Break
Stick Parity
(EPS)
Even Parity
Select
(PEN)
Parity
Enable
(STB)
Number
of Stop
Bits
(WLSB1)
Word
Length
Select
Bit 1
(WLSB0)
Word
Length
Select
Bit 0
MCR
0
0
0
Loop
Out 2
Out 1
(RTS)
Request
to Send
(DTR)
Data
Terminal
Ready
LSR
0
(TEMT)
Transmitter
Empty
(THRE)
Transmitter
Holding
Register
Empty
(BI)
Break
Interrupt
(FE)
Framing
Error
(PE)
Parity
Error
(OE)
Overrun
Error
(DR)
Data
Ready
MSR
(DCD)
Data
Carrier
Detect
(RI)
Ring
Indicator
(DSR)
Data
Set
Ready
(CTS)
Clear
to
Send
(DDCD)
Delta
Data
Carrier
Detect
(TERI)
Trailing
Edge
Ring
Indicator
(DDSR)
Delta
Data
Set
Ready
(DCTS)
Delta
Clear
to
Send
SCR
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
†LSB, Data Bit 0 is the first bit transmitted or received.
12
82C50A
Transmitter
Baud Rate Generator (BRG)
The serial transmitter section consists of a Transmitter Holding Register (THR), Transmitter Shift Register (TSR), and
associated control logic. The Transmitter Holding Register
Empty (THRE) and Transmitter Shift Register Empty (TEMT)
are two bits in the Line Status Register which indicate the
status of THR and TSR. To transmit a 5-8 bit word, the word
is written through D0-D7 to the THR. The microprocessor
should perform a write operation only if THRE is high. The
THRE is set high when the word is automatically transferred
from the THR to the TSR during the transmission of the start
bit.
The BRG generates the clocking for the UART function,
providing standard ANSI/CCITT bit rates. The oscillator
driving the BRG may be provided either with the addition of
an external crystal to the XTAL1 and XTAL2 inputs, or an
external clock into XTAL1. In either case, a buffered clock
output, BAUDOUT, is provided for other system clocking. If
two 82C50As are used on the same board, one can use a
crystal, and the buffered clock output can be routed directly
into the XTAL1 of the second 82C50A.
The data rate is determined by the Divisor Latch registers
DLL and DLM and the external frequency or crystal input,
with the BAUDOUT providing an output 16X the data rate.
The bit rate is selected by programming the two divisor
latches, Divisor Latch Most Significant Byte and Divisor
Latch Least Significant Byte. Setting DLL = 1 and DLM = 0
selects the divisor to divide by 1 (divide by 1 gives maximum
baud rate for a given input frequency at XTAL1). The on-chip
oscillator is optimized for a 10MHz crystal. Usually, higher
frequency are less expensive than lower frequency crystals.
When the transmitter is idle, both THRE and TEMT are high.
The first word written causes THRE to be reset to 0. After
completion of the transfer, THRE returns high. TEMT
remains low for at least the duration of the transmission of
the data word. If a second character is transmitted to the
THR, the THRE is reset low. Since the data word cannot be
transferred from the THR to the TSR until the TSR is empty,
THRE remains low until the TSR has completed transmission of the word. When the last word has been transmitted
out of the TSR, TEMT is set high. THRE is set high one THR
to TSR transfer time later.
The BRG can use any of three different popular crystals to
provide standard baud rates. The frequency of these three
common crystals on the market are 1.8432MHz,
2.4576MHz, and 3.072MHz. With these standard crystals,
standard bit rates from 50 to 38.5kbps are available. The following tables illustrate the divisors needed to obtain
standard rates using these three crystal frequencies.
Receiver
Serial asynchronous data is input into the SIN pin. The idle
state of the line providing the input into SIN is high. A start
bit detect circuit continually searches for a high to low transition from the idle state. When the transition is detected, a
counter is reset, and counts the 16X clock to 7 1/2, which is
the center of the start bit. The start bit is valid if the SIN is
still low at the mid bit sample of the start bit. Verifying the
start bit prevents the receiver from assembling an incorrect
data character due to a low going noise spike on the SIN
input.
TABLE 4. BAUD RATES USING 1.8432MHz CRYSTAL
The Line Control Register determines the number of data
bits in a character (LCR(0), LCR(1)), number of stop bits
LCR(2), if parity is used LCR(3), and the polarity of parity
LCR(4). Status information for the receiver is provided in the
Line Status Register. When a character is transferred from
the Receiver Shift Register to the Receiver Buffer Register,
the Data Received indication in LSR(0) is set high. The CPU
reads the Receiver Buffer Register through D0-D7. This read
resets LSR(0). If D0-D7 are not read prior to a new character
transfer from the RSR to the RBR, the overrun error status
indication is set in LSR(1). The parity check tests for even or
odd parity on the parity bit, which precedes the first stop bit.
If there is a parity error, the parity error is set in LSR (2).
There is circuitry which tests whether the stop bit is high. If it
is not, a framing error indication is generated in LSR(3).
The center of the start bit is defined as clock count 7 1/2. If
the data into SIN is a symmetrical square wave, the center of
the data cells will occur within ±3.125% of the actual center,
providing an error margin of 46.875%. The start bit can
begin as much as one 16X clock cycle prior to being
detected.
13
DESIRED
BAUD
RATE
DIVISOR USED TO
GENERATE
16 x CLOCK
PERCENT ERROR
DIFFERENCE BETWEEN
DESIRED AND ACTUAL
50
2304
-
75
1536
-
110
1047
0.026
134.5
857
0.058
150
768
-
300
384
-
600
192
-
1200
96
-
1800
64
-
2000
58
0.69
2400
48
-
3600
32
-
4800
24
-
7200
16
-
9600
12
-
19200
6
-
38400
3
-
56000
2
2.86
82C50A
TABLE 5. BAUD RATES USING 2.4576MHz CRYSTAL
TABLE 6. BAUD RATES USING 3.072MHz CRYSTAL
DESIRED
BAUD
RATE
DIVISOR USED TO
GENERATE
16 x CLOCK
PERCENT ERROR
DIFFERENCE BETWEEN
DESIRED AND ACTUAL
DESIRED
BAUD
RATE
DIVISOR USED TO
GENERATE
16 x CLOCK
PERCENT ERROR
DIFFERENCE BETWEEN
DESIRED AND ACTUAL
50
3072
-
50
3840
-
75
2048
-
75
2560
-
110
1396
0.026
110
1745
0.026
134.5
1142
0.0007
134.5
1428
0.034
150
1024
-
150
1280
-
300
512
-
300
640
-
600
256
-
600
320
-
1200
128
-
1200
160
-
1800
85
0.392
1800
107
0.312
2000
77
0.260
2000
96
-
2400
64
-
2400
80
-
3600
43
0.775
3600
53
0.628
4800
32
-
4800
40
-
7200
21
1.587
7200
27
1.23
9600
16
-
9600
20
-
19200
8
-
19200
10
-
38400
4
-
38400
5
-
Reset
logic associated with these register bits are also cleared
or turned off. Divisor Latches, Receiver Buffer Register,
Transmitter Buffer Register are not effected.
After powerup, the 82C50A Master Reset Schmitt trigger
input (MR) should be held high for TMRW ns to reset the
82C50A circuits to an idle mode until initialization. A high on
MR causes the following:
Following removal of the reset condition (MR low), the
82C50A remains in the idle mode until programmed.
1. Initializes the transmitter and receiver internal clock
counters.
A hardware reset of the 82C50A sets the THRE and TEMT
status bit in the LSR. When interrupts are subsequently
enabled, an interrupt occurs due to THRE.
2. Clears the Line Status Register (LSR), except for
Transmitter Shift Register Empty (TE MT) and Transmit
Holding Register Empty (THRE), which are set. The
Modem Control Register (MCR) is also cleared. All of the
discrete lines, memory elements and miscellaneous
A summary of the effect of a Master Reset on the 82C50A is
given in Table 7.
TABLE 7. 82C50A RESET OPERATIONS
REGISTER/SIGNAL
RESET CONTROL
RESET
Interrupt Enable Register
Master Reset
All Bits Low (0-3 forced and 4-7 permanent)
Interrupt Identification Register
Master Reset
Bit 0 is High, Bits 1 and 2 Low Bits 3-7 are
Permanently Low
Line Control Register
Master Reset
All Bits Low
MODEM Control Register
Master Reset
All Bits Low
Line Status Register
Master Reset
All Bits Low, Except Bits 5 and 6 are High
MODEM Status Register
Master Reset
Bit 0-3 Low Bits 4-7 Input Signal
SOUT
Master Reset
High
lntrpt (RCVR Errs)
Read LSR/MR
Low
lntrpt (RCVR Data Ready)
Read RBR/MR
Low
Read lIR/Write THR/MR
Low
Read MSR/MR
Low
lntrpt (THRE)
lntrpt (Modem Status Changes)
14
82C50A
TABLE 7. 82C50A RESET OPERATIONS (Continued)
REGISTER/SIGNAL
RESET CONTROL
RESET
Out2
Master Reset
High
RTS
Master Reset
High
DTR
Master Reset
High
Out1
Master Reset
High
Programming
TABLE 8. TYPICAL CRYSTAL OSCILLATOR CIRCUIT
The 82C50A is programmed by the control registers LCR,
lER, DLL and DLM, and MCR. These control words define
the character length, number of stop bits, parity, baud rate,
and modem interface.
PARAMETER
While the control registers can be written in any order, the
lER should be written to last because it controls the interrupt
enables. Once the 82C50A is programmed and operational,
these registers can be updated any time the 82C50A is not
transmitting or receiving data.
Frequency
1.0 to 10MHz
Type of Operation
Parallel Resonant, Fundamental
Mode
Load Capacitance (CL)
20 or 32pF (Typ)
RSERIES (Max)
100Ω (f = 10MHz, CL = 32pF)
200Ω (f = 10MHz, CL = 20pF)
The control signals required to access 82C50A internal registers are shown below.
Software Reset
XTAL1
A software reset of the 82C50A is a useful method for returning to a completely known state without a system reset.
Such a reset consists of writing to the LCR, Divisor Latches,
and MCR registers. The LSR and RBR registers should be
read prior to enabling interrupts in order to clear out any
residual data or status bits which may be invalid for subsequent operation.
PIN 16
CL
TO
BAUD RATE
GENERATOR
LOGIC
XTAL
XTAL2
Crystal Operation
CL
PIN 17
RS
82C50A
The 82C50A crystal oscillator circuitry is designed to operate with a fundamental mode, parallel resonant crystal. Table
8 shows the required crystal parameters and crystal circuit
configuration, respectively.
FIGURE 2. TYPICAL CRYSTAL OSCILLATOR CIRCUIT
When using an external clock source, the XTAL1 input is
driven and the XTAL2 output is left open. Power
consumption when using an external clock is typically 50%
of that required when using a crystal. This is due to the
sinusoidal nature of the drive circuitry when using a crystal.
The maximum frequency of the 82C50A is 10MHz with an
external clock or a crystal attached to XTAL1 and XTAL2.
Using the external clock or crystal, and a divide by one
divisor, the maximum BAUDOUT is 10MHz, and the
maximum data rate is 625Kbps.
15
82C50A
Absolute Maximum Ratings
Thermal Information
Supply Voltage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +8.0V
Input, Output or I/O Voltage . . . . . . . . . . . GND -0.5V to VCC +0.5V
Thermal Resistance (Typical, Note 1)
θJA (oC/W) θJC (oC/W)
CERDIP Package . . . . . . . . . . . . . . . .
35
10
Plastic DIP Package . . . . . . . . . . . . . .
50
N/A
Plastic LCC Package . . . . . . . . . . . . . .
46
N/A
Maximum Junction Temperature
Ceramic Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +175oC
Plastic Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +150oC
Max Storage Temperature Range . . . . . . . . . . . . . .-65oC to +150oC
Max Lead Temperature (Soldering 10s) . . . . . . . . . . . . . . . . +300oC
(Lead Tips Only for Surface Mount Packages)
Operating Conditions
Operating Voltage Range . . . . . . . . . . . . . . . . . . . . . +4.5V to +5.5V
Operating Temperature Range
C82C50A-5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0oC to +70oC
I82C50A-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -40oC to +85oC
M82C50A-5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55oC to +125oC
Die Characteristics
Gate Count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1788 Gates
CAUTION: Stresses above those listed in “Absolute Maximum Ratings” may cause permanent damage to the device. This is a stress only rating and operation of
the device at these or any other conditions above those indicated in the operational sections of this specification is not implied.
NOTES:
1. θJA is measured with the component mounted on an evaluation PC board in free air.
DC Electrical Specifications
SYMBOL
VIH
VCC = 5.0V ±10%, TA = 0oC to +70oC (C82C50A-5)
TA = -40oC to +85oC (l82C50A-5)
TA = -55oC to +125oC (M82C50A-5)
PARAMETER
Logical One Input Voltage
VIL
Logical Zero Input Voltage
VTH
Schmitt Trigger Logic One Input Voltage
VTL
Schmitt Trigger Logic Zero Input Voltage
MIN
MAX
UNITS
TEST CONDITIONS
2.0
-
V
I82C50A-5, C82C50A-5
2.2
-
V
M82C50A-5
-
0.8
V
2.0
-
V
MR Input 82C50A-5, C82C50A-5
2.2
-
V
M82C50A-5
-
0.8
V
MR Input
VIH (CLK)
Logical One Clock Voltage
VCC-0.8
-
V
External Clock
VlL (CLK)
Logical Zero Clock Voltage
-
0.8
V
External Clock
3.0
-
V
IOH = -2.5mA
VCC-0.4
-
V
IOH = -100µA
-
0.4
V
lOL = +2.5mA,
VOH
VOL
Output High Voltage
Output Low Voltage
II
Input Leakage Current
-1.0
+1.0
µA
VIN = GND or VCC, DIP Pins 9,10,12,
13, 14, 18, 19, 21, 22, 25-28, 35-39
IO
Input/Output Leakage Current
-10.0
+10.0
µA
VO = GND or VCC, DIP Pins 1-8
ICCOP
Operating Power Supply Current
-
6
mA
External Clock F = 2.4576MHz,
VCC = 5.5V, VIN = VCC or GND,
Outputs Open
ICCSB
Standby Supply Current
-
100
µA
VCC = 5.5V, VIN = VCC or GND,
Outputs Open
Capacitance
TA = 25oC
SYMBOL
CIN
COUT
CI/O
PARAMETER
TYPICAL
UNITS
TEST CONDITIONS
Input Capacitance
15
pF
FREQ = 1MHz, all measurements are
referenced to device GND
Output Capacitance
15
pF
I/O Capacitance
20
pF
16
82C50A
AC Electrical Specifications
VCC = 5.0V ±10%, TA = 0oC to +70oC (C82C50A-5)
TA = -40oC to +85oC (l82C50A-5)
TA = -55oC to +125oC (M82C50A-5)
Timing Requirements
82C50A-5
SYMBOL
PARAMETER
MIN
MAX
UNITS
(1)
TAW
Address Strobe Width
50
-
ns
(2)
TAS
Address Setup Time
60
-
ns
(3)
TAH
Address Hold Time
0
-
ns
(4)
TCS
Chip Select Setup Time
60
-
ns
(5)
TCH
Chip Select Hold Time
0
-
ns
(6)
TDIW
DISTR DlSTR Strobe Width
150
-
ns
(7)
TRC
Read Cycle Delay
270
-
ns
(8)
RC
Read Cycle = TAR + TDIW + TRC
500
-
ns
(9)
TDD
DISTR DlSTR to Driver Disable Delay
-
75
ns
(10)
TDDD
Delay From DISTR DlSTR to Data
-
120
ns
(11)
THZ
DlSTR DISTR to Floating Data Delay
10
75
ns
(12)
TDOW
DOSTR DOSTR Strobe Width
150
-
ns
(13)
TWC
Write Cycle Delay
270
-
ns
(14)
WC
Write Cycle = TAW + TDOW + TWC
500
-
ns
(15)
TDS
Data Setup Time
90
-
ns
(16)
TDH
Data Hold Time
60
-
ns
TEST CONDITIONS
Note 1
Note 1
Note 1
Note 1
NOTE:
1. “When using the 82C50A in the multiplexed mode (ADS operational), it will operate in 80C86/88 systems with a maximum 3MHz operating
frequency.”
AC Electrical Specifications
VCC = 5.0V ±10%, TA = 0oC to +70oC (C82C50A-5)
TA = -40oC to +85oC (l82C50A-5)
TA = -55oC to +125oC (M82C50A-5)
Timing
82C50A-5
SYMBOL
PARAMETER
MIN
MAX
UNITS
-
125
ns
Address Hold Time from DISTR DISTR
20
-
ns
Chip Select Hold Time from DISTR DISTR
20
-
ns
DEMULTIPLEXED OPERATION
(17)
TCSC
(18)
TRA
(19)
TRCS
Chip Select Output Delay from Select
(20)
TAR
DISTR DISTR Delay from Address
80
-
ns
(21)
TCSR
DISTR DISTR Delay from Chip Select
80
-
ns
(22)
TWA
Address Hold Time from DOSTR DOSTR
20
-
ns
(23)
TWCS
Chip Select Hold Time from DOSTR DOSTR
20
-
ns
(24)
TAW
DOSTR DOSTR Delay from Address
80
-
ns
(25)
TCSW
DOSTR DOSTR Delay from Select
80
-
ns
(26)
TMRW
Master Reset Pulse Width
500
-
ns
(27)
TXH
Duration of Clock High Pulse
40
-
ns
(28)
TXL
Duration of Clock Low Pulse
40
17
ns
TEST CONDITIONS
82C50A
AC Electrical Specifications
Timing
VCC = 5.0V ±10%, TA = 0oC to +70oC (C82C50A-5)
TA = -40oC to +85oC (l82C50A-5)
TA = -55oC to +125oC (M82C50A-5)
(Continued)
82C50A-5
SYMBOL
PARAMETER
MIN
MAX
UNITS
Baud Divisor
1
ns
TEST CONDITIONS
BAUD GENERATOR
(29)
N
(30)
TBLD
Baud Output Negative Edge Delay
-
216-1
250
(31)
TBHD
Baud Output Positive Edge Delay
-
250
ns
(32)
TLW
Baud Output Down Time
40
-
ns
TXL = 50ns
(33)
THW
Baud Output Up Time
40
-
ns
TXH = 50ns
RECEIVER
(34)
TSCD
Delay from RCLK to Sample Time
-
250
ns
(35)
TSlNT
Delay from Stop to Set Interrupt
1
1
BAUDOUT
Cycles
(36)
TRlNT
Delay from DISTR DISTR (RD RBR) to
Reset Interrupt
-
250
ns
TRANSMITTER
(37)
THR
Delay from DOSTR DOSTR to Reset Interrupt
-
250
ns
(38)
TlRS
Delay from Initial INTR Reset to Transmit Start
8
24
BAUDOUT
Cycles
(39)
TS1
Delay from Initial Write to Interrupt
16
32
BAUDOUT
Cycles
(40)
TSTl
Delay from Stop to Interrupt (THRE)
8
24
BAUDOUT
Cycles
(41)
TIR
Delay from DISTR DISTR (RD lIR) to Reset Interrupt
(THRE)
-
250
ns
-
500
ns
MODEM CONTROL
(42)
TMDO
Delay from DOSTR DOSTR to Output
(43)
TSIM
Delay to Set Interrupt from Modem Input
-
500
ns
(44)
TRIM
Delay to Reset Interrupt from DISTR DlSTR
(RD MSR)
-
500
ns
AC Test Circuit
TEST CONDITION DEFINITION TABLE
V1
R1
TEST
POINT
OUTPUT FROM
DEVICE UNDER TEST
IOH
IOL
V1
R1
C1
-2.5mA
+2.5mA
1.7V
520Ω
100pF
C1 (NOTE)
NOTE: Includes stay and jig capacitance.
AC Testing Input, Output Waveform
INPUT
VIH + 0.4V
OUTPUT
1.5V
1.5V
VIL - 0.4V
VOH
VOL
AC Testing: All input signals must switch between VIL -0.4V and
VIH +0.4V. Input rise and fall times are driven at 1ns/V.
18
82C50A
Timing Waveforms
tXH
(27)
2.0V
XTAL1
2.0V
0.8V
2.0V
0.8V
0.8V
tXL
(28)
FIGURE 3. EXTERNAL CLOCK INPUT
FIGURE 4. AC TEST POINTS
N
(29)
XTAL1
(31) tBHD
(30) tBLD
BAUD OUT
(÷1)
(31) tBHD
(30)
tBLD
BAUD OUT
(÷2)
(30)
tBLD
BAUD OUT
(÷3)
(30)
tBLD
tHW (33)
tLW (32)
tLW (32)
(33)
tHW
(31)
tBHD
tHW
(33)
tLW
(32)
tHW = (N - 2) XTAL1 CYCLES
(33)
(31)
tBHD
BAUD OUT
(÷N, N > 3)
(32)
tLW = 2XTAL1 CYCLES
NOTE: tBLD (÷1) is the only spec measure from XTL1 falling edge. All other tBLD’s and tBHD’s are measured from XTAL1 rising edge.
FIGURE 5. BAUDOUT TIMING
All Intersil semiconductor products are manufactured, assembled and tested under ISO9000 quality systems certification.
Intersil products are sold by description only. Intersil Corporation reserves the right to make changes in circuit design and/or specifications at any time without
notice. Accordingly, the reader is cautioned to verify that data sheets are current before placing orders. Information furnished by Intersil is believed to be accurate
and reliable. However, no responsibility is assumed by Intersil or its subsidiaries for its use; nor for any infringements of patents or other rights of third parties which
may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Intersil or its subsidiaries.
For information regarding Intersil Corporation and its products, see web site http://www.intersil.com
19
82C50A
Timing Waveforms
(Continued)
(1)
tAW
ADS
(3) tAH
(2) tAS
A2, A1, A0
VALID
CS2, CS1, CS0
(22) tWA†
(5) tCH
(4) tCS
VALID
(23)
tWCS†
(17)
tCSC†
CSOUT
(25)
tCSW†
(24)
tAW†
DOSTR/DOSTR
(14)
WC
(13)
tWC
(12)
tDOW
ACTIVE
ACTIVE
OR
ACTIVE
DISTR/DISTR
(15) tDS
DATA
D0-D7
†
(16) tDH
VALID DATA
Applicable only when ADS is tied low.
FIGURE 6. WRITE CYCLE
(1)
tAW
ADS
(3) tAH
(2) tAS
A2, A1, A0
VALID
(18) tRA†
(5) tCH
(4) tCS
CS2, CS1, CS0
VALID
(19)
tRCS†
(17)
tCSC†
CSOUT
(21)
tCSR†
(20)
tAR†
DISTR/DISTR
(8)
RC
(6)
tDIW
(7)
tRC
ACTIVE
ACTIVE
OR
DOSTR/DOSTR
ACTIVE
(9)
tDD
(9)
tDD
DD/S
DATA
D0-D7
(10)
tDDD
(11) tHZ
VALID DATA
†
Applicable only when ADS is tied low.
FIGURE 7. READ CYCLE
20
82C50A
Timing Waveforms
(Continued)
RCLK
tSCD (34)
8 CLKS
SAMPLE CLK
PARITY
START
SIN (RECEIVER INPUT DATA)
DATA BITS (5-8)
STOP
SAMPLE CLK
tSINT (35)
INTERRUPT
(DATA READY OR RCVR ERR)
tRINT
(36)
DISTR/DISTR
(READ REC DATA BUFFER OR ROLSR)
NOTE 2
ACTIVE
NOTES:
1. See Write Cycle Timing.
2. See Read Cycle Timing.
FIGURE 8. RECEIVER TIMING
START
SERIAL OUT
(SOUT)
INTERRUPT
(THRE)
PARITY
STOP
(1-2)
DATA (5-8)
(38)
tIRS
(37)
tHR
START
tSTI (40)
(37)
tHR
DOSTR/DOSTR
(WR THR)
NOTE 1
(39)
tSI
DISTR/DISTR
(RD IIR)
NOTE 2
tIR (41)
NOTES:
1. See Write Cycle Timing.
2. See Read Cycle Timing.
FIGURE 9. TRANSMITTER TIMING
ACTIVE
ACTIVE
DOSTR/DOSTR (WR MCR)
NOTE 1
tMDO
(42)
tMDO
(42)
RTS, DTR
OUT1, OUT2
CTS, DST, DCD
tRIM
(44)
INTERRUPT
(43) tSIM
tRIM
(44)
tSIM
(43)
DISTR/DISTR (RD MSR)
NOTE 2
ACTIVE
RI
NOTES:
1. See Write Cycle Timing.
2. See Read Cycle Timing.
FIGURE 10. MODEM CONTROLS TIMING
21
tSIM
(43)