Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Standard Hardware Interfaces

Howard Austerlitz, in Data Acquisition Techniques Using PCs (Second Edition), 2003

8.2.1 Centronics (Standard) Printer Interface

The standard parallel printer interface, sometimes called the Centronics interface, is available on most PCs (except for some of the newest models) and is supported by most printers. It is an 8-bit, unidirectional interface designed to transmit data from a computer to a printer, using TTL signal levels. The data usually sent is either ASCII codes, where each byte representing a printable character or a command (such as a line feed), or graphics data, consisting of command codes or data values (see Section 8.3.1 for a discussion of ASCII codes).

The standard IBM-style PC parallel printer port uses a 25-pin connector (DB-25) with the pin designations shown in Table 8-1. A special cable is used to connect this port to the 36-pin Centronics connector on most printers. The signal directions shown in Table 8-1 are relative to the PC. Signals with names starting with a “–” (such as –ACK) are active low. The eight data lines, DATA0–DATA7, are unidirectional, sending data to the printer. The primary control and handshake lines in this interface are BUSY, –ACK, and –STROBE. BUSY goes low when the printer is ready to receive a new data byte. When the PC detects the printer is ready, it puts out data on the lines DATA0-DATA7 for a minimum of 500 nsec. Then it asserts the –STROBE signal for a minimum of 500 nsec, which tells the printer to read the data. The PC keeps the data lines valid for at least another 500 nsec.

TABLE 8-1. Standard Parallel Printer Port Pin Assignments

PIN #SIGNAL NAMEDIRECTION
1 –STROBE OUT
2 DATA0 OUT
3 DATA1 OUT
4 DATA2 OUT
5 DATA3 OUT
6 DATA4 OUT
7 DATA5 OUT
8 DATA6 OUT
9 DATA7 OUT
10 –ACK IN
11 BUSY IN
12 PE IN
13 SELECT IN
14 –AUTO FD XT OUT
15 –ERROR IN
16 –INIT OUT
17 –SELECT IN OUT
18–25 GROUND N/A

In the meantime, the printer asserts BUSY and does its internal processing. When ready, it simultaneously negates BUSY and asserts –ACK. –ACK is typically asserted for 5 to 10 μsec. The –ACK line is virtually a redundant signal and usually the BUSY line alone is an adequate handshake for the PC, signaling data was received by the printer. The timing of this interface is shown in Figure 8-3.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Figure 8-3. Parallel printer port interface timing.

The other parallel port control lines are used for various status and control functions. When –AUTO FEED XT is asserted by the PC, the printer automatically performs a line feed after it receives a carriage return. When the PC asserts –INIT for a minimum of 50 μsec, the printer is reset to a known state (usually equivalent to its initial power-on conditions). When the PC asserts –SELECT IN, it enables the printer to receive data.

When the printer asserts PE it indicates it is out of paper. When the printer asserts SELECT it indicates it is enabled to receive data from the PC. When the printer asserts –ERROR it indicates that it is in an error state and cannot receive data.

A DOS-based PC can support up to three standard parallel printer ports (depending on its BIOS) designated LPT1, LPT2, and LPT3. Each port uses three consecutive I/O addresses. When a system boots up, DOS assigns the physical printer ports present to the logical LPT designations. LPT1 is assigned first, followed by LPT2, then LPT3. The starting addresses of parallel printer ports, in the order assigned to LPT designations are 3BCh, 378h, and 278h. So, if all three ports are present in one system, port 3BCh becomes LPT1, port 378h becomes LPT2, and port 278h becomes LPT3. If port 3BCh is not present, port 378h becomes LPT1 and port 278h becomes LPT2. If only one parallel printer port is present it is designated LPT1. In newer PCs running Windows 95 or later, the operating system determines the parallel port settings as well as the parallel port type (see Section 8.2.2).

The printer port's starting address (3BCh, 378h, or 278h) is the data port, which can be an input or output. Writing to this port address latches 8 bits of data on the DATA0–DATA7 lines sent to the printer. Reading from this port address returns the last byte latched (the real-time status of the output).

The printer port's next address (3BDh, 379h, or 279h) is the status port, which is read-only. It returns to the PC the value of the five status lines coming from the printer on the upper five bits of the port, as follows:

Bits 0–2 = unused

Bit 3 = −ERROR

Bit 4 = SELECT

