Uploaded by ibiro33

Parallel Port working

2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Parallel Port
When a parallel port is IEEE 1284 compliant, it supports EPP and
ECP modes at data rates up to 2 Mbytes/sec over cables as long as 10
From: Data Acquisition Techniques Using PCs (Second Edition), 2003
Related terms:
Semiconductor, Dielectrics, Amplifier, Resistors, Oscillators, Transistors,
Transducers, Amplitudes, Transformers, Electric Potential
Parallel Port
William Buchanan BSc (Hons), CEng, PhD, in Computer Busses, 2000
16.7 Notes from the author
The parallel port is hardly the greatest piece of technology. In its truly standard form, it
only allows for simplex communications, from the PC outwards. However, like the RS232 port, it’s a standard part of the PC, and its cheap. So, interface designers have
worked under difficult circumstances to try and improving its specification, such as
increasing its bit rate and allowing multiple devices to connect to it at the same time,
but it still suffers from a lack of controllability. Anyone who has changed the interface of
a device from the parallel port to the USB will know how much better the USB port is
over the parallel port.
The parallel port and RS-232 are the two top requests that I get from users, especially
related to project work. The Top 10 requests, in order of the most requests I have
received, are:
1. RS-232.
6. Interrupt-driven software.
2. Parallel Port.
3. Converting a DOS program to Microsoft Windows.
8. Network card design.
4. Borland Delphi interfacing.
9. Visual Basic interfacing
5. ISA card design.
10. Using, buffered systems.
One of the most amusing emails that I ever received related to an ISA card which I had
drawn. In the card, I had drawn a few chips, to basically show that it had some
electronics on it. So that the chips would not be confused with real chips I labelled one of
them XYZ123. One user sent me an email saying:
‘Thanks for … Please could you tell me the function of the XYZ123 device. I have
searched for this component, and cannot find any information on it. Please could you
send me some’ I didn’t really have the heart to write back to the user and say that it was
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
a made-up chip, so I sent an email back saying that it was not available at the present
time (which was true).
So why has the serial port become more popular than the parallel port. Well it’s because
of one reason: since PC’s started, the serial port has always been a standard port and
most manufacturers abide with it, whereas the parallel port was a quick fix so that the
original PC could communicate with a printer. In its standard form, it can only send
information in a single direction, and, even worse, only eight bits can be sent at a time.
Nevertheless, it has survived, and now has several uses, especially with printers, scanners
and external CDROMs. So it will hold the fort for a few years yet before the USB port
takes over in creating a truly integrated bus system. But, you may say, the USB port is
serial. So why transmit one bit at a time when you can transmit 8 or 16 or even 32 bits
at a time. Well it’s all to do with the number of wires that must be connected. A serial
bus always has the advantage over a parallel bus, in that you only really need one signal
line in a serial bus to transmit all the data. This saves space in both the connector, and
in the cable. It is also cheaper to install.
Personally, I think that there is no better bus for a student to start to learn how to
interface to external devices. It is relatively easy to build the interface electronics, and to
connect a few LEDs. How great it is to see a student’s face after they have written their
first program to make a few LEDs flash on and off. I remember a third year student
commented: ‘I’ve been programming for three years, and finally, we’re doing something
real.’ Whether you agree with this comment or not depends on the type of programming
that you would like to do. Some of us like doing databases, some like writing userinterfaces, but there are lots who like to make computers sense things and make physical
things happen. In the past, especially in the 1970s and 1980s, electronic engineers used
breadboards and wires to prototypes circuits. Sometimes the circuits blew-up, or times
they would stop working, but at least you knew where you were with the electronics.
These days with massively integrated circuits, it is difficult to know one end of a
microchip from another. They normally work first time, they’re easy to connect to, and
when they don’t work you just throw them in the bin. Image the size of the bin that
would have been required if someone had had build a Pentium processor from the
discrete transistors (over 20 million of them). Image the heat that would have been
generated. Assuming 15 mW for each transistor, the total power would be 300 kW,
which is equivalent to the heat given of by 3000 100 W light builds, or 300 1 kW
heaters. So it shows how far we have come in such a short time, as now we can touch
the processor, and it just feels a little hot. Personally, I would have no problems in going
back to the days when transistors had three legs and a tin hat, and you had to look up a
data sheet to tell which of the legs was the base, and which was the collector.
So, as the technology has moved on, the parallel port seems like an old friend. It has
watched the PC develop as the inners have become more integrated and faster, but it has
never really been a high flier, preferring instead to quietly perform its duties without
much bother. From CGA and EGA to VGA, from the serial port to the USB port, from
5.25inch floppy disks to 6550 MB CD-ROMs, and so on. But, there’s no way that the
parallel port could be allowed to stay as it was in the original parallel specification. It
has potential, but that potential is severely limited because it must always keep
compatibility with previous ports. So how is it possible to connect a printer on the
parallel port, and other devices, without the printer reading communications that are
destined for another device. If it wasn’t the PC, the designers would have simply ripped
up the original specification, and started again. But, you don’t do that with the PC, or
you’ll not sell. So, we’ll see in the next chapter how the parallel port has been dragged
into the modern age. But, as we’ll see, it’s more like a difficult toddler, than an
enterprising businessman. The prize for the best upgrade goes to Ethernet, which has
increased its transmission rate by a factor of 100 (10Mbps to 1Gbps).
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B978034074076750016X
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Data transmission interfaces
Peng Zhang, in Advanced Industrial Control Technology, 2010
(2) Parallel ports
A parallel port is a type of interface found on computers (personal and otherwise)
for connecting various peripherals. The IEEE-1284 standard defines the
bidirectional version of the parallel port. In its standard form, it allows only for
simple communications from the PC outwards. However, like the RS-232, the
parallel port is a standard port of the PC.
All parallel ports use a bidirectional link in either a compatible, nibble, or byte
mode. These modes are relatively slow, as the software must monitor the
handshaking lines (up to 100 kbps). To allow high speeds, the enhanced parallel
port and extended capabilities port protocol modes allow high-speed data transfer
using automatic hardware handshaking.
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9781437778076100142
Enhanced Parallel Port
William Buchanan BSc (Hons), CEng, PhD, in Computer Busses, 2000
17.5 EPP
The enhanced parallel port (EPP) mode defines a standard bidirectional
communications mode and is used by many peripherals, such as CD-ROMs, tape
drives, external hard disks and so on.
The EPP protocol provides four types of data transfer cycles:
1. Data read and write cycles – These involve transfers between the host and the
2. Address read and write cycles – These pass address, channel, or command and
control information.
Table 17.3 defines the names of the signal in the nibble mode. The
occurs automatically when the host writes data to the output lines.
Table 17.3. EPP mode signals
signal name
EPP mode name
In/out Description
A LOW for a write operation
while a HIGH indicates a read
Indicates a data read or write
Indicates an address read or
write operation.
Peripheral reset when LOW.
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
signal name
EPP mode name
In/out Description
Peripheral sets this line LOW
when it wishes to interrupt to
the host.
When it is set LOW it indicates
that it is valid to start a cycle,
else if it is HIGH then it is valid
to end the cycle.
User defined
Can be set by each peripheral.
User defined
Can be set by each peripheral.
User defined
Can be set by each peripheral.
In/out Bidirectional address and data
D0- D7
The data write cycle has the following sequence:
1. Program executes an I/O write cycle to the base address port + 4 (EPP data
port), see Table 17.4. Then the following occur with hardware:
Table 17.4. EPP register definitions
Port Name
I/O address Read/Write Description
Data register
Status register BASE_AD
EPP address
Generates EPP address read or
write cycle
EPP data port
Generates EPP data read or write
2. The
3. The
line is set LOW, which puts the data on the data bus.
is then set LOW.
The host waits for peripheral to set the
5. The
line HIGH.
are then HIGH and the cycle ends.
The important parameter is that it takes just one memory-mapped I/O operation to
transfer data. This gives transfer rates of up to 2 million bytes per second. Although
it is not as fast as a peripheral transferring over the ISA, it has the advantage that
the peripheral can transfer data at a rate that is determined by the peripheral.
17.5.1 EPP registers
Several extra ports are defined, these are the EPP address register and EPP data
register. The EPP address register has an offset of three bytes from the base
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
address and the EPP data register is offset by tour bytes. Table 17.4 defines the
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9780340740767500171
Standard Hardware Interfaces
Howard Austerlitz, in Data Acquisition Techniques Using PCs (Second Edition),
The Enhanced Parallel Port
The Enhanced Parallel Port (EPP) was originally developed by Xircom Inc., Zenith
Data Systems, and Intel Corp. as a next-generation parallel port. It is a fully
bidirectional port with a typical data rate of about 800 Kbytes/sec and a peak rate of
2 Mbytes/sec.
The EPP uses a data register up to 32 bits wide (if it is running on a 32-bit
processor) to speed up data transfers to the PC bus. The EPP uses hardware to
handle all the details of partitioning 32-bit data into 8-bit transfers and controlling
handshaking with the peripheral device (printer). Only one I/O port operation is
required to write (or read) parallel port data. These features, along with stringent
timing control, allow EPP to operate as fast as 2 Mbytes/sec (500 nsec for a single
transfer cycle).
The EPP's pin assignments are shown in Table 8-2. EPP is backward compatible
with a standard parallel port (often designated SPP). There are only six control lines
used by EPP's hardware handshaking protocol. A signal name beginning with “n”
indicates that it is active low. The nWRITE signal indicates whether the current
cycle is a write or read operation. The INTR line is used by a peripheral to signal the
PC that it needs service. The nWAIT signal is part of the hardware handshake and is
used by the peripheral to signal that it has finished the transfer. The nDSTRB line
indicates that there is valid data on the AD0–AD7 lines. The nINIT signal, when
asserted, forces the interface out of EPP mode and into SPP mode. The nASTRB
line indicates that there is a valid address on the AD0–AD7 lines.
TABLE 8-2. Enhanced Parallel Port (EPP) Pin Assignments
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Spare (unused)
Spare (unused)
Spare (unused)
EPP support four types of cycles: data write, data read, address write, and address
read. An address refers to a register on the peripheral (printer or other device).
Once an address is specified, data transfers, including bursts or multiple bytes, can
occur between the PC and the register.
Figure 8-4 shows a simple EPP data write cycle. The nWRITE line first goes low to
indicate a write cycle. Data is placed on the AD0–7 lines and nDSTRB is asserted (as
long as nWAIT is low). The EPP waits for the handshake from the peripheral when
nWAIT goes high. Then, nDSTRB is negated (high). When the peripheral is ready
for another transfer, it sets nWAIT low again. If nWAIT never goes high (because of
a hardware failure) the EPP times out after about 10 μsec.
Figure 8-4. EPP Data Write cycle.
The EPP uses the original three SPP registers at the I/O address base (3BEh, 37Ah,
or 27Ah), base+1 and base+2. It additionally uses an EPP address register at
location base+3 (for address write/read cycles) and an EPP data register starting at
location base+4. This data register can be up to 32 bits long (four I/O addresses) on
PCs that support 32-bit I/O transfers. This way, a single I/O write to the data
register under software control can result in four EPP byte writes to a peripheral,
under hardware control. This minimizes CPU overhead in servicing the parallel
Read full chapter
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
URL: https://www.sciencedirect.com/science/article/pii/B9780120683772500085
A.C. Fischer-Cripps, in Newnes Interfacing Companion, 2002
2.4.12 Parallel printer port
The parallel port normally found on microcomputers is generally used for printer
output although there are some input lines which are used to report printer status
(such as paper out etc.). The Centronics printer interface consists of 8 data lines, a
data strobe, and acknowledge, three control and four status lines.
The printer port is driven by the parallel port adaptor. In the adaptor, there are
three registers which are assigned I/O port addresses. The byte to be printed is
held in the data register which is at the port base address. The printer status
register contains the information sent to the computer by the printer, and has an
address of base+1. The printer control register has address base+2 and contains the
bit settings for computer control of printer functions.
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B978075065720450111X
Ian Sinclair, in Passive Components for Circuit Design, 2001
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Computer and other digital signal connections have, at least, reached some
measure of standardization after a period of chaos. At one time, it was quite
common to see edge connectors used for external connections, but this way of
breaking circuit boards has now been abandoned, and edge connectors should be
confined now to internal connections. Since the advent of the IBM PC style of
computer, there are four main types of connector that are peculiar to computing
and digital circuits.
The Centronics connector is used mainly for connecting a computer to a printer,
and it consists of a 36-contact connector which uses flat contact faces. At one time,
both computer and printer would have used identical fittings, but it is now more
common for the 36-pin Centronics socket to be used only on the printer. At the
computer a 25-pin subminiature D-connection is used, usually with the socket
chassis mounted. In a normal connection from computer to printer, only eighteen
of the pins are used for signals (including ground). The shape of the body shell
makes the connector nonreversible.
The original form of Centronics parallel port was intended for passing signals in
one direction only, from a computer to a printer. Several designers made use of the
unmodified system for bi-directional signals by using the four signal lines that
communicated in the reverse direction along with four data lines so as to get 4-bit
bi-directional signalling. This in turn gave rise to a standardized system for
allowing the use of the parallel port for 8-bit bi-directional signalling.
This is the standard IEEE Std. 1284–1994 system, and is otherwise known as the
EPP (extended parallel port) system. The EPP system is used for modern printers to
allow better software control so that, for example, an inkjet printer can signal that it
is running low on ink, or a laser printer can signal that it is running low on toner.
More significantly, the EPP has been used for industrial applications as an interface
between the computer and machines connected to the computer and controlled by
it. Printers of recent manufacture also feature a USB connection as an alternative.
The IEEE 1284 standard provides for high-speed signal transfer in both directions
between the PC and an external peripheral. The speed of data can be 50 to 100
times faster than was possible using the older Centronics port, but the EPP
connection on the PC is still fully compatible with older printers and other
peripherals that use the parallel port. You can also use an EPP port along with an
older Centronics port on the same PC.
The EPP type of port is standard on modern computers, and should normally be
set up by using a (default) option in the CMOS ROM. The system offers five modes
of operation, four of which maintain compatibility with older methods:
1. Data in forward direction only (out from computer), used for a normal
Centronics printer connection.
2. Bi-directional action using four status lines for data in reverse direction along
with four data lines in forward direction. This is also known as Nibble mode, and
has also been used in cables for connecting two or three computers together in
a simple network.
3. Hewlett-Packard Bitronics bi-directional mode, using data lines.
4. ECP (extended capability port) mode for printer and scanner use.
5. Fully bi-directional EPP mode used by some printers and also for computer
peripherals such as external CD-ROM, hard drive, etc.
The older bi-directional systems require software to implement each transfer, and
this limits the transfer rate to, typically, 50–100 Kbytes per second. Modern PC
machines have a port that can be used for ECP and EPP modes, and the I/O
controller chip firmware allows for direct control of the port action with a greatly
reduced external software overhead. A good comparison is the difference between a
DMA (Direct Memory Access) transfer and one made by using the processor to
read data and write to memory.
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
• The IEEE-1284 standard also provides supporting protocols that allow the PC
and its peripheral to agree on which mode to use. The standard also defines
the cable and connector formats, with electrical signal specifications.
Having EPP/ECP capability on a computer does not guarantee that it will be used
when you connect a printer to the port. The printer itself must be capable of
operating (usually) in ECP mode, and the operating system must also be capable of
using the ECP mode. Although an ECP port can operate in Centronics mode faster
than the older type of parallel port, full ECP speed with a printer that can work in
this mode requires the ECP port to be set up in the CMOS RAM, and the operating
system to use it.
Three types of connectors can be used. One, Type A, is the existing DB25 type,
updated to 1284 electrical standards. Type B and C are 36-pin connectors, of which
the Type C is the standard that is recommended for new designs. Type C is smaller
than older 36-pin types, uses a simple clip as anchor, and permits the use of
additional signals, peripheral logic high and host logic high. These additional
signals are used to find if the devices at each end of the cable are switched on.
Figure 9.4 shows these connectors; Types A and B are the familiar DB25 and
Centronics types that are currently used.
Figure 9.4. Standardized connectors for IEEE-1284 parallel system.
The same 25-pin D-connector can be used for serial connections, but more
modern machines use 9-pin sub-miniature D-sockets for this purpose, since no
more than 9-pin connections are ever needed. For other connections, such as to
keyboards, mice and monitors, DIN style connectors are often used, although the
sub-miniature D-type connectors are also common. The D-type connectors are
widely available in a range of sizes and with a large range of accessories in the form
of casings, adapters and tools, so that their use of all forms of digital signals is
strongly recommended.
There are now standard DIN fittings for edge connectors, including the more
satisfactory indirect edge connectors that have now superseded the older direct
style. The indirect connectors are mounted on the board and soldered to the PCB
leads, avoiding making rubbing contacts with the board itself.
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9780750649339500091
Parallel ports, power supply and the clock oscillator
Tim Wilmshurst, in Designing Embedded Systems with PIC Microcontrollers
(Second Edition), 2010
• The parallel port allows ready exchange of digital data between the outside
world and the controller CPU.
• It is important to understand the electrical characteristics of the parallel port
and how they interact with external elements.
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
While there is considerable diversity in the logic design of ports, they tend to
follow similar patterns. The internal circuitry is worth understanding, as it leads
to effective use of ports.
• The 16F84A has diverse and flexible parallel ports.
• A microcontroller needs a clock signal in order to operate. The characteristics of
the clock oscillator determine speed of operation and timing stability, and
strongly influence power consumption. Active elements of the oscillator are
usually built in to a microcontroller, but the designer must select the oscillator
type, and its frequency and configuration.
• A microcontroller needs a power supply in order to operate. The requirements
need to be understood and must be met by a supply of the appropriate type.
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9781856177504100058
Electronic Systems Design
Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008
PC Parallel Port (Centronics)
The PC parallel port (by Centronics) was until recently the port used primarily to
connect the PC [20, 21] to a printer device, as shown in Figure 2.34. Here, each
device is fitted with a 36-pin connector, and byte-wide data are sent from the PC to
the printer (the peripheral) with handshaking—i.e., both the PC and the peripheral
communicate with each other to control data transmission to be at a time suitable
for both.
Figure 2.34. Connecting a PC to a printer using the parallel port
Table 2.5 identifies the cable connections for the Centronics printer port. Signals
are transmitted on a twisted-pair (i.e., two wires twisted together) with its own
common connection. Signal directions are shown from the perspective of the PC
rather than the peripheral.
Table 2.5. Centronics (printer) port signals (PC connector)
Pin Number
Direction (PC) Meaning
Signal Common
Data strobe
Data bit 0 (LSB)
Data bit 1
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Pin Number
Direction (PC) Meaning
Signal Common
Data bit 2
Data bit 3
Data bit 4
Data bit 5
Data bit 6
Data bit 7 (MSB)
Finished with last character
Not ready
No paper
Pulled high
Auto LF
Initialise printer
Can't print
Deselect protocol
Additional ground
Chassis ground
Today, the parallel port connection to the printer is usually replaced by a USB
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9780750683975000027
Motherboard Design
William Buchanan BSc (Hons), CEng, PhD, in Computer Busses, 2000
5.1.4 82091AA (AIP)
The AIP device integrates the serial ports, parallel ports and floppy disk interfaces.
Figure 5.3 shows its connections and Figure 5.4 shows the interconnection
between the AIP and the PIIX3 device. The OSC frequency is set to 14.218 18 MHz.
It can be seen that the range of interrupts for the serial, parallel and floppy disk
drive is IRQ3, IRQ4, IRQ5, IRQ6 and IRQ7. Normally the settings are:
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Figure 5.3. API IC
Figure 5.4. Connections between TXC, PIIX3 and AIP
• IRQ3 – secondary serial port (COM2/COM4).
• IRQ4 – primary serial port (COM1/COM3).
• RQ6 – floppy disk controller.
• IRQ7 – parallel port (LPT 1).
Figure 5.4 shows the main connections between the TXC, PIIX3 and the AIP. It can
be seen that the AIP uses many of the ISA connections (such as 0WS#, IOCHRDY,
and so on). The interface between the TCX and the PIIX3 defines the PCI bus and
the interface between the PIIX3 and AIP defines some of the ISA signals.
2022. 01. 17. 8:26
Parallel Port - an overview | ScienceDirect Topics
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B9780340740767500055
Computer Architecture
Morris Chang, in The Electrical Engineering Handbook, 2005
Serial Port and Parallel Port
In general, there are two types of communication ports in a computer: serial ports
and parallel ports. A serial port is an interface through which peripherals can be
connected as a communication channel using a serial (bit-stream) protocol.
Usually, a serial mouse is connected to COMI (communication port 1). The most
common type of serial port is a 25-pin D-type connector carrying RS-232 signals.
Smaller connectors (e.g., 9-pin D-type) carrying a subset of RS-232 are often used
on personal computers. The serial port is usually connected to an integrated circuit
called a UART that handles the conversion between serial and parallel data.
A parallel port is an interface for a computer to communicate peripherals in parallel
manner. Data are transferred in or out in parallel, that is, on more than one wire. A
parallel port carries 1 bit on each wire, thus multiplying the transfer rate obtainable
over a single wire. There will usually be some control signals on the port that
indicate when data are ready to be sent or received. The most common type of
parallel port is a printer port (e.g., a Centronics port that transfers 8 bits at a time).
Disks are also connected via special parallel ports (e.g., SCSI or IDE).
Read full chapter
URL: https://www.sciencedirect.com/science/article/pii/B978012170960050027X
Copyright © 2022 Elsevier B.V. or its licensors or contributors.
ScienceDirect ® is a registered trademark of Elsevier B.V.