ACCES PCI-422/485-2 User Manual
Manufacturer: ACCES I/O Products, Inc.
Product Model: PCI-422/485-2
Chapter 1: Introduction
This Serial Communications Card is designed for use in PCI-Bus computers and provides two serial ports for effective communication in the most common protocols. The card is 6.15 inches (156 mm) long and can be installed in any 5-volt PCI slot in IBM or compatible computers.
Multi-Protocol Operation
These are dual-protocol serial cards supporting RS422 and RS485 communications. RS422 utilizes differential (balanced) line drivers to enhance noise immunity and extend the maximum communication distance to 4000 feet. RS485 builds upon RS422 by featuring switchable transceivers and the capability to support multiple devices on a single "party line". The RS485 specification allows for a maximum of 32 devices on a single line, with the potential for expansion using "repeaters".
RS485 and RS422 Balanced Mode Operation
The cards support RS422 and RS485 modes, employing differential balanced drivers for improved range and noise immunity. The card also includes functionality for adding bias voltages and load resistors to terminate communication lines. RS485 communications necessitate a transmitter to supply a bias voltage, ensuring a defined "zero" state when all transmitters are inactive. Additionally, receiver inputs at each end of the network should be terminated to prevent signal "ringing". These termination and biasing options are managed via jumpers on the card. Refer to the "Option Selection" section for detailed information.
COM Port Compatibility
The card uses Type 16550 UARTs as the Asynchronous Communication Element (ACE). These UARTs feature a 16-byte transmit/receive FIFO buffer, which protects against data loss in multitasking operating systems while maintaining full compatibility with the original IBM serial port. The PCI bus architecture allows for addresses between 0000 and FFF8 hex to be assigned to the cards. The PCIFind.EXE utility is provided to determine the base addresses assigned by the system.
A crystal oscillator on the card enables baud rate selection up to 115,200. Baud rates up to 460,800 (4X UART clock) are achievable through jumper selection.
The 75176 driver/receiver is capable of driving very long communication lines at high baud rates. It can output up to +60 mA on balanced lines and receive inputs as low as 200 mV differential signal, even with common mode noise of +12 V or -7 V. In instances of communication conflict, the driver/receivers are equipped with thermal shutdown protection.
Communication Modes
The cards support Half-Duplex and Full-Duplex communications over 2- and 4-wire cable connections. Half-Duplex allows bidirectional traffic, but only one direction at a time. Full-Duplex operation permits simultaneous data transfer in both directions. RS485 communications typically utilize the half-duplex mode due to the reduced installation costs associated with using only a single pair of wires.
RTS and Auto Transceiver Control
In RS485 communications, the driver must be enabled and disabled as required to allow multiple cards to share a two-wire cable. This card offers automatic control, enabling the driver when data is ready for transmission. The driver remains active for the duration of one additional character transmission after data transfer completion before being disabled. The cards automatically synchronize their timing with the data's baud rate. The receiver is also typically disabled during RS485 transmissions.
CE Mark
If your card is CE-marked, it complies with the requirements of EN50081-1:1992 (Emissions), EN50082-1:1992 (Immunity), and EN60950:1992 (Safety).
Specification
Communications Interface
- Serial Ports: Shielded male D-sub 9-pin IBM AT style connectors compatible with RS422 and RS485 specifications.
- Character length: 5, 6, 7, or 8 bits.
- Parity: Even, odd, or none.
- Stop Interval: 1, 1.5, or 2 bits.
- Serial Data Rates: Up to 115,200 baud, asynchronous. Faster rates up to 460,800 baud (4X UART clock) are available via jumper selection.
- UART Type: Type 16550 buffered UART.
Caution: The OUT2 bit of the UART must be set low for proper interrupt-driven communication. If this bit is pulled high, interrupts are disabled, and the card will not communicate.
Differential Communication Mode
- Multipoint: Compatible with RS422 and RS485 specifications. Supports up to 32 drivers and receivers on a line. Uses type 16550 ACE and type 75176 drivers/receivers.
- Receiver Input Sensitivity: +200 mV, differential input.
- Common Mode Rejection: +12V to -7V.
- Transmitter Output Drive Capability: 60 mA.
Environmental
- Operating Temperature Range: 0 °C to +60 °C.
- Storage Temperature Range: -50 °C to +120 °C.
- Humidity: 5% to 95%, non-condensing.
- Power Required: +5VDC at 125 mA typical, +12VDC at 5 mA typical, 685 mW total power consumption.
- Size: 6 1/2" long (165 mm) by 3 7/8" (98 mm).
Figure 1-1: Block Diagram
The block diagram illustrates the components of the serial communications card. It shows the PCI Interface Chip connecting to the Computer PCI Bus. An Oscillator provides clock signals. A UART (16550 or similar) handles serial data, with an Auto RTS Circuitry for RS485 mode. The UART interfaces with a Transceiver, which connects to the DB9M connector via Tx/Rx+ and Tx/Rx- lines. An IRQ line connects the PCI Interface Chip to the UART.
Chapter 2: Installation
A Quick-Start Guide (QSG) is included for convenience. This chapter provides detailed installation steps for the software and hardware.
CD Software Installation
The software is provided on CD-ROM. The following steps assume the CD-ROM drive is 'D:'.
DOS Installation
- Place the CD into your CD-ROM drive.
- Change the active drive to the CD-ROM drive (e.g., by typing 'D:').
- Run the install program by typing 'INSTAII' and pressing Enter.
- Follow the on-screen prompts to complete the software installation.
Windows Installation
- Place the CD into your CD-ROM drive.
- The install program should run automatically. If not, click START > RUN, type 'DIINSIA', and press Enter.
- Follow the on-screen prompts to complete the software installation.
Linux Installation
Refer to 'linux.htm' on the CD-ROM for Linux installation instructions.
Hardware Installation
- Ensure the software is fully installed before installing the card.
- Turn OFF the computer and unplug the AC power.
- Remove the computer cover.
- Carefully install the card into an available 5V or 3.3V PCI expansion slot, removing a backplate if necessary.
- Ensure the card fits properly and tighten screws. Verify the card mounting bracket is securely fastened and has a positive chassis ground connection.
- Install an I/O cable onto the card's bracket-mounted connector.
- Replace the computer cover. Turn ON the computer; it should auto-detect the card and finish installing drivers.
- Run PCIfind.exe to complete the card's registry installation (Windows only) and determine assigned resources.
- Run one of the provided sample programs from the card directory to test and validate the installation.
Note on Base Address: The base address assigned by BIOS or the OS can change. PCIFind or Device Manager can be used to recheck configurations. Software can automatically determine the base address using BIOS calls (DOS) or by querying registry entries (Windows).
Windows COM Numbers
- Windows 9x: Typically installs as COM5 and COM6. Can be changed via Device Manager to any COM number greater than COM4. Microsoft COM drivers prevent PCI ports from appearing as COM1-COM4.
- Windows NT 2000/XP: Typically installs as COM3 and COM4. Assignments can be changed via Device Manager.
- Windows NT4 and Lower: PCIFind.EXE typically installs as COM5 and COM6. For manual changes, registry modifications are required, and PCIFind.EXE may need to be removed. Contact the factory for assistance.
Input/Output Connections
Two DB9 connectors are provided on the card mounting bracket. For optimal EMI performance, ensure the mounting bracket is securely screwed in place with a positive chassis ground. Use proper EMI cabling techniques, such as connecting cable shields to chassis ground and using shielded twisted-pair wiring.
Caution: Static discharge can damage the card. Always follow precautions to prevent static discharge, such as grounding yourself by touching a grounded surface before handling the card.
Chapter 3: Option Selection
Jumper settings determine the operation of the serial communications section. Refer to Figure 3-1 for jumper locations.
422/485 Configuration
Jumpers must be installed in designated blocks for each COM port to configure the port for RS-422 or RS-485 mode. An RS-422 or RS-485 jumper is required for each channel.
Terminations and Bias
Transmission lines should be terminated at the receiving end with their characteristic impedance. Installing a jumper at the 'LDO' location applies a 120Ω load for RS-422 mode (across the output) and for RS-485 operation (across the transmit/receive input/output). Installing a jumper at the 'LDI' location applies a 120Ω load for RS-422 operation (across the input). The card provides biasing for RS-485 mode.
CLK X1 and CLK X4
This jumper controls the baud rate. CLK X1 supports baud rates up to 115.2K Baud, while CLK X4 supports baud rates up to 460.8K Baud.
Data Cable Wiring
When two numbers are joined by '&', the corresponding pins are jumpered together.
MODE | CABLE | JUMPERS | CARD1 | CARD2 |
---|---|---|---|---|
Simplex | 2-wire | Receive Only 422 | Rx+ 9 & Rx- 1 | 2 & 3 |
Simplex | 2-wire | Transmit Only 422 | Tx+ 2 & Tx- 3 | 9 & 1 |
Half Duplex | 2-wire | 485 | TRx+ 2 & TRx- 3 | 2 & 3 |
Full Duplex | 4-wire | 422 | Tx+ 2 & Tx- 3 & Rx+ 9 & Rx- 1 | 9 & 1 & 2 & 3 |
Figure 3-1: Option Selection Map
The diagram shows jumper locations on the card. The 'RS422' jumpers (labeled A and B) are for selecting RS-422 differential mode. The 'RS485-A' and 'RS485-B' jumpers are for selecting RS-485 differential mode. The 'LDO' jumper applies a load to the output (RS-422) or transmit/receive lines (RS-485). The 'LDI' jumper applies a load to the RS-422 input. The 'X1/X4' jumpers select the maximum baud rate (115.2K or 460.8K).
Chapter 4: Address Selection
The card utilizes two separate address spaces, each with eight consecutive register locations, for COM A and COM B. PCI architecture is Plug-and-Play, meaning the BIOS or Operating System assigns resources rather than manual configuration via switches or jumpers. The card's base address is determined by the system.
To find the assigned base address, run the PCIFind.EXE utility (or PCINT.EXE for Windows 95). This utility lists all detected ACCES cards, their assigned addresses, and IRQs/DMAs. Alternatively, Windows 95/98/2000 can be queried via Device Manager (System Properties > Data Acquisition class) to view assigned resources.
PCIFind uses the Vendor ID (494F, ASCII for "I/O") and Device ID (1150) to locate the card and read its base address and IRQ. PCI supports 64 KB of address space, with addresses potentially located anywhere from 0000 to FFF8 hex.
Chapter 5: Programming
Sample Programs
Sample programs are provided in C, Pascal, QuickBASIC, and various Windows languages. DOS samples are in the DOS directory, and Windows samples are in the WIN32 directory.
Windows Programming
The card installs as COM ports in Windows. Standard Windows API functions can be used, including:
CreateFile()
andCloseHandle()
for port management.SetupComm()
,SetCommTimeouts()
,GetCommState()
, andSetCommState()
for configuring port settings.ReadFile()
andWriteFile()
for data access.
Refer to your chosen language's documentation for specifics.
DOS Programming
DOS programming differs significantly. The following describes initialization procedures.
Initialization
Initializing the chip requires understanding the UART's register set. The first step is setting the baud rate divisor. This is done by setting the DLAB (Divisor Latch Access Bit) high (Bit 7 at Base Address +3). The divisor is then loaded into Base Address +0 (low byte) and Base Address +1 (high byte).
The relationship between baud rate and divisor is:
Desired Baud Rate = (UART clock frequency) / (32 divisor)
The UART clock frequency is 1.8432MHz for the X1 jumper position and 7.3728 MHz for the X4 position. Table 5-1 lists popular divisor frequencies.
Table 5-1: Baud Rate Divisors
Baud Rate | Divisor x1 | Divisor x4 | Max Diff. Cable Length* |
---|---|---|---|
460800 | 1 | - | 550 ft |
230400 | 2 | - | 1400 ft |
153600 | 3 | - | 2500 ft |
115200 | 1 | 4 | 3000 ft |
57600 | 2 | 8 | 4000 ft |
38400 | 3 | 12 | 4000 ft |
28800 | 4 | 16 | 4000 ft |
19200 | 6 | 24 | 4000 ft |
14400 | 8 | 32 | 4000 ft |
9600 | 12 | 48 - Most Common | 4000 ft |
4800 | 24 | 96 | 4000 ft |
2400 | 48 | 192 | 4000 ft |
1200 | 96 | 384 | 4000 ft |
* Recommended maximum distances for differentially driven data cables (RS422 or RS485) are for typical conditions.
To set the chip to 9600 baud in C:
outportb(BASEADDR, 0x0C);
outportb(BASEADDR +1,0);
The second step sets the Line Control Register (Base Address +3) to define word length, stop bits, and parity. Bits 0-1 control word length (5-8 bits). Bit 2 sets the number of stop bits (1 or 2). Bits 3-6 control parity and break enable (typically set to zeroes). Bit 7 is the DLAB, which must be zero after divisor loading.
To set the UART for 8-bit word, no parity, and one stop bit:
outportb(BASEADDR +3, 0x03)
The third step sets the Modem Control Register (Base Address +4). Bit 1 (RTS) should be low until transmission time. Bits 2 and 3 are user-designated outputs; Bit 3 can enable interrupts.
Reception
Reception can be handled via polling or interrupts. Polling involves continuously reading the Line Status Register (Base Address +5); Bit 0 indicates data readiness. Interrupt-driven reception is more efficient for high data rates and requires careful handler management.
A sample interrupt handler reads the Interrupt Identification Register (Base Address +2) and then reads data if the interrupt is for Received Data Available.
Transmission
The Auto feature automatically enables the transmitter. For non-Auto operation, the RTS line (Bit 1 of Modem Control Register, Base Address +4) must be set high to switch from receive to transmit mode. For RS485, RTS is not used for handshaking, and CTS should be enabled via jumper.
To transmit data, check the transmitter-holding-register-empty flag (Bit 5 of Line Status Register, Base Address +5). Once the flag is high, write data to the UART (Base Address). Repeat until all data is sent. Reset the RTS bit afterwards.
A C code fragment for transmission:
outportb(BASEADDR +4, inportb(BASEADDR +4)|0x02); /*Set RTS bit without altering states of other bits*/
while(data[i]); /*While there is data to send*/
{
while(!(inportb(BASEADDR +5)&0x20)); /*Wait until transmitter is empty*/
outportb(BASEADDR,data[i]);
i++;
}
outportb(BASEADDR +4, inportb(BASEADDR +4)&0xFD); /*Reset RTS bit without altering states of other bits*/
Caution: The OUT2 bit of the UART must be low for proper interrupt-driven communication.
Chapter 6: Connector Pin Assignments
The standard 9-pin D subminiature connector is used for communication line interfacing. It features 4-40 threaded standoffs for strain relief.
Pin No. | RS422 Functions | RS485 Functions |
---|---|---|
1 | Rx- Receive Data | |
2 | Tx+ Transmit Data | TRx+ Transmit/Receive Data |
3 | Tx- Transmit Data | TRx- Transmit/Receive Data |
4 | ||
5 | GND Ground | GND Ground |
6 | ||
7 | ||
8 | ||
9 | Rx+ Receive Data |
Note: For CE-marked versions, use CE-certifiable cabling and breakout methodology, ensuring cable shields are connected to ground at the mounting bracket.
Appendix A: Application Considerations
Balanced Differential Signals
RS422 and RS485 devices offer enhanced noise immunity and longer line driving capabilities through balanced differential signaling. In this method, the driver's voltage appears across a pair of wires. A balanced line driver produces a differential voltage between +2V and +6V across its output terminals. An "enable" signal can disconnect the driver from the line, creating a high-impedance "tristate" condition. RS485 drivers require this control; RS422 drivers may have it but it's not always mandatory.
A balanced differential line receiver detects the voltage state across the two signal input lines. A differential input voltage greater than +200 mV results in one logic state, while less than -200 mV results in the opposite state. The maximum operating voltage range is +6V to -6V, accounting for voltage attenuation on long cables.
A maximum common mode voltage rating of +7V provides good noise immunity against voltages induced on twisted pair lines. A signal ground connection is crucial to maintain the common mode voltage within this range; operation without it may be unreliable.
Table A-1: RS422 Specification Summary
Parameter | Conditions | Min. | Max. |
---|---|---|---|
Driver Output Voltage (unloaded) | 4V | 6V | |
Driver Output Voltage (loaded) | LDO jumpers in | -4V | -6V |
Driver Output Resistance | 50Ω | ||
Driver Output Short-Circuit Current | +150 mA | ||
Driver Output Rise Time | 10% unit interval | ||
Receiver Sensitivity | +200 mV | ||
Receiver Common Mode Voltage Range | +7V | ||
Receiver Input Resistance | 4KΩ |
To prevent signal reflections and improve noise rejection in RS422 and RS485 modes, terminate the receiver end of the cable with a resistance matching the cable's characteristic impedance. An exception is when an RS422 driver is always connected to the line; its low internal impedance can terminate the line.
RS485 Data Transmission
The RS485 standard supports a balanced transmission line shared in a party-line mode, allowing up to 32 driver/receiver pairs on a two-wire network. While many characteristics are similar to RS422, RS485 has an extended common mode voltage limit of +12V to -7V. Drivers must withstand this range while in the tristate condition.
RS485 Two-Wire Multidrop Network
The illustration shows a typical multidrop or party line network. Transmission lines are terminated at both ends but not at intermediate drop points. This configuration is common for RS485.
Figure A-1: Typical RS485 Two-Wire Multidrop Network - This diagram depicts multiple devices connected via two wires, with termination resistors at the start and end of the line.
RS485 Four-Wire Multidrop Network
RS485 networks can also use a four-wire mode. In this setup, one node acts as a master, and all others are slaves. The master communicates with all slaves, and slaves communicate only with the master. This is advantageous for mixed protocol communications, as slaves do not respond to other slaves, preventing incorrect replies.
Company Information and Contact
ACCES I/O Products, Inc.
10623 Roselle Street, San Diego, CA 92121
Tel: (858) 550-9559 | FAX: (858) 550-7322
Email: contactus@accesio.com
Website: www.accesio.com
Assured Systems
Assured Systems is a technology company with over 1,500 regular clients in 80 countries, deploying over 85,000 systems. They offer rugged computing, display, networking, and data collection solutions for embedded, industrial, and digital-out-of-home markets.
US Contact:
Email: sales@assured-systems.com
Sales: +1 347 719 4508
Support: +1 347 719 4508
1309 Coffeen Ave, Ste 1200, Sheridan, WY 82801, USA
EMEA Contact:
Email: sales@assured-systems.com
Sales: +44 (0)1785 879 050
Support: +44 (0)1785 879 050
Unit A5 Douglas Park, Stone Business Park, Stone, ST15 0YJ, United Kingdom
VAT Number: 120 9546 28
Business Registration Number: 07699660
For feedback or problems with this manual, please email: manuals@accesio.com. Include any errors found and your mailing address for manual updates.