Bit 5 = PE

Bit 6 = −ACK

Bit 7 = −BUSY

These lines can be polled for proper handshaking during a data output sequence. In addition, when –ACK is asserted (active low) it can generate IRQ7 (if enabled). This allows interrupt-driven software to handle printer output as a background task, for printer spooling. The printer would interrupt the PC, via its –ACK line, whenever it is ready to receive new data.

The printer port's next address (3BEh, 37Ah, or 27Ah) is the control port that can be an input or output. As an output, the PC latches the values of its control lines on the lower five bits of the port, as follows:

Bit 0 = −STROBE (1 = asserted)

Bit 1 = −AUTO FEED XT (1 = asserted)

Bit 2 = −INIT (0 = asserted)

Bit 3 = −SELECT IN (1 = asserted)

Bit 4 = IRQ EN (1 = asserted)

Bit 5–7 = unused

Note that most of the lines are inverted and asserted by a high bit except for –INIT, whose output follows the control port bit. The signal IRQ EN enables the port's IRQ7 output when bit 4 is latched high. As with the data port, a read from the control port will return the last value written to it.

The easiest way to use this parallel port to send data to a printer is with existing BIOS, DOS, or Windows functions. Using the BIOS, INT 17h services the printer ports. It can print a character (Function 0), initialize the printer (Function 1), or read the printer status (Function 2). On printing a character, the proper handshaking protocol is used, with a time out if there is no response (if BUSY stays asserted indefinitely). The logical printer port (LPT) designation is used to select the desired printer. The BIOS does not support printer spooling, and special software must be used to support IRQ7 for printer output control.

A PC's parallel printer port can be used for other purposes besides printing, with certain limitations. It is ideal as a general-purpose output port with its eight unidirectional data lines, four output control lines and five input control lines. There was originally no standard software support for using it this way, unless the standard printer interface handshake protocol (as in Figure 8-3) was adhered to. This required special software to directly address the I/O ports used, supporting a custom protocol.

The parallel printer port can also be used as a general-purpose 5-bit input port, using the five status lines (–ACK, BUSY, PE, SELECT, and –ERROR). The real-time state of these lines can be read from the printer port's status register. In addition, the –ACK line can be used to generate IRQ7. The disadvantage here is having only 5 bits available for input and not being able to latch the data. Some commercial software has used this approach, called a nibble mode, to transfer 4 bits of data at a time. A common application is connecting a laptop computer to a PC via a special cable.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780120683772500085

Parallel Port

William Buchanan BSc (Hons), CEng, PhD, in Computer Busses, 2000

16.4 I/O addressing

16.4.1 Addresses

The printer port has three I/O addresses assigned for the data, status and control ports. These addresses are normally assigned to:

Printer Data register Status register Control register
LPT1 378 h 379 h 37ah
LPT2 278 h 279 h 27ah

The DOS debug program can be used to display the base addresses for the serial and parallel ports by displaying the 32 memory location starting at 0040:0008. For example:

 -d 40:00

 0040:0000 F8 03 F8 02 00 00 00 00–78 03 00 00 00 00 29 02

The first four 16-bit addresses give the serial communications ports. In this case, there are two COM ports at address 03F8h (COM1) and 02F8h (for COM2). The next four 16-bit addresses gives the parallel port addressees. In this case there is two parallel ports. One at 0378 h (LPT1) and one at 0229 h (LPT4).

16.4.2 Output lines

Figure 16.3 shows the bit definitions of the registers. The data port register links to the output lines. Writing a 1 to the bit position in the port sets the output high, while a 0 sets the corresponding output line to a low. Thus to output the binary value 1010 1010b (AAh) to the parallel port data then using Visual C++:

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Figure 16.3. Port assignments

 _outp(0x378,0xAA); /* in Visual C this is _outp(0x378,0xAA);*/

The output data lines are each capable of sourcing 2.6 mA and sinking 24 mA; it is thus essential that the external device does not try to pull these lines to ground.

The control port also contains five output lines, of which the lower four bits are STROBE¯, AUTOFEED¯, INIT and SELECTINPUT¯, as illustrated in Figure 16.3. These lines can be used as either control lines or as data outputs. With the data line, a 1 in the register gives an output high, while the lines in the control port have inverted logic. Thus a 1 to a bit in the register causes an output low.

