Digital Signal Processing Reference
In-Depth Information
12 Legacy Digital I/O Interfacing Standards
Historically, several common digital interface standards have developed over
the years to interface computers to their peripheral devices. This chapter will
introduce several of the older standards and briefly describe how they function
in a hardware design. Each standard has a unique set of hardware and
performance tradeoffs. Many devices and ICs are available that use these
standards. These interfaces are present in most PCs and are found in many
embedded systems including FPGA boards.
12.1 Parallel I/O Interface
The parallel printer interface standard was developed by Centronics in the
1970s and is a widely used standard for transferring 8-bit parallel data. Most
PCs have a parallel port. Data is transferred in parallel using eight data bits and
standard digital logic voltage levels. Additional status and control bits are
required for the sender and receiver to exchange handshake signals that
synchronize each 8-bit data transfer. Typically, the parallel printer port is
interfaced to two 8-bit I/O ports on a processor. One I/O port is used for 8-bit
data transfers and one I/O port for the status and control bits that are used for
handshake signals.
The transfer of an 8-bit data value is shown in Figure 12.1. First, the computer
waits for the printer's busy signal to go Low. Next, the computer outputs the
eight data bits and the computer then sets strobe Low for at least 0.5us. The
computer then waits for the printer to pulse Ack Low. The computer must wait
for Ack Low before changing the data or strobe lines. The printer may go Busy
after it raises Ack. The printer handshake lines are also used to force the
computer to wait for events like a slow carriage return or page feed on a
mechanical printer or errors like a paper out condition. Sometimes a timeout
loop is used to detect conditions like paper out. The UP3 board has a standard
printer parallel port connector. With the appropriate hardware, it can be used to
communicate with a standard printer.
In addition to printers, some special purpose devices also use the individual
parallel port bits in a number of different ways to output digital logic bits to
control external hardware. The ByteBlaster adapter you use to program the
FPGA is one such example.
The original parallel interface supported only unidirectional data transfers from
a computer to a printer. Recent parallel port standards such as IEEE 1284 ECP
and EPP support bidirectional and faster data transfers between an external
device and the computer. In these newer modes, another control bit from the
computer specifies the data transfer direction and tri-state gate outputs are used
in both the computer and printer to drive the data lines bidirectionally.
Parallel cables will only work for relatively short distances. The RS-232C
standard in the next section supports longer cables with fewer wires, but it also
has lower bandwidth and data transfer rates.
Search WWH ::




Custom Search