Acumen SDR2-USB Barcode Reader User Manual


 
Serial Port Basics SDR2-USB Configuration Guide rev 1.0
32
The EIA RS-232C standard permits data rates up to 19200 bps and cable
lengths up to 400 meters (but not both).
data rate maximum distance
(bps) (meters) (feet)
19200 15 45
9600 25 76
4800 50 152
2400 100 304
1200 200 608
600 400 1216
Table A.1. Data rates and distances for RS-232 communications.
Although the specification only defines rates up to 19200 bps,
communication using data rates as high as 230400 bps and a short (<2
meter) cable are common. Standard modems communicate with computers
at up to 115200 bps.
As you may have guessed, the use of high baud rates requires more capable
computer hardware. At high baud rates, a computer must process as many as
23000 characters per second. The constant attention a computer must pay to
its serial port makes this problematic particularly in multitasking
environments such as Microsoft Windows 3.1/95/98/NT/2000.
A.2.1 Data rates and the UART
Computer hardware designers solve this problem by allowing the computer
to respond to characters less frequently. A Universal Asynchronous
Receiver/Transmitter (UART), the component responsible for
communicating via RS-232, may contain several bytes of memory called a
FIFO (first-in, first-out memory).
The original IBM PC (and many of its successors) used the 8250 UART,
which contained no FIFO. That is, a computer with 8250 (or 16450)
UART’s must respond to every incoming character.
Newer PC’s incorporate the 16550 UART or a variant. The 16550
incorporates a 16-byte FIFO and is mandatory for communications at
speeds above 9600 bps and is important for error-free communications at
lower speeds as well.
You can find out which type of UART’s your computer uses by using the
MSD.EXE tool provided with DOS and Windows or by looking in the
Windows 95/98 control panel.
A.3 More asynchronous serial parameters
In most cases, the data rate in bytes/second can be approximated by dividing
the baud rate (in bits/second) by 10. If a byte consists of 8 bits, why divide
by 10?