Program 16.2 outputs the binary pattern 0101 0101b (55 h) to the data lines and sets SELECT INPUT¯=0, INIT = 1, AUTOFEED¯=1 , and STROBE¯=0, the value of the data port will be 55 h and the value written to the control port will be XXXX 1101 (where X represents don’t care). The value for the control output lines must be invert, so that the STROBE ¯ line will be set to a 1 so that it will be output as a LOW.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?
Program 16.2

#define DATA 0x378

#define STATUS DATA+1

#define CONTROL DATA+2

int main(void)

{

int out1,out2;

 out1 = 0x55; /* 0101 0101 */

 _outp(DATA, out1);

 out2 = 0x0D; /* 0000 1101 */

 _outp(CONTROL, out2); /* STROBE=LOW, AUTOFEED=HIGH, etc */

 return(0);

}

The setting of the output value (in this case, out2) looks slightly confusing as the output is the inverse of the logical setting (that is, a 1 sets the output low). An alternative method is to exclusive-OR (EX-OR) the output value with $B which will invert the 1st, 2nd and 4th least significant bits (SELECTINPUT¯=0, AUTOFEED¯=1, and STROBE¯=0), while leaving the 3rd least significant bit (INIT) untouched. Thus the following will achieve the same as the previous program:

 out2 = 0x06; /* 0000 0110 */

 _outp(CONTROL, out2 ^ 0xb); /* STROBE=LOW, AUTOFEED=HIGH, etc */

If the 5th bit on the control register (IRQ enable) is written as 1 then the output on this line will go from a high to a low which will cause the processor to be interrupted.

The control lines are driven by open collector drivers pulled to + 5 Vdc through 4.7 kΩ resistors. Each can sink approximately 7 mA and maintain 0.8 V down-level.

16.4.3 Inputs

There are five inputs from the parallel port (BUSY, ACK¯, PE, SELECT and ERROR¯). The status of these lines can be found by simply reading the upper 5 bits of the status register, as illustrated in Figure 16.5. Unfortunately, the BUSY line has an inverted status. Thus when a LOW is present on BUSY, the bit will actually be read as a 1. For example Program 16.3 reads the bits from the status register, inverts the BUSY bit and then shifts the bits three places to the right so that the five inputs bit are in the five least significant bits.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?
Program 16.3

#include < stdio.h >

#define DATA 0x378

#define STATUS DATA+1

int main(void)

{

unsigned int in1;

 in1 = _inp(STATUS); /* read from status register */

 in1 = in1 ^ 0x80 /* invert BUSY bit */

 in1 = in1 >> 3; /* move bits so that the inputs are the least significant bits */

 printf("Status bits are %d\n",in1);

 return(0);

}

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Figure 16.4. Output lines

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Figure 16.5. Input lines

16.4.4 Electrical interfacing

The output lines can be used to drive LEDs. Figure 16.6 shows an example circuit where a LOW output will cause the LED to be ON while a HIGH causes the output to be OFF. For an input an open push button causes a HIGH on the input.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Figure 16.6. Interfacing to inputs and outputs

16.4.5 Simple example

Program 16.4 uses a push button connected to pin 11 (BUSY). When the button is open then the input to BUSY will be a HIGH and the most significant bit in the status register will thus be a 0 (as the BUSY signal is inverted). When the button is closed then this bit will be a 1.

This is tested with

 if (in1&0x80)==1)

When this condition is TRUE (that is, when the button is closed) then the output data lines (D0–D7) will flash on and off with a delay of 1 second between flashes. An output of all 1 s to the data lines causes the LEDs to be off, and all 0 s cause the LEDs to be on.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?
Program 16.4

/* Flash LEDs on and off when the push button connected to BUSY */

/* is closed */

#include < stdio.h >

#include < dos.h >

#define DATA 0x378

#define STATUS DATA+1

#define CONTROL DATA+2

int main(void)

{

int in1;

 do

 {

 in1 = _inp (STATUS);

 if (in1&0x80)==1)

{

 _outp(DATA, 0x00); /* LEDs on */

 delay (1000);

 _outp(DATA, 0xff); /* LEDs off */

 delay (1000);

 }

 else

 _outp(DATA, 0x01); /* switch open */

 } while (!kbhit());

 return(0);

}

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B978034074076750016X

Interfacing

