ASSURED 104-ICOM-2S, 104-COM-2S Communications Board User Manual

September 19, 2024
ASSURED

MODEL 104-ICOM-2S AND
104-COM-2S
USER MANUAL
ACCES I/O 104-ICOM-2S Get Quote
FILE: M104-ICOM-2S.B1k

104-ICOM-2S, 104-COM-2S Communications Board

Notice
The information in this document is provided for reference only. ACCES does not assume any liability arising out of the application or use of the information or products described herein. This document may contain or reference information and products protected by copyrights or patents and does not convey any license under the patent rights of ACCES, nor the rights of others.
IBM PC, PC/XT, and PC/AT are registered trademarks of the International Business Machines Corporation.
Printed in USA. Copyright 2001, 2005 by ACCES I/O Products, Inc. 10623 Roselle Street, San Diego, CA
92121. All rights reserved.
WARNING!!
ALWAYS CONNECT AND DISCONNECT YOUR FIELD CABLING WITH THE COMPUTER POWER OFF. ALWAYS TURN COMPUTER POWER OFF BEFORE INSTALLING A BOARD. CONNECTING AND DISCONNECTING CABLES, OR INSTALLING BOARDS INTO A SYSTEM WITH THE COMPUTER OR FIELD POWER ON MAY CAUSE DAMAGE TO THE I/O BOARD AND WILL VOID ALL WARRANTIES, IMPLIED OR EXPRESSED.
Warranty
Prior to shipment, ACCES equipment is thoroughly inspected and tested to applicable specifications. However, should equipment failure occur, ACCES assures its customers that prompt service and support will be available.
All equipment originally manufactured by ACCES which is found to be defective will be repaired or replaced ubject to the following considerations.
Terms and Conditions
If a unit is suspected of failure, contact ACCES’ Customer Service department. Be prepared to give the unit model number, serial number, and a description of the failure symptom(s). We may suggest some simple tests to confirm the failure. We will assign a Return Material Authorization (RMA) number which must appear on the outer label of the return package. All units/components should be properly packed for handling and returned with freight prepaid to the ACCES designated Service Center, and will be returned to the customer’s/user’s site freight prepaid and invoiced.
Coverage
First Three Years: Returned unit/part will be repaired and/or replaced at ACCES option with no charge for labor or parts not excluded by warranty. Warranty commences with equipment shipment.
Following Years: Throughout your equipment’s lifetime, ACCES stands ready to provide on-site or in-plant service at reasonable rates similar to those of other manufacturers in the industry.
Equipment Not Manufactured by ACCES
Equipment provided but not manufactured by ACCES is warranted and will be repaired according to the terms and conditions of the respective equipment manufacturer’s warranty.
General
Under this Warranty, liability of ACCES is limited to replacing, repairing or issuing credit (at ACCES discretion) for any products which are proved to be defective during the warranty period. In no case is ACCES liable for consequential or special damage arriving from use or misuse of our product. The customer is responsible for all charges caused by modifications or additions to ACCES equipment not approved in writing by ACCES or, if in ACCES opinion the equipment has been subjected to abnormal use. “Abnormal use” for purposes of this warranty is defined as any use to which the equipment is exposed other than that use specified or intended as evidenced by purchase or sales representation. Other than the above, no other warranty, expressed or implied, shall apply to any and all such equipment furnished or sold by ACCES.

Introduction

