Parallel port
From Wikipedia, the free encyclopedia

A parallel port is a type of socket found on personal computers for interfacing with various peripherals. It is also known as a printer port or Centronics port. The IEEE 1284 standard defines the bi-directional version of the port.
For the most part, the USB interface has replaced the Centronics-style parallel port. Some printers features an ethernet connection instead and — as of 2006, most modern printers are connected through a USB or ethernet connection, and often don't even have a parallel port connection. On many modern computers, the parallel port is omitted for cost savings, and is considered to be a legacy port. In laptops, access to a parallel port is still commonly available through docking stations.
Contents[hide] |
[edit] Uses
- Printers
- Zip drive
- Some old scanners
- Some early sound cards
- Some old Webcams
- Some old gamepads and joysticks
- Peripheral devices such as EPROM programmers
- SCSI devices via a Parallel to SCSI adapter
- Experimental setups using the 12 TTL drivers.
[edit] Port addresses
Traditionally IBM PC systems have allocated their first three parallel ports according to the configuration in the table below.
PORT NAME | Interrupt # | Starting I/O | Ending I/O |
---|---|---|---|
LPT1 |
IRQ 7 |
0x3bc |
0x3bf |
LPT2 |
IRQ 5 |
0x378 |
0x37f |
LPT3 |
IRQ 5 |
0x278 |
0x27f |
If there is an unused LPTx slot, the port addresses of the others are moved up. (For example, if a port at 0x3bc does not exist, the port at 0x378 will then become LPT1.) The IRQ lines, however, remain fixed (therefore, 0x378 at LPT1 would use IRQ 7). The port addresses assigned to each LPTx slot can be determined by reading the BIOS Data Area (BDA) at 0000:0408.
Bit to Pin Mapping for the Standard Parallel Port (SPP):
Address | MSB | LSB | |||||||
---|---|---|---|---|---|---|---|---|---|
Bit: | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
Base |
Pin: | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 |
Base+1 |
Pin: | ~11 | 10 | 12 | 13 | 15 | |||
Base+2 |
Pin: | ~17 | 16 | ~14 | ~1 |
~ indicates a hardware inversion of the bit.
[edit] Interfacing to
In MS-Windows 98 and previous operating systems like MS-DOS, programs could access the parallel port with simple outportb() and inportb() subroutine commands. In MS-Windows NT, 2000 and XP, the microprocessor is operated in a different security ring, and accesses to the parallel port are inhibited, unless using the required driver. This improves security and arbitration of device contention. However this also means that many legacy products will not work with later operating systems such as MS-Windows XP.
However in operating systems that always taken security seriously like unix (NetBSD, FreeBSD, Solaris, 386BSD, etc). Direct access to ports or any hardware registers has always been through a permission scheme or indirect means.
[edit] See also
[edit] References
- Parallel Port Pinouts Configuration
- Parallel Port Description and programming
- Axelson, Jan (2000). Parallel Port Complete. Lakeview Research. ISBN 0-9650819-1-5.