A.C. Fischer-Cripps, in Newnes Interfacing Companion, 2002

2.4.14 Parallel printer port operation

Although it is possible to write directly to the parallel printer port registers, it is customary to use the BIOS service routines available through the computer's operating system. Mostly this is done indirectly through high level program statements like PRINT. However, it is possible (and sometimes desirable) to call the BIOS routines directly from an assembly language program.

BIOS routines are called through interrupt 17H. Three services are available and are selected by the value placed in AH. For writing a byte to the printer, the data to be printed is put into AL. The DX register is set to indicate the LPT port to use (0 for LPT1:).

AH BIOS service
00 Write byte
01 Initialise printer
10 Report printer status

After the service has been executed, the contents of the printer status register are reported in AL.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

Centronics type parallel connector

When the printer port is being used through the BIOS service routines or being accessed directly, the following sequence is required to write the data:

The data to be written is placed in the Printer Port Data Register. That is, the byte is written to the printer port base address.

The readiness of the printer to accept data is confirmed by testing the bits in the Printer Port Status Register.

The STB line is then pulsed low by writing a 1 to bit 0 of the Printer Port Control Register. This transfers the data from the Printer Port Data Register to the Data Lines on the port connector.

Note: Although the parallel printer port is usually used for printing (i.e. output) there is no rule against using the port for input and output for other peripherals. The more recently introduced IEEE 1284 (1994) standard defines five modes of data transfer: Compatibility Mode (standard mode); Nibble Mode (4 bits in parallel using status lines for data); Byte Mode (8 bits in parallel using data lines); EPP (Enhanced Parallel Port – used primarily for CD-ROM, tape, hard drive, network adapters, etc.) and ECP Extended Capability Port – used primarily by new generations of printers and scanners.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B978075065720450111X

FilterCAD user’s manual, version 1.10

Bob Dobkin, Jim Williams, in Analog Circuit Design, 2013

Printing a report

Item 7 on the MAIN MENU, “SYSTEM Status/Reports,” displays a varied collection of information on your system, such as the date and time, the presence or absence of a math coprocessor, and the status of your printer and communications ports. It also shows the state of progress of the current design, including the total design time. (Gosh, a 6th order Butterworth lowpass in 00:05:23, only five seconds shy of the record!) The main function of this screen, however, is to print a design report. This report will include all of the information about your filter available on the design, optimization and implementation screens, except for the mode diagrams. You can also print the gain, phase and group delay of your filter design by pressing

P

Note that if you have not completed the design process by implementing the design and calculating resistor values, the “REPORT AVAILABLE” line will say “PARTIAL.” A partial report, lacking modes and resistor values, can be printed, but for a complete report you must implement and calculate resistor values.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780123978882000237

Electronic Systems Design

Ian Grout, in Digital Systems Design with FPGAs and CPLDs, 2008

2.14.2 Parallel I/O

Parallel I/O allows groups of data bits to be transmitted simultaneously. In early versions of the microprocessor, data was grouped into bytes (8 bits). Today, microprocessors work with 8, 16, 32, 64, and 128 bits of data. Access to more memory requires address buses with an increased number of bits and the required control signals. The variety of parallel I/O standards available for use today include:

Centronics (PC printer port)

IEEE 488-1975 (also known as GPIB, general purpose instrument bus)

SCSI (small computer system interface)

IDE (integrated drive electronics)

ATA (AT attachment)

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.

Which of the following expansion cards support the connection of up to 63 peripherals in a tree chain topology?

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)

NamePin NumberDirection (PC)Meaning
SignalCommon
STROBE 1 19 OUT Data strobe
DO 2 20 OUT Data bit 0 (LSB)
D1 3 21 OUT Data bit 1
D2 4 22 OUT Data bit 2
D3 5 23 OUT Data bit 3
D4 6 24 OUT Data bit 4
D5 7 25 OUT Data bit 5
D6 8 26 OUT Data bit 6
D7 9 27 OUT Data bit 7 (MSB)
ACKNLG 10 28 IN Finished with last character
BUSY 11 29 IN Not ready
PE 12 30 IN No paper
SLCT 13 IN Pulled high
AUTO FEED XT 14 OUT Auto LF
INIT 31 16 OUT Initialise printer
ERROR 32 IN Can't print
SLCT IN 36 OUT Deselect protocol
GND 33 Additional ground
CHASSIS GND 17 Chassis ground