This serial communications board is designed for use in PC/104 compatible computers. Two isolated serial data ports are provided on the board. Model COM-2S is simply a non-isolated version of the ICOM-2S.
Multipoint Opto-isolated Communications
The board allows for multipoint transmission on long communication lines in noisy environments using RS422 or RS485 differential line drivers. The data lines are opto-isolated from the computer and from each other to assure communication when large common mode noise are superimposed. The on-board DC- DC converters provide isolated power for the line driver circuits.
A crystal oscillator is located on the board. This oscillator permits precise selection of baud rates from 50 to 115,200. Baud rates up to 460,800 baud may be provided as a factory option. The Programming section of this manual contains a table to use when selecting baud rate.
The output transceivers used, type 75176B, are capable of driving extremely long communication lines at high baud rates. They can drive up to ±60mA on balanced lines and receive inputs as low as ±200mV differential signal. Opto- isolators on the board provide protection to maximum 500 V. In case of communication conflict, the transceivers feature thermal shutdown.
COM Port Compatibility
Type ST16C550 UARTs are used as the Asynchronous Communication Element (ACE) which include a 16-byte transmit/receive buffer to protect against lost data in multitasking operating systems, while maintaining 100 percent compatibility with the original IBM serial port.
You can select a base address anywhere within the I/O address range 000 to 3E0 hex.
Communication Modes
This model supports a variety of 2-wire and 4-wire cable connections. 2 wire or Half-Duplex allows traffic to travel in both directions, but only one direction at a time. In 4 wire or Full-Duplex mode data travels in both directions at the same time.
Line Bias and Termination
For increased noise immunity, the communication lines may be loaded at the receiver and biased at the transmitter. RS485 communications requires that one transmitter supply a bias voltage to ensure a known “zero” state when all transmitters are off, and the last receiver input at each end of the network be terminated to prevent “ringing”. The board supports these options with jumpers on the board. See Chapter 3, Option Selection for more details.
Transceiver Control
RS485 communication requires the transmitter driver to be enabled and disabled as needed, to allow all boards to share the communications line. The board has automatic driver control. When the board is not transmitting, the receiver is enabled and the transmitter driver is disabled. Under automatic control, when data is to be transmitted, the receiver is disabled and the driver is enabled. The board automatically adjusts its timing to the baud rate of the data.

Specification
Communications Interface

  • Serial Ports:
    Two shielded male D-sub 9-pin IBM AT style connectors compatible with RS422 and RS485 specifications. Serial communications ACE used is type ST16C550. Transceivers used are type 75176.

  • Serial Data Rates:
    50 to 115,200 baud. 460,800 baud as a factory installed option.
    Asynchronous,Type 16550 buffered UART.

  • Address:
    Continuously mappable within 000 to 3FF (hex) range of AT I/O bus addresses.

  • Multipoint:
    Compatible with RS422 and RS485 specifications. Up to 32 drivers and receivers allowed on line.

  • Input Isolation:
    500 Volts, from computer and between ports.

  • Receiver Input Sensitivity: ±200 mV, differential input.

  • Transmitter Output Drive Capability: 60 mA (100 mA short-circuit current capability).

Environmental

  • Operating Temperature Range: 0 to +60 °C.
  • Industrial Version: -30º to +85º C.
  • Storage Temperature Range: -50 to +120 °C.
  • Humidity: 5% to 95%, non-condensing.
  • Power Required: +5VDC at 200 mA typical, 300 mA maximum.

Installation

A printed Quick-Start Guide (QSG) is packed with the board for your convenience. If you’ve already performed the steps from the QSG, you may find this chapter to be redundant and may skip forward to begin developing your application.
The software provided with this PC/104 Board is on CD and must be installed onto your hard disk prior to use.
To do this, perform the following steps as appropriate for your operating system.
CD Installation
The following instructions assume the CD-ROM drive is drive “D”. Please substitute the appropriate drive letter for your system as necessary.
DOS

  1. Place the CD into your CD-ROM drive.
  2. Type to change the active drive to the CD-ROM drive.
  3. Type to run the install program.
  4. Follow the on-screen prompts to install the software for this board.

WINDOWS

  1. Place the CD into your CD-ROM drive.
  2. The system should automatically run the install program. If the install program does not run promptly , click START | RUN and type , click OK or press .
  3. Follow the on-screen prompts to install the software for this board.

LINUX

  1. Please refer to linux.htm on the CD-ROM for information on installing serial ports under linux.

