Professional Documents
Culture Documents
PCI Dual UART With Printer Port: Features Applications
PCI Dual UART With Printer Port: Features Applications
Features Applications
• 3.3V or 5V Operation • Printer server
• Low Power • Portable backup units
• PCI compatible dual UART • Printer interface
o 16-Byte Transmit & Receive • Embedded applications
FIFOs • High speed modems
o Programmable Baud Rate • Monitoring equipment
Generators • Add-on I/O cards
o Modem Control Signals • Serial networking
o 5, 6, 7, & 8-bit Characters
o Even, Odd, No Parity, or Force Application Notes
Parity • AN-9835-2S1P-PCI5V
o Status report capability • AN-9835-2S1P-UPCI
o Compatible with 16C550
o Supports serial data rate up to 115 Evaluation Board
Kbps • MCS9835-EVB
• Multi-mode compatible Parallel Port
o SPP, PS/2, EPP, & ECP Modes
o Fast data rates up to 1.5 MByte/S
o 16-Byte FIFO
• Re-map function for legacy ports
• Programmable mode selection through
EEPROM
• 128-pin “Lead Free” QFP package
General Description
The MCS9835 is a PCI based dual-channel high Ordering Information
performance UART with enhanced bi-directional Commercial Grade (0 °C to +70 °C)
parallel controller. The MCS9835 offers 16-Byte
transmit and receive FIFOs for each UART channel MCS9835CV 128-QFP RoHS
and a 16-Byte FIFO for the printer channel. The
MCS9835 performs serial-to-parallel conversions The MCS9835 can be used in both 3.3V and 5V
on data received from a peripheral device, and PCI signaling environments.
parallel-to-serial conversions on data received
from its CPU. In addition, MCS9835 fully supports The MCS9835 is a pin-compatible replacement for
the existing Centronics printer interface as well as the previous Nm9835. The Nm9835 is no longer
PS/2, EPP, and ECP modes. offered. It was only warranted for use with a 5V
power supply, and was only intended to operate in
The MCS9835 is ideally suited for PC applications, 5V PCI signaling environments. The MCS9835’s
such as high speed COM ports and parallel new RoHS “Lead Free” package and 3.3V or 5V
ports. The MCS9835 is available in a 128-pin operation make it a much more flexible device that
QFP package. It is fabricated using an advanced is better suited for new designs.
submicron CMOS process to achieve low drain
power and high-speed requirements.
MosChip Semiconductor ♦ 3335 Kifer Rd, Santa Clara, CA 95051 ♦ Tel (408) 737-7141 ♦ Fax (408) 737-7708
MCS9835
PCI Dual UART with Printer Port
Block Diagram
TXA
nRTSA, nDTRA
RXA
Serial Port-A nCTSA, nDSRA, nCDA, nRIA
CLK
P P ACLK
nRESET
C C
AD0 - AD31 I I
TXB
nRTSB, nDTRB
nFRAME, nIRDY
I B
nLOCK, IDSEL, Serial Port-B RXB
N R nCTSB, nDSRB, nCDB, nRIB
T I BCLK
nTRDY, nSTOP,
nDEVSEL, E D
nPARR,nSERR
R G
F E PD0 - PD7
nC/BE0, nC/BE1,
nC/BE2, nC/BE3 A Standard nFAULT, SLCT, PE
C Printer Port nACK, BUSY
E nSTROBE, nAUTOFDX
nINIT, nSLCTIN
nINTA
PCI Clk
12XCLK
EEPROM
Clock Circuit 6XCLK
Interface 3XCLK
XTAL1
XTAL2
EE-EN
EE-CLK
EE-DO
EE-CS
EE-DI
Pin-Out
nRESET
EE-CLK
nDSRA
nDTRA
nCTSA
nRTSA
EE-DO
EE-EN
EE-CS
nINTA
EE-DI
nCDA
AD29
AD30
AD31
GND
GND
nRIA
GND
RXA
N.C.
N.C.
CLK
TXA
Vcc
Vcc
128
127
126
125
124
123
122
121
120
109
108
107
106
105
104
103
119
118
117
116
115
114
113
112
110
111
Vcc 1 102 N.C.
AD28 2 101 N.C.
AD27 3 100 N.C.
AD26 4 99 GND
AD25 5 98 PD7
AD24 6 97 PD6
GND 7 96 PD5
nC/BE3 8 95 PD4
IDSEL 9 94 GND
Vcc 10 93 PD3
AD23 11 92 PD2
AD22 12 91 PD1
AD21 13 90 PD0
MCS9835CV
AD20 14 89 Vcc
AD19 15 88 GND
AD18 16 87 PE
AD17 17 86 nACK
AD16 18 85 BUSY
Vcc 19 84 SLCT
GND 20 83 nFAULT
GND 21 82 Vcc
nC/BE2 22 81 nSTROBE
nFRAME 23 80 nAUTOFDX
nIRDY 24 79 nINIT
nTRDY 25 78 nSLCTIN
nDEVSEL 26 77 GND
nSTOP 27 76 TXB
nLOCK 28 75 nDTRB
nPERR 29 74 nRTSB
nSERR 30 73 RXB
PAR 31 72 nDSRB
nC/BE1 32 71 nCTSB
GND 33 70 nCDB
AD15 34 69 nRIB
AD14 35 68 N.C.
AD13 36 67 N.C.
AD12 37 66 Vcc
AD11 38 65 N.C.
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Vcc
AD10
AD9
AD8
nC/BE0
GND
GND
AD7
AD6
AD5
AD4
AD3
AD2
AD1
AD0
Vcc
3XCLK
6XCLK
BCLK
12XCLK
ACLK
GND
XTAL2
XTAL1
N.C.
N.C.
Pin Assignments
Initiator Ready.
During a write, nIRDY asserted indicates that the initiator is driving valid data onto
nIRDY 24 I
the data bus. During a read, nIRDY asserted indicates that the initiator is ready to
accept data from the target device.
Asserted to indicate that the target wishes the initiator to stop the transaction in
nSTOP 27 O
process on the current data phase.
nLOCK 28 I Indicates an atomic operation that may require multiple transactions to complete.
Parity.
Even Parity is applied across AD31-0 and nC/BE3-0. PAR is stable and valid one
PAR 31 I/O clock after the address phase. For the data phase, PAR is stable and valid one clock
after either nIRDY is asserted on a write transaction, or nTRDY is asserted on a
read transaction.
7,20,21,
33,44,45,
GND 60,77,88, Pwr Power and signal ground.
94,99,108
119,125
1,10,19,
39,54,66,
Vcc Pwr Supply. Voltage
82,89,104,
114
EEPROM EEPROM
Hex Data Description of Hex Data Description of
Address Address
(Word) Contents (Word) Contents
Location Location
0x00 9835 Device ID 0x20 0000
0x01 0000 0x21 0000
0x02 9710 Vendor ID 0x22 0000
0x03 0000 0x23 0000
0x04 0000 0x24 0000
0x05 0000 0x25 0000
0x06 0000 0x26 0000
0x07 0000 0x27 0000
0x08 0780 Class Code (23-8) 0x28 0000
0x09 0000 0x29 0000
0x0A 0001 Revision ID 0x2A 0000
0x0B 0000 0x2B 0000
0x0C 0000 Header 0x2C 0012 Subsystem ID
0x0D 0000 0x2D 0000
0x0E 0000 0x2E 1000 Subsystem Vendor ID
0x0F 0000 0x2F 0000
0x10 0000 0x30 0000
0x11 0000 0x31 0000
0x12 0000 0x32 0000
0x13 0000 0x33 0000
0x14 0000 0x34 0000
0x15 0000 0x35 0000
0x16 0000 0x36 0000
0x17 0000 0x37 0000
0x18 0000 0x38 0000
0x19 0000 0x39 0000
0x1A 0000 0x3A 0000
0x1B 0000 0x3B 0000
0x1C 0000 0x3C 0000
0x1D 0000 0x3D 0000
0x1E 0000 0x3E 0100 Interrupt Pin
0x1F 0000 0x3F 0000
The MCS9835 EEPROM controller reads the least significant byte and then the most significant byte in the
16-bit format. Therefore, when writing to each address in the EEPROM, the least significant byte must be
written first, followed by the most significant byte. For example, to write 9835 into address 0x00, the value
would be written as 35 98, where 35 is the least significant byte and is written first.
Changing the Device ID, Vendor ID, and Subsystem Vendor ID requires corresponding changes to the device
drivers for proper functioning of the MCS9835CV. These fields can be customized to meet user requirements.
The Subsystem ID can be changed to arrive at different product configurations using the EEPROM as shown
below.
Interrupt Identification Register (IIR) To clear the interrupts, specific registers must be read
An on-chip interrupt generation and prioritization or written. The actions needed to clear each type of
capability permits a flexible interface with most popular interrupt are listed below:
microprocessors.
Receive Data Error:
IIR Bit-0: Reading the LSR will clear this interrupt. Software
0 = An interrupt is pending. Used either in a hardware should save the LSR value after reading the register if
prioritized or polled interrupt system. it needs to remember the error condition.
1 = No interrupt is pending.
Receive Data Ready:
IIR Bits 3-1: Reading the RHR until the FIFO becomes empty will
There are five prioritized levels of interrupts: clear this interrupt.
FCR Bit-0:
0 = 16C450 mode, disables the transmitter and
receiver FIFO.
1 = Enables the transmitter and receiver FIFOs. This
bit must be set to 1 when other FCR bits are
written to or they are not programmed. Changing
this bit clears the FIFOs.
FCR Bit-1:
0 = Normal operation
1 = Clears all Bytes in the receiver FIFO and resets
its counter logic to 0. The shift register is not
cleared. The one that is written to this bit position
is self-clearing.
FCR Bit-2:
0 = Normal operation
1 = Clears all Bytes in the transmitter FIFO and
resets its counter logic to 0. The shift register
is not cleared. The one that is written to this bit
position is self-clearing.
Line Status Register (LSR) character in the FIFO to which it applies. This
The Line Status Register provides information error is reported when its associated character
concerning the status of data transfers. The Line is at the top of the FIFO. An attempt to re-
Status Register is intended for read operations only. synchronize is made after a framing error occurs.
Writing to this register is not recommended. Bits 1-4 It is assumed that the framing error is due to the
are the error conditions that produce a Receiver Line next start bit.
Status interrupt.
LSR Bit-4:
LSR Bit-0: 0 = Normal operation.
0 = No data in Receiver Holding Register or FIFO. 1 = The receiver data input was held in the logic low
1 = Data Ready indicator for the receiver. This bit is state for longer than a full word transmission
set to 1 whenever a complete incoming character time. A full word transmission time is defined
has been received and transferred into the as the total time to transmit the start, data,
Receiver Holding Register or the FIFO. It is reset parity, and stop bits. This bit is reset every time
to 0 by reading all of the data in the Receiver the CPU reads the contents of the Line Status
Holding Register or the FIFO. Register. In FIFO mode, this error is associated
with the particular character in the FIFO to
LSR Bit-1: which it applies. This error is reported when its
0 = Normal operation. No overrun error. associated character is at the top of the FIFO.
1 = Before the character in the Receiver Holding When a break occurs, only one 0 character is
Register was read, it was over written by the next loaded into the FIFO.
character transferred into the register. This bit
is reset every time the CPU reads the contents LSR Bit-5:
of the Line Status Register. If FIFO mode data 0 = At least one character is in the transmitter FIFO
continues to fill the FIFO beyond the trigger level, or Transmitter Holding Register.
an overrun error occurs only after the FIFO is 1 = The Transmitter Holding Register is empty. The
full and the next character has been completely device is ready to accept a new character. If
received in the shift register. An overrun error is the THRE interrupt is enabled when THRE is
indicated as soon as it happens. The character set to 1, an interrupt is generated. THRE is set
in the shift register is overwritten, but it is not to 1 when the last character in the Transmitter
transferred to the FIFO. Holding Register is transferred to the Transmitter
Shift Register.
LSR Bit-2:
0 = Normal operation. No parity error. LSR Bit-6:
1 = The parity of the received character does not 0 = When either the Transmitter Holding Register or
match the parity selected in the Line Control the Transmitter Shift Register contains a data
Register. This bit is reset every time the CPU character.
reads the contents of the Line Status Register. 1 = The Transmitter Holding Register and the
In FIFO mode, this error is associated with Transmitter Shift Register are both empty.
the particular character in the FIFO to which
it applies. This error is reported when its LSR Bit-7:
associated character is at the top of the FIFO. 0 = In the 16C450 mode, this bit is always reset to 0.
1 = In the FIFO (16C550) mode, at least one parity,
LSR Bit-3: framing, or break error exists in the FIFO. It is
0 = Normal operation. No framing error. cleared when the microprocessor reads the LSR
1 = The received character did not have a valid stop and there are no subsequent errors in the FIFO.
bit. This bit is reset every time the CPU reads
the contents of the Line Status Register. In FIFO
mode, this error is associated with the particular
MSR Bit-2:
0 = No change to nRI input.
1 = The nRI input has changed from a low to a high
level. When nRI is set to 1 and the interrupt is
enabled, a Modem Status interrupt is generated.
MSR Bit-3:
0 = No change to nCD input.
1 = The nCD input has changed state since the
last time it was read by the CPU. When the
interrupt is enabled, a Modem Status interrupt is
generated.
Mode “011”
Extended Capability Port “ECP” Mode
Nibble Mode ECP Mode is an advanced mode for communication
The Nibble mode is the most common way to get with printers or peripherals. A 16-Byte FIFO provides
reverse channel data from a printer or peripheral. This a high performance bi-directional communication
mode is usually combined with the SPP/Centronics path. The following cycle types are provided in both
mode to create a bi-directional channel. Printer status the forward and reverse directions:
bits are used as Nibble bits for the reverse channel • Data cycle
data. The same Status bits are used for each Nibble, • Command cycle
so special handshaking is required. When both • Run-Length-Encoding (RLE)
Nibbles have been received, the PC must combine • Channel Address
them to form the intended Byte of data.
Run Length Encoding (RLE) provides data
compression of up to 64:1. This is particularly useful
Pin Data Bit
for printers and peripherals that transfer raster images
BUSY Bit-7 with long strings of identical data. In order for RLE to
be enabled, both the host and peripheral must support
PE Bit-6
it.
SLCT Bit-5
Channel addressing allows for multiple logical devices
nFAULT Bit-4 within a single physical unit, like Scanner/FAX/Printer
BUSY Bit-3 in one physical package.
PE Bit-2
SLCT Bit-1
nFAULT Bit-0
Mode “110”
FIFO Test Mode
In this mode the FIFO can be written and read, but no
data will be transmitted to the printer. Whatever data is
in the FIFO may be output on the PD7-PD0 pins, but
no control signals will be generated to signal a transfer
is to take place. All of the status Flags (FIFO Full,
FIFO Empty, etc.) are operational in this mode, so
the complete operation of the FIFO can be observed
without actually affecting the external device.
Mode “111”
Config A/B Enable Mode
This mode must be selected whenever the Config-
A or Config-B registers are accessed. The Config-
A register uses the same I/O Address as the FIFO
Register. Only allowing access to the Configuration
Registers when this special Mode is selected prevents
the two registers from interfering with each other.
Electrical Characteristics
General DC Characteristics
IMPORTANT NOTICE
MosChip Semiconductor Technology, LTD products are not authorized for use as critical components in life
support devices or systems. Life support devices are applications that may involve potential risks of death,
personal injury or severe property or environmental damages. These critical components are semiconductor
products whose failure to perform can be reasonably expected to cause the failure of the life support systems
or device, or to adversely impact its effectiveness or safety. The use of MosChip Semiconductor Technology
LTD’s products in such devices or systems is done so fully at the customer risk and liability.
As in all designs and applications it is recommended that the customer apply sufficient safeguards and guard
bands in both the design and operating parameters. MosChip Semiconductor Technology LTD assumes no
liability for customer’s applications assistance or for any customer’s product design(s) that use MosChip
Semiconductor Technology, LTD’s products.
MosChip Semiconductor Technology, LTD warrants the performance of its products to the current specifications
in effect at the time of sale per MosChip Semiconductor Technology, LTD standard limited warranty. MosChip
Semiconductor Technology, LTD imposes testing and quality control processes that it deems necessary to
support this warranty. The customer should be aware that not all parameters are 100% tested for each device.
Sufficient testing is done to ensure product reliability in accordance with MosChip Semiconductor Technology
LTD’s warranty.
MosChip Semiconductor Technology, LTD believes the information in this document to be accurate and reliable
but assumes no responsibility for any errors or omissions that may have occurred in its generation or printing.
The information contained herein is subject to change without notice and no responsibility is assumed by
MosChip Semiconductor Technology, LTD to update or keep current the information contained in this document,
nor for its use or for infringement of patent or other rights of third parties. MosChip Semiconductor Technology,
LTD does not warrant or represent that any license, either expressed or implied, is granted to the user.
Revision History
34 Rev2.5