Today, the parallel port connection to the printer is usually replaced by a USB interface.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780750683975000027

ADVANCED TECHNIQUES

MALCOLM J.W. POVEY, in Ultrasonic Techniques for Fluids Characterization, 1997

5.4.4 RS232C

RS232C is a protocol for serial communications between electronic instruments and computers. Serial communications involves the transmission of one bit (the elementary unit of data; it can have no more than two values) at a time and is therefore slower than parallel communications such as that using IEEE and printer ports, which can transmit one or more characters at a time. This protocol can be implemented with as few as three wires, which means that it can be very cheap. As a result, it has become the generic computer interface and is found in every PC. The RS232C protocol is loosely defined in practice, and this can cause problems in its implementation. The RS232C protocol defines the role of the wires making up the interconnection; the code associated with the protocol has been adopted by convention, but is not strictly enforced. Special interfaces must be used if more than one instrument is to be coupled to a single RS232C interface.

For various reasons, programming a serial interface can be a much more complicated task than programming IEEE.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780125637305500064

The digital computer

Martin Plonus, in Electronics and Communications for Scientists and Engineers (Second Edition), 2020

8.3.9 Connection to external devices

The ability to connect the computer with devices outside the computer is an important feature. Common devices include printers, memory sticks, projectors for lecture presentation, external mice for laptops, and many others. In engineering, lab and test equipment is often connected to computers, which can then collect and analyze data and even control the testing process. In the early days of computing these connections were made typically in one of two ways. The computer's bus, as described in Section 8.3.7, could be made available to the outside through standard bus extensions, such as the PCI bus. This method provided high-speed access to the device outside the computer. Alternatively, the external equipment could include the standard parallel printer interface and be connected to the computer through its standard printer port. This method was slower but still suitable for many kinds of external equipment. During the period 1970 through 2000, external equipment was provided with serial communication ability and could be connected to the computer through the standard RS232 port. Equipment that required higher speeds used newer parallel interfaces, such as the IEEE-488 bus or the SCSI bus. Since 2010 these have almost all disappeared in favor of the newer very high-speed connections such as USB and HDMI. Newer laptops no longer have parallel ports or RS232 ports.

USB (Universal Serial Bus) was first introduced in 1996. It has undergone several revisions and extensions that allow transmission over longer distances and at much higher speeds than the first version. USB 3.2, released in 2017, can transmit data at speeds up to 20 Gbit/s. USB was meant to connect computers to their peripheral devices, such as disks, keyboards, and mice. Cable length was not an important consideration, and USB cables are limited to 3–5 m depending on the speed of transmission. USB is an asynchronous serial protocol in which data is transmitted using differential drive. A USB A/B cable has four wires—GND, Vcc, D +, and D −. Cables for the later ultra-high speed versions have additional wires for high-speed transmit and receive. USB is a point-to-point protocol. A host device (normally the computer) connects through a USB cable to a device at the other end of the cable. (By contrast, some serial protocols, such as IIC and CAN, allow many devices to attach to the bus and any number of them to act as host at different times.) The other device can be an USB hub, which splits the connection and allows connection to several devices further down the chain. The structure is like a tree, with the host (the computer) as the root of the tree. All USB bus activity is initiated by the host.

HDMI (High Definition Multimedia Interface) was introduced in 2002 to provide a standard connector for the transmission of video and audio data. Like USB it has undergone several revisions. HDMI 2.1, introduced in 2017, has data speeds up to 48 Gbit/s. HDMI cables are limited to 10–13 m due to practical considerations such as signal attenuation, but several companies offer repeater boxes that retransmit an incoming signal to an outgoing port. The HDMI cable itself contains power and GND wires, a pair of wires used for IIC serial transmission, another wire used for special audio transmissions, and four sets of data bundles. Each bundle is a shielded differential drive pair; thus, each bundle has three connections—the shield, positive data, and negative data. Type B cables contain two additional data bundles. Each data bundle is dedicated to a specific type of information related to the video and audio information being transmitted. For example, one is a dedicated clock, another is dedicated to display data, and a third provided for controlling multiple electronic devices with a single remote. HDMI ports on computers are mainly used for transmission of video/audio data from the computer to external devices like projectors, camcorders, and HDTVs. The HDMI standards define protocols for a large number of video/audio related functionalities, such as 3D video, lip-synch, multiple audio channels, and many more. The HDMI port would not typically be used for interface to non-video type lab equipment.

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B9780128170083000085