Installing the Hardware
Before installing the board, carefully read Chapter 3 and Chapter 4 of this manual and configure the board according to your requirements. The SETUP Program can be used to assist in configuring jumpers on the board. Be especially careful with Address Selection. If the addresses of two installed functions overlap, you will experience unpredictable computer behavior. To help avoid this problem, refer to the FINDBASE.EXE program installed from the CD. The setup program does not set the options on the board, these must be set by jumpers.
This multi-port serial communication board uses software-programmable address ranges for each UART, stored in an onboard EEPROM. Configure the address of the EEPROM using the onboard Address Selection jumper block, then use the provided Setup program to configure addresses for each onboard UART.

To Install the Board

  1. Install jumpers for selected options and base address according to your application requirements, as mentioned above.
  2. Remove power from the PC/104 stack.
  3. Assemble standoff hardware for stacking and securing the boards.
  4. Carefully plug the board onto the PC/104 connector on the CPU or onto the stack, ensuring proper alignment of the pins before completely seating the connectors together.
  5. Install I/O cables onto the board’s I/O connectors and proceed to secure the stack together or repeat steps 3-5 until all boards are installed using the selected mounting hardware.
  6. Check that all connections in your PC/104 stack are correct and secure then power up the system.
  7. Run one of the provided sample programs appropriate for your operating system that was installed from the CD to test and validate your installation.

Installing COM Ports in Windows Operating Systems
*NOTE: COM boards can be installed in virtually any operating system and we do support installation in earlier versions of windows, and are very likely to support future version as well. For use in WinCE, contact the factory for specific instructions.
Windows NT4.0
To install the COM ports in Windows NT4 you’ll need to change one entry in the registry. This entry enables IRQ sharing on multi-port COM boards. The key is HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial\. The name of the value is
PermitShare and the data should be set to 1.
You’ll then add the board’s ports as COM ports, setting the base addresses and IRQs to match your board’s settings.
To change the registry value, run RegEdit from the START|RUN menu option (by typing REGEDIT [ENTER] in the space provided). Navigate down the tree view on the left to find the key, and double click on the name of the value to open a dialog allowing you to set the new data value. To add a COM port, use START|CONTROL PANEL|PORTS applet and click ADD, then enter the correct UART address and Interrupt number.
When the “Add New Port” dialog is configured click OK, but answer “Don’t Restart Now” when prompted, until you’ve added any other ports as well. Then restart the system normally, or by selecting “Restart Now.”
Windows XP
To install the COM ports in Windows XP you will be manually installing “standard” communications ports, then changing the settings for resources used by the ports to match the hardware.
Run the “Add Hardware” applet from the Control Panel.
Click “Next” at the “Welcome to the Add New Hardware Wizard” dialog.
You’ll briefly see a “…searching…” message, then
Select “Yes, I have already connected the hardware” and Click “Next” Select “Add a new hardware device” from the bottom of the list presented and Click “Next.”
Select “Install the hardware that I manually select from a list” and Click “Next.”
Select “Ports (COM & LPT) and Click “Next”
Select “(Standard Port Types)” and “Communications Port” (the defaults), Click “Next.” Click “Next.” Click the “View or change resources for this hardware (Advanced)” link. Click the “Set Configuration Manually” button.
Select “Basic Configuration 8″ from the “Settings Based on:” drop-down list.
Select “I/O Range” in the “Resource Settings” box and Click the “Change Settings…” button.
Enter the base address of the board, and Click “OK” Select “IRQ” in the “Resource Settings” box and Click the “Change Settings” button.
Enter the IRQ of the board and Click “OK”.
Close the “Set Configuration Manually” dialog and Click “Finish.”
Click “Do Not Reboot” if you wish to install more ports. Repeat all of the above steps, entering the same IRQ but using the configured Base address for each additional UART.
When you are done installing ports, reboot the system normally.

Option Selection

