ASSURED 104-ICOM-2S Official Acces I O Distributor and Integrator User Manual
- August 25, 2024
- ASSURED
Table of Contents
- ASSURED 104-ICOM-2S Official Acces I O Distributor and Integrator
- Notice
- WARNING!!
- Warranty
- Terms and Conditions
- Coverage
- Equipment Not Manufactured by ACCES
- General
- Chapter 1: Introduction
- Multipoint Opto-isolated Communications
- COM Port Compatibility
- Communication Modes
- Line Bias and Termination
- Transceiver Control
- Specification
- Chapter 2: Installation
- Installing the Hardware
- Installing COM Ports in Windows Operating Systems
- Chapter 3: Option Selection
- Full or Half-Duplex
- Communication Modes and Cabling Options
- Chapter 4: Address Selection
- Chapter 5: Programming
- Initialization
- Transmission
- Chapter 6: Connector Pin Assignments
- Customer Comments
- FAQ (Frequently Asked Questions)
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
ASSURED 104-ICOM-2S Official Acces I O Distributor and Integrator
USER MANUAL
MODEL: 104-ICOM-2S AND 104-COM-2S
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 1/0 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 1/0 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 subject 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.
Chapter 1: 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 1/0 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 □-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 1/0 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.
- ower Required: +5VDC at 200 mA typical, 300 mA maximum.
Chapter 2: 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 I 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 1/0 cables onto the board’s 1/0 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 Win CE, 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 STARTIRUN 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 STARTICONTROL PANELIPORTS 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.”
WindowsXP
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 “1/0 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.
Chapter 3: Option Selection
The following paragraphs describe the functions of the various jumpers on the board.
AS through A9
Place jumpers at locations A5 through A9 to set the board’s base address on
the 1/0 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 1/0
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
outpuUinput 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 1200 load in series with a 0.01µF capacitor across the output for RS422 mode and across the transmiUreceive outpuUinput for RS485 operation. A jumper at the TRMI location applies a load on RS422 inputs.
Figure 3-2: Simplified Schematic – Two-Wire and Four-Wire Connection
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
Chapter 4: Address Selection
The board’s base address can be selected anywhere within the 1/0 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 OMA Controller 1 |
020-021 | 8259 Interrupt |
040-043 | 8253 Timer |
060-06F | 8042 Keyboard Controller |
070-07F | CMOS RAM, NMIMask Reg, RT Clock |
080-09F | OMA Page Register |
0A0-0BF | 8259 Slave Interrupt Controller |
0C0-0DF | 8237 OMA 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 | AB | A7 |
Address Line Controlled | A9 | AB | 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 AO used on the board to select individual registers. See Chapter 5, Programming in this manual.
Table 4-3: Example Address Setup
Jumper Name| A9| AB| 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.
Chapter 5: 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
1/0 Address | Read | Write |
---|---|---|
Base +0 thru 7 | COMA UART | COM A UART |
Base +8 thru F | COMB UART | COMB UART |
Base +10h | Board IRQ Status | N/A |
Base +11 thru 1F | N/A | N/A |
The Read I 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) I (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’I. 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.
Bit 2 determines the number of stop bits. There can be either one or two stop
bits. If Bit 2 is set to 0, there will be one stop bit. If Bit 2 is set to 1,
there will be two stop bits.
Bits 3 through 6 control parity and break enable. They are not commonly used
for communications and should be set to zeroes.
Bit 7 is the DLAB discussed earlier. It must be set to zero after the divisor is loaded or else there will be no communications.
The C command to set the UART for an 8-bit word, no parity, and one stop bit
is:
outportb(BASEADDR +3, 0x03)
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.
Chapter 6: 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 COMB.
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.
ACCES
10623 Roselle Street, San Diego CA 92121
Tel. (858)550-9559 FAX (858)550-7322
www.accesio.com
FAQ (Frequently Asked Questions)
Q: How do I contact customer support for technical assistance?
A: You can reach out to ACCES I/O Products, Inc. at (858)
550-9559 or contact them via email at contactus@accesio.com for technical
support.
Q: What should I do if my equipment fails?
A: In case of equipment failure, refer to the warranty terms and conditions provided in the manual. Contact ACCES for repair or replacement options.
References
- Industrial Embedded Computers and Displays - Assured Systems
- Industrial Embedded Computers and Displays - Assured Systems
- Industrial Embedded Computers and Displays - Assured Systems
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>