|
Technical
The Internal Components
The Basic IO Ports
The Basic Input Output (I/O) Ports
This page covers the parallel port, the serial ports, game port and
USB ports.
The Parallel Port
Most of us rely on the parallel channel for fast access to printers and
other devices, such as external tape and CD-ROM drives. A standard parallel
cable consists of 25 wires that transfer information one byte at a time.
Each wire terminates in a connector called a pin, and is often referred
to as a 25-pin connector. The 8 bits that make up each byte travel in
parallel across 8 of the 25 wires. One limitation of the standard
parallel channel is the distance between the device and the computer.
The parallel port is best suited for distances of 15 feet or less. Longer
parallel cables are available, but the extra length may corrupt the data
unless the signal is amplified. The parallel port, has changed four since
the first IBM PC:
Unidirectional, 4-bit Original IBM PCs and compatibles;
Bi-directional, 8-bit IBM PS/2s and compatibles;
Type 3 direct memory access (DMA) PS/2s and compatibles;
Enhanced parallel port (EPP) 386-based computers;
Enhanced capabilities port (ECP) Pentium-based computers.
The original IBM PC incorporated a unidirectional parallel port, which
can send information in only one direction. In the late 1980s, IBM and
other computer manufacturers introduced bi-directional parallel ports.
The new ports used an additional 8 of the 25 wires in the parallel cable
for data ravelling in the other direction. Bi-directional ports enabled
printers to send status messages about print jobs back to the computer.
The next parallel port was type 3 direct memory access (DMA) ports, allowing
much faster bi-directional performance. This technology relied on the
computer setting aside a block of memory to cache data written to the
parallel port. Type 3 DMA ports improved performance dramatically, since
the CPU no longer needed to regulate the flow of information.
The enhanced parallel port specification (EPP, or fast mode port), depends
on peripheral devices that can dynamically manage the information ravelling
across the cable. The current EPP standard is also known as IEEE 1284.
The latest parallel port is the enhanced capabilities port (ECP). Parallel
ports using this technology have better performance than EPP ports, but
require software designed to take advantage of direct memory access and
data compression capabilities.
The Serial Port
The serial channel is mainly used to connect modems and mice to the serial
port. Serial data is sent in series, one bit at a time, over a single
wire. This is significantly slower than sending 8 bits at a time via a
parallel channel, but can travel much farther without needing amplified.
Serial ports use a universal asynchronous receiver-transmitter (UART)
chips. This chip, at the core of a serial port operation, converts data
heading out through the serial port from the computer's parallel
stream to a serial stream. The UART is also responsible for reassembling
data coming in through the serial port and converting it back into a parallel
stream. The UART chip 16550 is found in all of today's ports. One of the
major new features of the 16550 is that it has a 16-byte buffer and uses
the first in, first out (FIFO) buffering technique. This means that the
16550 can continue to receive incoming characters and store them in the
buffer while the CPU is busy handling other tasks. Then, when the CPU
turns its attention back to the UART, it can pass on the entire contents
of its buffer to the CPU for processing. Since it can continue to work
while the CPU is busy, the 16550 has brought major performance gains in
serial communications. The chip was an improvement over the previous version,
the 16450, but in the early 16550s there were various limitations and
bugs that can bottleneck the performance of serial devices. Since, the
16550 has improved and released as the 16550A, 16550AN, and then the 16550AFN.
First in, first out (FIFO) is a method of processing a queue in which
items are removed from the queue in the same order in which they were
added. The first item in is the first item out.
Game Port
The game controller adaptor and port are normally integrated on the multi
I/O adaptor or on a sound card, however seperate stand alone boards that
use an expansion slot can be purchased. The controller, such as joystick
or gamepad connects to the adaptor using a 15 pin D shell connector. One
or two controllers can connect to a single port connector using a split
cable. The controller port interface senses each controllers X and Y values,
generated by potentiometers (POTs) built into the controller. The controller
port supports a total of four switches or buttons.
The controller reports X and Y positions as resistive values generated
by the POT's. The controller does not read the values directly. The game
adaptor's capacitor is charged to +5 volts and then discharged through
the POT's and a resistive value is calculated by measuring the time it
takes to discharge. All four POTs are discharged at the same time.
Note that most game ports support a MIDI serial port connection.
The USB Port
The Universal Serial Bus, using a single cable, allows connecting
keyboards, mice, joysticks, scanners, printers, monitors, telephones,
modems, ISDN modems, and an assortment of other devices to a computer.
127 devices can theoretically be daisy chained together from a single
port, since each length of USB cable can be as long as 15 feet.
The USB channel sends more than just data through the cable. It also supplies
a 5-volt power line to the peripherals connected to it. Compared to parallel
and serial ports, USB ports are very fast and has two data speeds. 1.5
Mbs for devices such as keyboards, mice, and joysticks and 12 Mbps for
devices such as scanners, printers, monitors, and modems. Almost the speed
of a 10BaseT Ethernet network. When used with an operating system that
supports USB, devices can be added and removed without powering down or
reconfiguring the computer. When a new device is added or removed, the
system automatically detects the change and then loads or unloads the
appropriate driver.
|