Quatech Inc. warrants the ES-2000/ES-3000
free of defects for one
purchase. Quatech Inc. will repair or replace any board
that fails to perform under normal operating conditions and
in accordance with the procedures outlined in this document
during the warranty period. Any damage that results from
improper installation, operation, or general misuse voids
all warranty rights.
Although every attempt has been made to guarantee the
accuracy of this manual, Quatech Inc. assumes no liability
for damages resulting from errors in this document. Quatech
Inc. reserves the right to edit or append to this document
at any time without notice.
Please complete the following information and retain
for your records. Have this information available when
requesting warranty service.
DATE OF PURCHASE:
MODEL NUMBER: ES-2000/ES-3000
PRODUCT DESCRIPTION: EIGHT
(1) year from the date of
CHANNEL RS-422/RS-485
to be
ASYNC.
SERIAL NUMBER:
IBM PC/XT/ATTM, PS/2TM, and Micro ChannelTM are
trademarks of International Business Machines.
Figure 23. QTINSTAL.EXE updated address menu . . 31
iii
INTRODUCTION
I. INTRODUCTION
The Quatech ES-2000 provides eight independent
asynchronous RS-422 serial communication channels for
systems utilizing the MicroChannel architecture. The ES3000 is an RS-485 version of the adapter. The eight ports
of the ES-2000/ES-3000 occupy a contiguous 64 byte block of
I/O address space. The base address of this block may be
located anywhere within the available I/O address range of
the system.
The ES-2000/ES-3000 serial interfaces are realized
through four 16552 DUARTs (Dual Universal Asynchronous
Receiver / Transmitters). The 16552 is a two channel
version of the 16550 used in the IBM PS/2 family of personal
computers and is compatible with the 8250 and 16450 UARTs
used in the PC/XT/AT models. In addition, the 16550 and
16552 support transmit and receive FIFOs to reduce CPU
overhead at higher data rates.
Address and interrupt selections are accessed through
the Programmable Option Select using the IBM installation
utilities. In addition, jumpers are provided to select
input clock frequency and to control the information
exchanged on the auxiliary channels.
II. BOARD
DESCRIPTION
A component diagram of the ES-2000/ES-3000 showing the
locations of the 16552 DUARTs, clock frequency jumper,
auxiliary channel control jumpers, and D-62 output connector
is shown in figure 1. Channels 1 and 2 are contained in the
DUART labeled U4, channels 3 and 4 in U9, 5 and 6 in U14,
and 7 and 8 in U19. Channels 1 - 4 of the ES-2000/ES-3000
also have an auxiliary channel available for exchange of the
RTS-CTS handshake pair. The auxiliary channels are
controlled by jumpers J2 - J5 respectively. The input clock
frequency for all channels is selected using jumper J1. All
channels are output via the high density D-62 connector CN1.
On the ES-2000, the driver circuit consists of four RS422 drivers (U20, U21, U24, and U26), three RS-422 receivers
(U25, U27, and U28) and twelve 100_ termination resistors
(R2 - R13). On the ES-3000, these are replaced by RS-485
drivers and receivers and 120_ termination resistors.
iii
FUNCTIONAL DESCRIPTION
Figure 1. ES-2000/ES-3000 board layout.
iii
FUNCTIONAL DESCRIPTION
III. 16552 FUNCTIONAL DESCRIPTION
The 16552 is two channel version of the 16550 Universal
Asynchronous Recevier / Transmitter (UART). The two
channels are completely independent except for the common
clock oscillator input. Each channel of the 16552 enters
character mode after reset and in this mode appears as a
16450 to application software. An additional FIFO mode can
be selected to reduce CPU overhead at high data rates. The
FIFO mode increases performance by providing two internal
16-byte FIFOs (one transmit and one receive) to buffer data
and reduce the number of interrupts issued to the CPU.
Other features include:
Programmable baud rate, character length,
parity, and number of stop bits
Automatic addition and removal of start, stop,
and parity bits
Independent and prioritized transmit, receive
and status interrupts
Transmitter clock output to drive receiver
logic
The following pages provide a brief summary of the
internal registers available for each channel of the 16552
DUART. The registers are addressed as shown in figure 2
below.
Indicates highest priority interrupt pending if any.
See IP and figure 3. NOTE: IID2 is always a logic 0
in character mode.
IP - Interrupt Pending:
When logic 0, indicates that an interrupt is pending
and the contents of the interrupt identification
register may be used to determine the interrupt
source. See IIDx and figure 3.
iii
FUNCTIONAL
DESCRIPTION
+-------------------+----------+----------------------+
| IID2 IID1 IID0 IP | Priority | Interrupt Type |
+-------------------+----------+----------------------+
| x x x 1 | N/A | None |
| 0 1 1 0 | Highest | Receiver Line Status |
| 0 1 0 0 | Second | Received Data Ready |
| 1 1 0 0 | Second | Character Timeout |
| | | (FIFO mode only) |
| 0 0 1 0 | Third | Transmitter Holding |
| | | Register Empty |
| 0 0 0 0 | Fourth | MODEM Status |
+-------------------+----------+----------------------+
Figure 3. Interrupt identification bit definitions.
Receiver Line Status:
Indicates overrun, parity, or framing errors or
break interrupts. The interrupt is cleared by
reading the line status register.
Received Data Ready:
Indicates receiver data available. The interrupt is
cleared by reading the receiver buffer register
FIFO mode:
Indicates the receiver FIFO trigger level has been
reached. The interrupt is reset when the FIFO drops
below the the trigger level.
Character Timeout: (FIFO mode only)
Indicates no characters have been removed from or
input to the receiver FIFO for the last four
character times and there is at least one character
in the FIFO during this time. The interrupt is
cleared by reading the receiver FIFO.
Transmitter Holding Register Empty:
Indicates the transmitter holding register is empty.
When set (logic 1), the transmitter shift register
is connected directly to the receiver shift
register. The MODEM control inputs are internally
connected to the MODEM control outputs and the
outputs are forced to the inactive state.
Bits OUT2, OUT1, RTS, and DTR perform identical
functions on their respective outputs. When these
bits are set (logic 1) in the register, the associated
output is forced to a logic 0. When cleared (logic
0), the output is forced to logic 1.
OUT2 - Output 2:
Controls the OUT2 output as described above. The
OUT2 outputs of the 16552 are not used on the ES-
2000/ES-3000.
OUT1 - Output 1:
Controls the OUT1 output as described above. OUT1
does not have a physical connection on the 16552 and
Indicates one or more parity errors, framing errors,
or break indications in the receiver FIFO. FFRX is
reset by reading the line status register.
TEMT - Transmitter Empty:
Indicates the transmitter holding register (or FIFO)
and the transmitter shift register are empty and are
ready to receive new data. TEMT is reset by writing
a character to the transmitter holding register.
THRE - Transmitter Holding Register Empty:
Indicates the transmitter holding register (or FIFO)
is empty and it is ready to accept new data. THRE
is reset by writing data to the transmitter holding
register (or FIFO).
iii
FUNCTIONAL DESCRIPTION
Bits BI, FE, PE, and OE are the sources of receiver
line status interrupts. The bits are reset by reading
the line status register. In FIFO mode, these bits
are associated with a specific character in the FIFO
and the exception is revealed only when that character
reaches the top of the FIFO.
BI - Break Interrupt:
Indicates the receive data input has been in the
spacing state (logic 0) for longer than one full
word transmission time.
FIFO mode:
Only one zero character is loaded into the FIFO and
transfers are disabled until SIN goes to the mark
state (logic 1) and a valid start bit is received.
FE - Framing Error:
Indicates the received character had an invalid stop
bit. The stop bit following the last data or parity
bit was a 0 bit (spacing level).
PE - Parity Error:
Indicates that the received data does not have the
correct parity.
OE - Overrun Error:
Indicates the receive buffer was not read before the
next character was received and the character is
destroyed.
FIFO mode:
Indicates the FIFO is full and another character has
been shifted in. The character in the shift
register is destroyed but is not transferred to the
FIFO.
DR - Data ready:
Indicates data is present in the receive buffer or
FIFO. DR is reset by reading the receive buffer
register or receiver FIFO.
iii
FUNCTIONAL DESCRIPTION
MODEM
STATUS REGISTER
+------+
D7 | DCD |----- Data carrier detect
+------+
D6 | RI |----- Ring indicator
+------+
D5 | DSR |----- Data set ready
+------+
D4 | CTS |----- Clear to send
+------+
D3 | DDCD |----- Delta data carrier detect
+------+
D2 | TERI |----- Trailing edge ring indicator
+------+
D1 | DDSR |----- Delta data set ready
+------+
D0 | DCTS |----- Delta clear to send
+------+
DCD - Data Carrier Detect:
Complement of the DCD input.
RI - Ring Indicator:
Complement of the RI input.
DSR - Data Set Ready:
Complement of the DSR input.
CTS - Clear To Send:
Complement of the CTS input.
Bits DDCD, TERI, DDSR, and DCTS are the sources of
MODEM status interrupts. These bits are reset when
the MODEM status register is read.
DDCD - Delta Data Carrier Detect:
Indicates the Data Carrier Detect input has changed
state.
TERI - Trailing Edge Ring Indicator:
Indicates the Ring Indicator input has changed from
a low to a high state.
DDSR - Delta Data Set Ready:
Indicates the Data Set Ready input has changed
state.
DCTS - Delta Clear To Send:
Indicates the Clear to Send input has changed state.
Figure 7. Multi-function output pin control. (The
multi-function output is not used on the
ES-2000/ES-3000.)
CW - Concurrent write
When set (logic 1), the CPU writes concurrently to
the same register of both channels.
SCRATCHPAD
REGISTER
This register does not control the serial channel. It
may be used by the programmer for data storage.
iii
FIFO MOD
E OPERATION
IV. FIFO MODE OPERATION
FIFO INTERRUPT OPERATION
1.The receive data interrupt is issued when the FIFO
reaches the trigger level. The interrupt is
cleared as soon as the FIFO falls below the trigger
level.
2.The interrupt identification register's receive data
available indicator is set and cleared along with
the receive data interrupt above.
3.The data ready indicator is set as soon as a
character is transferred into the receiver FIFO and
is cleared when the FIFO is empty.
4.A recevier FIFO timeout interrupt will occur if:
a) there is at least one character in the receiver
FIFO.
b) the last character was received more than four
character times ago.
c) the most recent access of the receiver FIFO was
more than four character times ago.
FIFO
POLLED OPERATION
When interrupts are not used, the FIFO status is
checked using the Line Status Register. The Line Status
Register bits are defined in section III.
1.Bit 7 (FFRX) is set if there are any errors in the
receive FIFO.
2.Bit 6 (TEMT) is set if the transmit FIFO and the
transmit shift register are both empty.
3.Bit 5 (THRE) is set if the transmit FIFO is empty.
4.Bits 1 - 4 (OE,PE,FE,BI) are set if any errors have
occurred with the recevived character.
5.Bit 0 (DR) is set if there is at least one byte in
the receiver FIFO.
iii
FIFO MOD
E OPERATION
V. BAUD RATE SELECTION
Each channel of the 16552 determines its baud rate for
the serial output from a combination of the clock input
frequency and the value written to its divisor latches. The
input clock to the 16552 is shared by both channels.
Standard PC, PC/XT, PC/AT, and PS/2 serial interfaces use an
input clock of 1.8432 MHz. To increase versatility, the ES2000/ES-3000 uses an 18.432 MHz clock and a frequency
divider circuit to produce the standard clock frequency.
All eight channels will receive the same input clock
frequency.
Jumper block J1 is used to set the input frequency to
the 16552s. It may be connected to divide the clock input
by 1, 2, 5, or 10. To maintain compatibility with adapters
using a 1.8432 MHz input, J1 should be configured to divide
by 10 as shown in figure 8(d). Divisor latch values for
1.8432MHz and 18.432MHz input frequencies are given in
figures 9 and 10.
Figure 10. Divisor latch settings for common baud rates
using an 18.432 MHz input clock. Jumper J1
must be connected in the divide by 1
configuration (figure 8(a)).
iii
BAUD RAT
E SELECTION
VI. ADDRESSING
On the ES-2000/ES-3000, the eight serial channels are
arranged to form a continuous 64 byte block of I/O
addresses. This configuration offers more compact
addressing for software applications supporting serial ports
beyond the Serial 1 - Serial 8 limitations. The block may
be placed anywhere in the available I/O address range on an
even 64 byte boundary using the IBM installation utilities
and the Quatech address installation utility QTINSTAL.EXE.
Each channel of the 16552 occupies 8 bytes of the 64
byte I/O address block. The channels are addressed as shown
in the figure below.
The ES-2000/ES-3000 supports seven interrupt levels:
IRQ 3 - 7, IRQ 9, and IRQ 10. The interrupt level is
selected through the POS registers using the IBM
installation utilities and all eight channels share this
interrupt level. When sharing interrupts, the interrupt
pending bits in the interrupt identification registers or
the optional interrupt status register should be used to
test for the source of the interrupt.
An interrupt status register has been implemented on
the ES-2000/ES-3000 to ease the software burden associated
with interrupt sharing. An interrupt status bit (IPx) will
be set (logic 1) if there is an interrupt pending on the
associated channel.
When selected during the configuration process, the
interrupt status register is accessed by reading the
scratchpad register of any of the eight channels. The
interrupt status register is read only.
NOTE:
When enabled, the interrupt status register over-rides
the internal scratchpad register. Some software packages
test for the existance of a UART by reading and writing the
scratchpad register and may not recognize the ports of the
ES-2000/ES-3000.
iii
PROGRAMMABLE OPTION SELECT
VIII. PROGRAMMABLE
OPTION SELECT
Adapters designed for the MicroChannel bus structure
utilize on board registers referred to as the Programmable
Option Select (POS) registers to hold the adapter's
configuration information. The first two POS registers hold
a unique adapter identification number that has been issued
to Quatech for the ES-2000/ES-3000. These registers are
read only.
The two remaining POS registers on the ES-2000/ ES-3000
are used for address and interrupt selections. These
registers are programmed using the reference diskette
supplied with the PS/2 and the Quatech address installation
software QTINSTAL.EXE. These registers are read/write but
should not be written to by user software. The bit
definitions of these registers are given in figure 13.
The bits labeled ADS15 - ADS6 in figure 13 contain the
address decoding information. These bits directly
correspond to address lines A15 - A6. For example, if the
adapter is configured for a base address of 5640H, the POS
would appear as follows:
The final POS option is the Scratchpad/Interrupt status
register selection. When SCPSEL is set to logic 0, the
internal scratchpad registers are enabled for standard
serial port compatibility. When set to logic 1, the
scratchpad registers are overridden by the interrupt status
register as described in section VII.
iii
OUTPUT CONFIGURATIONS
IX. OUTPUT
CONFIGURATIONS
Auxiliary Channel Configuration
Channels 1 - 4 of the ES-2000/ES-3000 are equipped with
the ability to transmit and receive the RTS / CTS handshake
pair on the auxiliary communication lines. Jumpers J2 - J5
are used to enable or disable this feature as dicussed
below.
Transmission of RTS, when combined with reception of
CTS, allows for handshaking between the PC and a peripheral
device. RTS is transmitted by connecting pins 1 and 3 of
the jumper block (figure 14(b)). CTS is received by
connecting pins 2 and 4 (figure 14(b)). The RTS/CTS
handshake can be defeated by looping the RTS output back to
the CTS input. This is accomplished by connecting pins 1
and 2 (figure 14(a)).
AUXIN is the auxiliary input from a peripheral device.
Connecting AUXIN to AUXOUT provides a loopback mode of
operation. That is, whatever is transmitted by the
peripheral will be fed back out to the peripheral. This is
implemented by connecting pins 3 and 4 of the jumper block
(figure 14(a)).
Jumper J6 on the ES-2000/ES-3000 allows each of the
communication channels to operate in half duplex mode. Half
duplex mode allows the transmitter to be enabled and
disabled using the data terminal ready (DTR) output
controlled through the modem control registers of the 16552.
When DTR is set (logic 1), the transmitter driver is enabled
for both the data and auxiliary channel output (if
applicable). When cleared (logic 0), the transmitter
outputs enter a high impedance state. Full duplex operation
is restored by removing the associated jumper on J6.
CAUTION: When operating in half duplex mode, the
transmitter must be disabled before receiving
any information. Failure to do so will result
in two output drivers being connected together
which may cause damage to the adapter, the
computer, and/or the peripheral equipment.
The ES-2000/ES-3000 is equipped with a high density D62 female connector for its signal outputs. The connector
configuration and pinout for each of the channels is given
in the figures below.
Make sure there is a back-up copy of the original IBM
PS/2 reference diskette available. A copy of the
reference disk must be used for the installation
process as the diskette must be modified to accept any
option adapters.
1.Turn system unit off.
2.Remove system cover as instructed in the IBM Quick
Reference Guide.
3.Insert adapter into any vacant slot following the
guidelines for installing an option adapter in the
IBM Quick Reference Guide.
4.Replace system cover.
5.Turn unit on and insert a COPY of the IBM PS/2
reference diskette into drive A.
6.Respond "N" at automatic configuration prompt.
7.Select "Copy an option diskette" and follow copying
instructions.
8.Select "Set configuration"
9.Select "Change configuration" or "Run automatic
configuration" and follow installation instructions.
INSTALLATION
NOTE: When installing the ES-2000/ES-3000, if the desired
address is not available in the config-uration
routine, select any non-conflicting address and
continue with Additional Addressing (section XII).
After the initial installation, the copy of the
reference diskette will contain the configuration file for
the ES-2000/ES-3000. Subsequent re-installation may omit
step 10 and a "Y" response may be given during step 9
(automatically configure system) if desired.
iii
ADDITIONAL BLOCK MODE ADDRESSING
XII. ADDITIONAL ADDRESSING
The ES-2000/ES-3000 supports the entire I/O address
range of the PS/2 occupying 64 consecutive I/O locations.
This produces 1K possible choices for base address location.
Since it would not be feasible or practical to provide all
of these choices in the configuration file, 25 addresses
have been selected for inclusion in the file. An address
installation utility (QTINSTAL.EXE) has been included on the
distribution diskette to facilitate the address installation
process. QTINSTAL should be used ONLY if the desired base
address cannot be found through the IBM installation
utilities.
1.Insert the ES-2000/ES-3000 distribution disk in drive
A.
2.Execute QTINSTAL.
3.Select the ES-2000/ES-3000 by using the cursor keys to
highlight the selection and press <enter>. See figure
20.
4.At the prompt, insert the back-up copy of the IBM PS/2
reference in drive A.
5.Select an address to change by using the cursor keys to
highlight the address and press <enter>. (Addresses
will appear in ascending order.) See figure 21.
6.Enter the desired address in hex, decimal, or binary
(hex is the default radix). See figure 22.
7.Repeat steps 5 and 6 as necessary.
8.Press <esc> to exit the address menu.
9.Press <enter> to save configuration changes. (A back-up
copy of the configuration file will be generated.)
- OR -
Press <esc> to exit without saving changes.
10.Press <esc> to exit the board selection menu.
11.Press <esc> to return to DOS. The configuration file
is modified but the system configuration is not
updated.
- OR -
Press <enter> to enter the IBM installation utilities and