Computer Architecture

Morris Chang, in The Electrical Engineering Handbook, 2005

1.3.2 Interfaces

Computers communicate with peripherals or each other by using I/O chips as interfaces. These chips include universal asynchronous receiver transmitters (UARTs), and parallel input/outputs (PIOs). A video graphics adapter (VGA) interface is used to send signals to a monitor; a parallel port is used to communicate with a printer; and a serial port is used to communicate with a mouse, and so on. First, an interface takes signals from busses according to an I/O addresses. For example, a UART chip can read a byte from the data bus and output it in a serial format with parity check. It can be configured as various transmission speeds from 1200 bps to 115,200 bps. Different interfaces have their own specifications and transmission protocols. The following subsections give a brief introduction.

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).

PS/2 Port

A type of port developed by IBM for connecting a mouse or keyboard to a PC is the PS/2 port. This port supports a mini-DIN plug containing just six pins. Most PCs have a PS/2 port so that the serial port can be used by another device, such as a modem. The PS/2 port is often called the mouse port. Most laptops have one PS/2 port that is used to hook up a full-sized mouse or keyboard to a laptop. To hook up both a mouse and a keyboard, a PS/2 keyboard and a serial-type mouse are required. The mouse will interface through the laptop's standard serial port.

Integrated Drive Electronics (IDE)

In mid-1980's, the disk controller for a hard drive had integrated with the drive itself. The integrated drive electronics (IDE), also called ATA (AT attachment), interface hard drive appeared. However, IDE hard drive has a maximum size limitation (528 MB) due to basic input output system (BIOS) conventions (16 heads, 63 sectors, and 1024 cylinders).

Extended IDE (EIDE) also called ATA-2, drives were later introduced to solve the problem by supporting a second addressing scheme called logical block addressing (LBA) mode. It allows numbering sectors from 0 to 2^24–1 and, consequently, gets beyond the 528-MB limit. The IDE can also control four drives instead of two, has a higher transfer rate, and has the ability to control CD-ROM drives.

AT Attachment Packet Interface (ATAPI)

The enhanced IDE standard functions as an interface for hard drives and PCs. It would be great, however, if other devices such as tape drives and CD-ROMs could be controlled through the same controller. The AT attachment packet interface (ATAPI) is an extension to EIDE that enables the interface to support CD-ROM players and tape drives. Using ATAPI-capable hardware and software drivers, mixing and matching different types of drives on the same EIDE controller, are possible which are both a convenience and savings in hardware costs.

Small Computer System Interface

Small computer system interface (SCSI), standardized in 1986, is a flexible I/O bus that has been used in a number of peripherals such as disk drives, CD-ROM drives, tape drives, and scanners. SCSI drives have much higher transfer rates than IDE drives. A SCSI-controlling card plugged into a system expansion slot serves as a host to other SCSI devices. At most, 7 SCSI devices can be linked together to a host (15 for wide SCSI).

There are several versions of SCSI standards: SCSI-1 standard supports transfer rates of up to 3 MBPs, SCSI-2 supports up to 20 MBPs, and SCSI-3 supports up to 40 MBPs. In a chain of SCSI devices, any one can be either an initiator or a target. Normally, the SCSI controller, acting as an initiator, issues commands to other SCSI devices acting as targets. The commands descriptor block (CDB) can be up to 16 bytes and tells the target what to do. These CDB commands are also used to arbitrate the bus when more than two SCSI devices try to use the bus as the same time. This arbitration mechanism improves performance by allowing more than two SCSI devices to be activated at the same time, whereas only one IDE device can be activated at one time. The following are lists of characteristics for different SCSIs:

Major SCSI-1 Characteristics

Very short bus with only two SCSI connectors or devices

Single initiator and single target

Transfer rates of 3 MBPs or less

No arbitration, no parity, no disconnect

Single-ended interface

6-byte command descriptor block (CDBs)

5-MHz bus frequency (transfer rate)

Major SCSI-2 Characteristics

Higher performance than SCSI-1

Transfer rates increased to 10 MHz, synchronous mode, routinely using 5 MHz

Lower overhead, often below 30%