The following paragraphs describe the functions of the various jumpers on the board.
A5 through A9
Place jumpers at locations A5 through A9 to set the board’s base address on the I/O bus.
Installing a jumper sets that bit to a zero, while no jumper will leave the bit a one.
See chapter 4 of this manual for more details on selecting an available I/O address.
IRQ3 through IRQ15
Place a jumper at the location that corresponds to the IRQ level that your software will be able to service. One IRQ services both serial ports.
485A/B and 422A/B
A jumper at the 485 location sets that port for 2 wire RS485 (Half Duplex) mode.
A jumper at the 422 location sets that port for 4 wire RS422 (Full-Duplex) mode.
For 4 wire RS485 applications install the 422 jumper if the port is the master, if the port is a slave install both the 422 and 485 jumpers.
TRMI and TRMO
The TRMI jumpers connect the on board RC termination circuits to the input (receive) lines.
These jumpers should be installed for 4 wire RS422 mode.
The TRMO jumpers connect the on board RC termination circuits to the output/input lines.
These jumpers should be installed for 2 wire RS485 mode under certain conditions.
See the following paragraph for more details.

Terminations and Bias
A transmission line should be terminated at the receiving end in its characteristic impedance. Installing a jumper at the location labeled TRMO applies a 120Ω load in series with a 0.01μF capacitor across the output for RS422 mode and across the transmit/receive output/input for RS485 operation. A jumper at the TRMI location applies a load on RS422 inputs.

Full or Half-Duplex
Full-Duplex allows simultaneous bi-directional communications. Half-Duplex allows bi-directional transmit and receiver communication but only one at a time, and is required for RS485 communications.
Proper selection depends on the wire connections used to connect the two serial ports. The following table shows how two serial communication boards would be interconnected for the various modes. Tx designates the transmit wires and Rx designates the receive wires.

Communication Modes and Cabling Options

| | | Cable
---|---|---|---
Mode| | | Board A| Board B
Simplex| 2-wire Receive Only| Rx-| Pins
1| Pins
2
Simplex| 2-wire Transmit Only| Rx+| 9| 3
Tx+| 2| 9
Half- Duplex| 2-wire| Tx-| 3| 1
TRx+| 2| 2
Full-Duplex| 4-wire w/o local echo| TRx-| 3| 3
Tx+| 2| 9
| | Tx-| 3| 1
Rx-| 1| 3
Rx+| 9| 2

Address Selection

The board’s base address can be selected anywhere within the I/O bus address range 000-3E0 hex, providing that the address does not overlap with other functions. If in doubt, refer to the table below for a list of standard address assignments. (The primary and secondary binary synchronous communication ports are supported by the Operating System.) The base address locator program FINDBASE provided on CD (or diskettes) will assist you to select a base address that will avoid conflict with other installed
computer resources. Then, the SETUP program will show you where to position the address jumpers when you have selected a base address.
The following provides background information to help you better understand this process.
Table 4-1: Standard Address Assignments for Computers

HEX RANGE USAGE
000-00F 8237 DMA Controller 1
020-021 8259 Interrupt
040-043 8253 Timer
060-06F 8042 Keyboard Controller
070-07F CMOS RAM, NMI Mask Reg, RT Clock
080-09F DMA Page Register
0A0-0BF 8259 Slave Interrupt Controller
0C0-0DF 8237 DMA Controller 2
0F0-0F1 Math Coprocessor
0F8-0FF Math Coprocessor
170-177 Fixed Disk Controller 2
1F0-1F8 Fixed Disk Controller 1
200-207 Game Port
238-23B Bus Mouse
23C-23F Alt. Bus Mouse
278-27F Parallel Printer
2B0-2BF EGA
2C0-2CF EGA
2D0-2DF EGA
2E0-2E7 GPIB (AT)
2E8-2EF Serial Port
2F8-2FF Serial Port
300-30F
310-31F
320-32F Hard Disk (XT)
370-377 Floppy Controller 2
378-37F Parallel Printer
380-38F SDLC
3A0-3AF SDLC
3B0-3BB MDA
3BC-3BF Parallel Printer
3C0-3CF VGA EGA
3D0-3DF CGA
3E8-3EF Serial Port
3F0-3F7 Floppy Controller 1
3F8-3FF Serial Port

