MCS9835CV-BA: PCI To Dual UART & Parallel Port
MCS9835CV-BA: PCI To Dual UART & Parallel Port
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.
Index
Ver 1.1 2
MCS9835CV-BA
PCI to Dual UART & Parallel Port
1. General Description
The MCS9835CV-BA is a PCI based single function I/O Adapter. It has two 16C450/16C550 compatible
UART channels and one IEEE 1284 compliant parallel port.
The MCS9835CV-BA has 32-Byte transmit and receive FIFO for each UART channel. MCS8935CV-BA
performs serial-to-parallel conversions on data received from a Serial device, and parallel-to-serial
conversions on data received from its CPU.
Parallel Port interface in MCS9835CV-BA is an IEEE 1284 compliant SPP / PS2 / EPP / ECP Parallel
Port that fully supports Centronics interface.
The MCS9835CV-BA is ideally suited for PC applications, such as Add-On COM ports and Parallel
Ports. It is available in 128-Pin QFP package & fabricated using an advanced submicron CMOS process
to achieve low power drain and high-speed requirements.
2. Features
General
• 5V Operation
• Low Power
• Fully compliant with PCI Local Bus Specification 2.3
• Re-map function for Legacy Ports
• Microsoft WHQL Complaint Drivers
• 128 Pin QFP package, RoHS
• Commercial Grade, 0 to 70 deg C
• Advanced testability through scan addition
Serial Port
• Two 16C 450 / 550 compatible UARTs
• Supports RS232, RS485 & RS422 modes
• Bi-directional Speeds from 50 bps to 115200 bps / Port
• Full Serial modem control
• Supports Hardware Flow Control
• 5, 6, 7, 8-bit Serial format support
• Even, Odd, None, Space & Mark parity supported
• On Chip 32 Byte FIFOs in Transmit, Receive paths for both Serial Ports
Ver 1.1 3
MCS9835CV-BA
PCI to Dual UART & Parallel Port
IEEE1284 Parallel Port
• Multi-mode IEEE1284 compliant controller (SPP, PS2, EPP, ECP)
• Faster data rates up to 1.5Mbytes/sec for Parallel Port
Miscellaneous
• Four -Wire SPI Interface for EEPROM
• EEPROM read through PCI
3. Applications
• Generic Serial attached devices like Modem & Serial Mouse
• Serial Networking / Monitoring Equipment
• Data Acquisition System
• POS Terminal & Industrial PC
• Parallel / Printer Port based applications
• Add-On I/O Cards – Serial / Parallel
• Embedded systems – For I/O expansion
• Industrial Control
4. Ordering Information
• Part Number : MCS9835CV-BA
• 128 Pin QFP
• ROHS
• Commercial Grade, 0 to 70 o C
5. Application Schematic
• PCI to 2S + 1 Parallel
6. Evaluation Board
• MCS98XXCV-BA EVB – Combo
Ver 1.1 4
MCS9835CV-BA
PCI to Dual UART & Parallel Port
7. Software Support
SW Driver Support
• Windows 95/98SE/ME
• Windows 32bit - 2000 /XP /NT /2003 Server
• Windows 64bit XP / 2003 Server
• Windows Vista / 2008 Server (32 & 64 bit)
• Windows 7 (32 & 64 bit)
• Linux Kernel 2.4.X / 2.6.X
• DOS-6.22
SW Utility Support
• Windows XP based Diagnostic Utility
• DOS based diagnostic Utility
8. Certifications
• WHQL Certification of device drivers for Windows XP, Windows Vista & Windows 7
Operating Systems.
Ver 1.1 5
MCS9835CV-BA
PCI to Dual UART & Parallel Port
9. Block Diagram
Ver 1.1 6
MCS9835CV-BA
PCI to Dual UART & Parallel Port
10. PIN DIAGRAM
Ver 1.1 7
MCS9835CV-BA
PCI to Dual UART & Parallel Port
11. Pin Descriptions
This section provides information on each Pin of MCS9835CV-BA
nRESET 121 I(PU) PCI system Reset (active low).Resets all internal
registers, sequencers, and signals to a consistent state.
During reset condition, AD[31-0] and nSERR are tri-
stated.
AD[31-29] 126-128 I/O Multiplexed PCI Address/Data bus.
During the address phase, AD[31-0] contain a physical
address. Data is stable and valid when nIRDY and
nTRDY are asserted (active).
Ver 1.1 8
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Name Pin # Direction Drive Description
Strength
nLOCK 28 I Indicates an atomic operation that may require
multiple transactions to complete.
IDSEL 9 I Initialization Device Select. Used as a chip select
during configuration read and write transactions.
nDEVSEL 26 O Device Select (three-state). Asserted when the target
has decoded one of its addresses.
nC/BE0 43 I/O Bus Command and Byte Enable. During the address
phase of a transaction, nC/BE3-0 defines the bus
command. During the data phase, nC/BE3-0 are used
as Byte Enables. nC/BE0 applies to Byte “0”.
Ver 1.1 9
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Name Pin # Direction Drive Description
Strength
EE-CS 115 O 4mA External EEPROM chip select (active high). After
Power-On Reset, the EEPROM is read, and the
read-only configuration registers are filled
sequentially from the first 64 Bytes in the EEPROM.
Ver 1.1 10
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Name Pin # Direction Drive Description
Strength
nDTRA 106 O(PU) 12mA UART-A Data-Terminal-Ready signal.
It is set high (inactive) after a hardware Reset or
during internal Loop-Back mode. When low, this
output indicates to the modem or data set that
UART-A is ready to establish a communication link.
nDTRA has no effect on the transmitter or receiver.
RXA 109 I(PU) UART-A, serial Data Input.
Ver 1.1 11
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Name Pin # Direction Drive Description
Strength
nDSRB 72 I(PU) UART-B Data-Set-Ready signal.
When low, this indicates the modem or data set is ready
to establish a communication link.
nCDB 70 I(PU) UART-B Carrier-Detect signal.
When low, this indicates the modem or data set has
detected the Data Carrier. nCDB has no effect on the
transmitter.
nSTROBE 81 OD_O 12mA Peripheral/printer data Strobe (open drain, active low).
(PU) When low, data is latched into the printer.
Ver 1.1 12
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Name Pin # Direction Drive Description
Strength
PD[3-0] 93-90 I/O 12mA Peripheral / Printer bi-directional data bus
NC 64,65,68, No Connection
100, 101,
102,103
GND 7,20,21,33, Gnd Power and Signal Ground.
44,45,60,77,
88,94,99,
108,119,125
Note: -
I(PU) - Input – Internal Pull Up
I(PD) - Input – Internal Pull Down
O(PU) - Output – Internal Pull Up
OD_O(PU) – Open Drain Output – Internal Pull Up
I/O – Bi-directional Signal
Pwr - Power
Gnd - Ground
• PCI core
• UART core
• Parallel Port core
• EEPROM
Ver 1.1 13
MCS9835CV-BA
PCI to Dual UART & Parallel Port
The data phase of a transaction is the period during which a data object is transferred between the initiator
and the target. The number of data Bytes to be transferred during a data phase is determined by the
number of Command/Byte-Enable signals that are asserted by the initiator during the data phase. Each
data phase is at least one PCI clock period in duration. Both initiator and target must indicate that they are
ready to complete a data phase. If not, the data phase is extended by a wait state of one clock period in
duration. The initiator and the target indicate this by asserting nIRDY and nTRDY respectively and the
data transfer is completed at the rising edge of the next PCI clock.
The initiator, as stated earlier, gives only the starting address during the address phase. It does not tell the
number of data transfers in a burst transfer transaction.
The target will automatically generate the addresses for subsequent Data Phase transfers. The initiator
indicates the completion of a transaction by asserting nIRDY and de-asserting nFRAME during the last
data transfer phase. The transaction does not actually complete until the target has also asserted the
nTRDY signal and the last data transfer takes place. At this point the nTRDY and nDEVSEL are de-
asserted by the target.
When all of nIRDY, nTRDY, nDEVSEL, and nFRAME are in the inactive state (high state), the bus is in
idle state. The bus is then ready to be claimed by another Bus Master.
Ver 1.1 14
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.1.7 PCI Resource Allocation
PCI devices do not have “Hard-Wired” assignments for memory or I/O Ports like ISA devices do. PCI
devices use “Plug & Play” to obtain the required resources each time the system boots up. Each PCI
device can request up to six resource allocations. These can be blocks of memory (RAM) or blocks of I/O
Registers. The size of each resource block requested can also be specified, allowing great flexibility. Each
of these resource blocks is accessed by means of a Base-Address-Register (BAR). As the name suggests,
this is a pointer to the start of the resource. Individual registers are then addressed using relative offsets
from the Base-Address-Register contents. The important thing to note is: plugging the same PCI card into
different machines will not necessarily result in the same addresses being assigned to it. For this reason,
software (drivers, etc.) must always obtain the specific addresses for the device from the PCI System.
Each PCI device is assigned an entry in the PCI System’s shared “Configuration Space”. Every device is
allocated 256 Bytes in the Configuration Space. The first 64 Bytes must follow the conventions of a
standard PCI Configuration “Header”. There are several pieces of information the device must present in
specific fields within the header to allow the PCI System to properly identify it. These include the
Vendor-ID, Device-ID and Class-Code. These three fields should provide enough information to allow
the PCI System to associate the correct software driver with the hardware device. Other fields can be used
to provide additional information to further refine the needs and capabilities of the device.
As part of the Enumeration process (discovery of which devices are present in the system) the Base-
Address-Registers are configured for each device. The device tells the system how many registers (etc.) it
requires, and the system maps that number into the system’s resource space, reserving them for exclusive
use by that particular device. No guarantees are made that any two requests for resources will have any
predictable relationship to each other. Each PCI System is free to use its own allocation strategy when
managing resources.
This use of the term “Multi-Function Device” should not be confused with the more generic use of that
term by the PCI System. Each “Function” within a “Unit” (physical device) gets its own Configuration
Space Header. MosChip’s devices do not need this extra layer of complexity, the six Base Address
Registers provided by one PCI “Function” are more than adequate to allocate all of the desired resources.
Ver 1.1 15
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.1.9 PCI Configuration Space Header
Default values for several key fields are shown in the table below.
Ver 1.1 16
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.2 UART Core
12.2.1 Overview
There are 2 UARTs in the MCS9835 which are 16C450/16C550 specification. Both UARTs are similar in
operation and functionality, function of one UART described below.
Main features of Serial Port :
The UART is compatible with the 16C450, 16C550 mode of operation.. The operation of the port
depends upon the mode settings, which are described below. The modes, conditions & corresponding
FIFO depth are tabulated below.
450 1 0
550 32 1
After the hardware reset, bit 0 of the FIFO Control Register (FCR) is cleared, hence the UART is
compatible with the 16C450 mode of operation. The transmitter & receiver FIFOs (referred to as the
"transmitting Holding register" & "receiver holding register" respectively) have a depth of one byte. This
mode of operation is known "Byte Mode".
• Deeper FIFOs
Ver 1.1 17
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.3 Parallel Port
In computing, a parallel port is a type of physical interface used in conjunction with a cable to connect
separate peripherals in a computer system. In Parallel Port, binary information is transferred in parallel:
each bit in a particular value is sent simultaneously as an electrical pulse across a separate wire, in
contrast to a serial port, which requires each bit to be sent in series over a single wire. The number of
wires and the type of connector on a parallel port can vary.
The IEEE 1284 standard, which is an extension of the legacy unidirectional parallel port, allows for faster
throughput and bi-directional data flow with a theoretical maximum throughput of 4 Megabits per second,
with actual around 2 Megabits per second depending on hardware. The parallel port, as implemented on
the PC, consists of a connector with 17 signal lines and 8 ground lines. The signal lines are divided into
three groups:
• Control (4 lines)
• Status (5 lines)
• Data (8 lines)
As originally designed, the Control lines are used for interface control and handshaking signals from the
PC to the printer. The Status lines are used for handshake signals and as status indicators to do operations
such as paper empty, busy indication and interface or peripheral errors. The data lines are used to provide
data from the PC to the printer, in that direction only. Later implementations of the parallel port allowed
for data to be driven from the peripheral to the PC also.
Parallel port implemented in MCS9835CV-BA is compliant to IEEE 1284 Standard Parallel Port and
supports various IEEE 1284 modes through hardware. Following are the Parallel modes of operation
supported.
This mode operates in the forward direction only. The DIR bit is forced to “1” and PD[7:0] are always set
to the output direction. All control signals are under software control. This mode operation is used in most
standard parallel ports on PC’s, for data transfer to printer. Data is placed on the PD[7:0] pins and printer
status is checked via the DSR register. If no error condition is flagged and the printer is not busy, software
toggles the nSTROBE pin to latch the PD[7:0] data into the printer. The printer acknowledges data receipt
pulsing the nACK and BUSY pins.
Ver 1.1 18
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.3.2 Nibble Mode
The Nibble mode is the most common way to get reverse channel data from a printer or peripheral. This
mode is usually combined with the SPP mode to create a bi-directional channel. Printer status bits are
used as nibble bits for the reverse channel data. The same status bits are used for each nibble, so special
handshaking is required. When both nibbles have been received, the PC must combine them to form the
intended byte if data.
Bits used for Nibble Mode:
• Data Cycle
• Command Cycle
• Run-Length-Encoding(RLE)
• Channel Address
Run Length Encoding (RLE) provides data compression of up to 64:1. This is particularly useful for
printers and peripherals that transfer raster images with long strings of identical data. In order for RLE to
be enabled, both the Host and Peripheral must support this feature. Channel addressing supports multiple
logical devices within a single physical unit, like Scanner / Fax / Printer in one physical Package.
Ver 1.1 19
MCS9835CV-BA
PCI to Dual UART & Parallel Port
12.3.6 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 PD[7:0] Pins, but no control signal will be generated to signal a
transfer is to take place. All the status flags are optional in this mode, so the complete operation of the
FIFO can be observed without actually affecting the external device.
FIFO Register(C-FIFO)
Offset 0x00
Permissions R/W
Access --
Condition
Default 8’h00
Value
Bits Description
This mode must be selected whenever the Config-A or Confi g-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.
Ver 1.1 20
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Bits Description
Access Condition --
Default Value 8’h00
Bits Description
Ver 1.1 21
MCS9835CV-BA
PCI to Dual UART & Parallel Port
13. External EEPROM
Data is read from the EEPROM immediately after a Hardware Reset, and the values obtained are used to
update the Configuration before the PCI System first sees the device on the Bus. This allows a OEM
Customers to customize the vendor and product ID’s in place of Moschip ID’s. EEPROM can be used to
arrive at different product combination by setting appropriate sub-system ID’s. For this EE-EN (Pin#123)
to be left as No Connect at system level.
If external EEPROM is disabled by connecting the EE-EN (Pin#123) to ground, after hardware reset
default values of configuration are loaded by the ASIC.
Following are main features of Serial EEPROM Interface :
• Supports Serial EEPROM of 1K Bit Size with 16bit communication capability
• Configuration Space contents can be modified through EEPROM
• Changing configuration values, different modes can be selected
• Inter Character Gap in multiples of 1bit duration can be set for UART-A & UART-B
By using external EEPROM more Peripheral configurations can be derived with MCS9835, few such
configurations listed below:
Vendor ID, Product customizations can also be implemented in MCS9835, through external EEPROM.
Any change of Vendor ID, Product ID information requires customized device driver.
Note : EEPROM need to be programmed in external EEPROM burner, for all above configuration
support and for customizations.
Ver 1.1 22
MCS9835CV-BA
PCI to Dual UART & Parallel Port
14. EEPROM Contents
Contents of the EEPROM (16-bit), values shown below are for 2S1P Mode
EEPROM HEX Description of Contents EEPROM HEX Description of
ADDRESS Data ADDRESS Data Contents
LOCATION (Word) LOCATION (Word)
Ver 1.1 23
MCS9835CV-BA
PCI to Dual UART & Parallel Port
EEPROM HEX Description of Contents EEPROM HEX Description of
ADDRESS Data ADDRESS Data Contents
LOCATION (Word) LOCATION (Word)
0x16 0000 0x36 0000
Header 0x0C 00
(Least Significant Byte)
Subsystem ID 0x2C 0012
Ver 1.1 24
MCS9835CV-BA
PCI to Dual UART & Parallel Port
Icg_reg1 & 2 : Inter Character Gap register is used to set Inter Character Gap in multiples of 1bit
duration for UART-A & B Ports
Intr_mask_reg[15:0] : Interrupt Mask Register can be used to mask the interrupt from unused Serial or
Paralle ports.
The 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.
Ver 1.1 25
MCS9835CV-BA
PCI to Dual UART & Parallel Port
15. Electrical Specifications
Absolute Maximum Ratings
Supply Voltage 6 Volts
Voltage at any pin GND - 0.3 V to VCC + 0.3 V
Operating Temperature 0 °C to +70 °C
Storage Temperature -40 °C to +150 °C
ESD HBM (MIL-STD 883E Method 3015-7 Class 2) 2000V
ESD MM (JEDEC EIA/JEDS22 A115-A) 200V
CDM (JEDEC JEDS22 C101-A) 500V
Latch up (JESD No. 78, March 1997) 200 mA, 1.5 x Vcc
DC Electrical Characteristics : Ta = 0 to +70 °C, VCC = 4.75 to 5.25 V unless otherwise specified.
Ver 1.1 26
MCS9835CV-BA
PCI to Dual UART & Parallel Port
16. Mechanical Specifications – QFP 128
Ver 1.1 27
MCS9835CV-BA
PCI to Dual UART & Parallel Port
17. Contact information
For Commercial information & availability write to : [email protected]
Revision history
1st May 2008 “Tentative Data Sheet” text removed in all pages & 1.0
document version changed to 1.0
9th March 2010 SW Support updated for Windows 7 and WHQL 1.1
drivers availability
Ver 1.1 28