Single-ended and differential interfaces

SCSI bus up to 4 bytes wide (32-bit); main use of the 2-byte wide bus, achieving 20-MBPs burst transfer rates

Diversity of peripheral device types (10 types)

Greatly improved compatibility

Improved functionality (e.g., command queuing, disconnect, etc.)

Improved reliability (e.g., arbitration, parity, error reporting and classification, new commands)

Major SCSI-3 Characteristics

Much higher performance in respect to burst transfer rates (greater than 40 MBps) and lower overhead

Distance in kilometers rather than just meters

Expanded addressability, allowing an almost unlimited number of devices on the same bus

Universality use of the SCSI system expanded even more

Higher reliability and robustness of systems

20-MHz bus frequency (transfer rate)

Universal Serial Bus

The universal serial bus (USB) standard was originally developed by Compaq, Digital Equipment, IBM, Intel, Microsoft, NEC, and Northern Telecom. USB is a two-way serial channel with supports of hot-swapping and a 12-Mbps data transmission rate. It allows up to 127 devices to be connected into a PC through a multilevel tiered star topology using USB hubs. Furthermore, it adopts standard connectors and eliminates add-in interface cards, which results in lower costs for developers and consumers. Features include:

12 Mbps (1.5 Mbps for low-speed devices, such as keyboards)

Up to 127 devices that can be hooked up together

Cable length less than 5 ms

Two-way communication channel

Hot-swapping

IEEE 1394

The IEEE 1394 is a high-performance serial bus. App developed the bus in early 1990s and called it Fire Wire bus. Sony also markets a similar product under the name i.Link, which is one of many 1394-compliant devices. Because of USB's low speed, it does not provide support for high-speed peripherals, such as digital camcorders and high performance printers. IEEE 1394 can support these high-speed peripherals. IEEE 1394 is the only bus structure that can be used as an internal bus and an external bus in a computer system.

The 1394 bus is faster than the USB and most versions of SCSI (it will approach or exceed the speed of PCI in the future). Furthermore, the IEEE 1394 specification is designed to replace the SCSI buses and PCI buses. Features are as follows:

Up to 400 Mbps (800 Mbps for 1394a and 1394b)

Up to 63 devices per segment

Cable length less than 4.5 meters

Comparisons

Table 1.1 illustrates data transfer rates ranking from slowest to fastest.

TABLE 1.1. Illustration of Interface Performance

Bus typeMaximum speed (MBps)
Parallel port (unidirectional) 0.0050–0.015
Serial port (16550 UART) 0.0144
Parallel port (bidirectional) 0.01–0.0375
Serial port (16550/16750 UART) 0.02875–0.0575
USB 12
Parallel port (EPP) 2
SCSI Regular, 5: wide, 10
ISA (16-bit) 8
SCSI (Fast) Regular, 10; wide, 20
SCSI (Ultra) Regular, 20; wide, 40
IEEE 1394a 400
USB 2.0 480
SCSI (Ultra-2) Regular, 40: wide 80
IEEE 1394b 800
SCSI (Ultra-2) Regular, 40: wide 80
IEEE 1394a 100
PCI (32-bit) 133
PCI (64-bit) 267
AGP 267
IEEE 1394b 200–400
AGP 2X 533
AGP 4X 1067

Read full chapter

URL: https://www.sciencedirect.com/science/article/pii/B978012170960050027X

Which of the following expansion card's support the connection of up to 63 peripherals in a tree chain topology?

FireWire can connect up to 63 peripherals in a tree or daisy-chain topology (as opposed to Parallel SCSI's electrical bus topology).

What are the 4 types of expansion cards?

4 Types Of Expansion Cards.
Sound Card: A sound card allows a computer to receive sound in digital form and reproduce it through speakers. ... .
Graphics Card: Graphics card is also known as a video card. ... .
Network Interface Card: A network interface card enables a computer to connect and communicate with other computers. ... .
Modem:.

What expansion card is used to connect a computer to a network?

What is a network interface card (NIC)? A network interface card (NIC) is a hardware component, typically a circuit board or chip, which is installed on a computer so it can connect to a network.

What are the 3 types of expansion slots?

In this picture, there are three different types of expansion slots: PCI Express, PCI, and AGP. PCI Express: The best type of expansion slot to have in your PC is the PCI Express, also written as PCIe.