Board Address jumpers are marked A5-A9. The following table lists jumpers name vs. the address line controlled and the relative weights of each.
Table 4-2: Board Base Address Setup

Board Address Settings 1st Digit 2nd Digit 3rdDigit
Jumper Name A9 A8 A7
Address Line Controlled A9 A8 A7
Decimal Weight 512 256 128
Hexadecimal Weight 200 100 80

In order to read the address jumper setup, assign a binary “1” to jumpers that are OFF and a binary “0” to the jumpers that are ON. For example, as illustrated in the following table, address selection corresponds to binary 11 000x xxxx (hex 300). The “x xxxx” represents address lines A4 through A0 used on the board to select individual registers. See Chapter 5, Programming in this manual.
Table 4-3: Example Address Setup

Jumper Name| A9| A8| A7| A6| A5| |
---|---|---|---|---|---|---|---
Setup| OFF| OFF| ON| ON| ON| |
Binary Representation| 1| 1| 0| 0| 0| |
Conversion Factors| 2| 1| 8| 4| 2| |
HEX Representation| 3| 0| 0

Review the Address Selection Table carefully before selecting the board address. If the addresses of two installed functions overlap you will experience unpredictable computer behavior.

Programming

A total of 32 consecutive address locations are allocated to the board, 17 of which are used. The
UARTs are addressed as follows:
Table 5-1: Address Selection Table

I/O Address Read Write
Base +0 thru 7 COM A UART COM A UART
Base +8 thru F COM B UART COM B UART
Base +10h Board IRQ Status N/A
Base +11 thru 1F N/A N/A

The Read / Write registers for the UARTs match the industry-standard 16550 registers. The Board IRQ status register is compatible with Windows NT. COM A will set bit 0 hi on interrupt, COM B will set bit 1 hi on interrupt.
Sample Programs
There are sample programs provided with the 104-ICOM-2S board in C, Pascal, QuickBASIC, and several Windows languages. DOS samples are located in the DOS directory and Windows samples are located in the WIN32 directory.
Windows Programming
The board installs into Windows as COM ports. Thus the Windows standard API functions can be used.
In particular:

  • CreateFile() and CloseHandle() for opening and closing a port.
  • SetupComm(), SetCommTimeouts(), GetCommState(), and SetCommState() to set and change a port’s settings.
  • ReadFile() and WriteFile() for accessing a port.
    See the documentation for your chosen language for details.

Under DOS, the process is very different. The remainder of this chapter describes DOS programming.

Initialization
Initializing the chip requires knowledge of the UART’s register set. The first step is to set the baud rate divisor. You do this by first setting the DLAB (Divisor Latch Access Bit) high. This bit is Bit 7 at Base Address +3. In C code, the call would be:
outportb(BASEADDR +3,0×80);
You then load the divisor into Base Address +0 (low byte) and Base Address +1 (high byte). The following equation defines the relationship between baud rate and divisor:  desired baud rate = (crystal frequency) / (32 * divisor)
The UART clock frequency is 1.8432MHz. The following table lists popular divisor frequencies.
Table 5-2: Baud Rate Divisors

Baud Rate| Divisor| Divisor (Factory Option)| Notes| **Max. Diff’l. Cable Length***
---|---|---|---|---
460800| | 1| | 550
230400| | 2| | 1400
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.

These are theoretical maximums based on typical conditions and good quality cables based on the EIA 485 and EIA 422 standard for balanced differential drivers.
In C, the code to set the chip to 9600 baud is:
outportb(BASEADDR, 0x0C);
outportb(BASEADDR +1,0);
The second initializing step is to set the Line Control Register at Base Address +3. This register defines word length, stop bits, parity, and the DLAB.
Bits 0 and 1 control word length and allow word lengths from 5 to 8 bits. Bit settings are extracted by subtracting 5 from the desired word length.
The third step of the initialization sequence is to set the Modem Control Register at Base Address +4.
This register controls functions on some boards. Bit 1 is the Request to Send (RTS) control bit. This bit should be left low until transmission time.
(Note: When operating in the automatic RS485 mode, the state of this bit is not significant.) Bits 2 and 3 are user-designated outputs. Bit 2 may be ignored on this board. Bit 3 is used to enable interrupts and should be set high if an interrupt-driven receiver is to be used.
The final initialization step is to flush the receiver buffers. You do this with two reads from the receiver buffer at Base Address +0. When done, the UART is ready to use.
Reception
Reception can be handled in two ways: polling and interrupt-driven. When polling, reception is accomplished by constantly reading the Line Status Register at Base Address +5. Bit 0 of this register is set high whenever data are ready to be read from the chip. Polling is not effective at high data rates above because the program cannot do anything else when it is polling or data could be missed. The following code fragment implements a polling loop and uses a value of 13, (ASCII carriage return) as an end-of-transmission marker:
do
{
while (!(inportb(BASEADDR +5) & 1)); /
Wait until data ready/
data[i++]= inportb(BASEADDR);
}
while (data[i]!=13); /
Reads the line until null character rec’d/
Interrupt-driven communications should be used whenever possible and is required for high data rates.
Writing an interrupt-driven receiver is not much more complex than writing a polled receiver but care should be taken when installing or removing your interrupt handler to avoid writing the wrong interrupt, disabling the wrong interrupt, or turning interrupts off for too long a period.
The handler would first read the Interrupt Identification Register at Base Address +2. If the interrupt is for Received Data Available, the handler then reads the data. If no interrupt is pending, control exits the routine. A sample handler, written in C, is as follows:
readback = inportb(BASEADDR +2);
if (readback & 4) /
Readback will be set to 4 if data are available/
data[i++]=inportb(BASEADDR);
outportb(0x20,0x20); /
Write EOI to 8259 Interrupt Controller*/
return;

Transmission
RS485 transmission is simple to implement. The AUTO feature automatically enables the transmitter when data is ready to send so no software enabling procedure is needed.

Connector Pin Assignments

The popular 9-pin D subminiature connector (male) is used for interfacing to communication lines. The connectors are equipped with 4-40 threaded standoffs (female screw lock) to provide strain relief. The connector labeled P2 is for COM A, and P3 is COM B.
Table 6-1: P2/P3 Connector Pin Assignments

Pin No. RS422 Four-Wire RS485 Two-Wire
1 Rx-
2 Tx+ T/Rx+
3 Tx- T/Rx-
4 Not Used
5 Isolated GND Isolated GND
6 Not Used
7 Not Used
8 Not Used
9 Rx+

Note
If the unit is CE-marked, then CE-certifiable cabling and breakout methodology (cable shields grounded at the connector, shielded twisted-pair wiring, etc) must be used.
Customer Comments
If you experience any problems with this manual or just want to give us some feedback, please email us at: manuals@accesio.com. Please detail any errors you find and include your mailing address so that we can send you any manual updates.

Assured Systems
Assured Systems is a leading technology company with over 1,500 regular clients in 80 countries, deploying over 85,000 systems to a diverse customer base in 12 years of business. We offer high-quality and innovative rugged computing, display, networking and data collection solutions to the embedded, industrial, and digital-out-of-home market sectors.
US
sales@assured-systems.com
Sales: +1 347 719 4508
Support: +1 347 719 4508
1309 Coffeen Ave
Ste 1200
Sheridan
WY 82801
USA
EMEA
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

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

ASSURED User Manuals

Related Manuals