- 2070 Chaitra · 6 marks
PCI bus; 8255 printer interface at 5500H
Short answer
PCI is a high-speed local bus (32/64-bit, 33/66 MHz) with multiplexed address/data and plug-and-play. Base 5500H: port A=5500H (mode 1 output), B=5501H (mode 0 output), C=5502H, control=5503H. Control word A9H; enable interrupt with 0DH. Mode 1 output timing: WR' loads data, OBF' low, ACK' high triggers INTR.
Explain briefly about PCI bus. The base address for the interfacing circuit given below is 5500 H: (a) Identify the Port address (b) Write the necessary control words to initialize the 8255 (c) Draw the timing diagram for the configuration as shown in figure below. [Figure: an 82C55A PPI interfaced to a high speed printer. Port A (PA0-PA7) carries 8 data lines to the printer. Port C lines PC7 to PC4 carry handshake/control signals to the printer: DATA READY, ACK, PAPER FEED, FORWARD/REV. Port B (PB0-PB7) drives hammer relays and printer controls: PAPER FEED, FORWARD/REV, RIBBON, CARRIAGE SEN. PC1 and PC2 carry DATA READY and ACK handshake with the control logic and drivers; PC3 and PC0 carry INTERRUPT REQUEST lines.]
PCI bus
PCI (Peripheral Component Interconnect) is a 32/64-bit local bus at 33/66 MHz giving 132-528 MB/s. It has multiplexed address/data lines, bus mastering with burst transfers, plug-and-play configuration, processor independence through a host bridge, and replaced ISA in PCs.
Interpretation of the figure
Port A (PA0-PA7) sends data to the printer in mode 1 output; handshake: OBF_A' = DATA READY, ACK_A' = ACK from the printer, INTR_A = interrupt request. Port B in mode 0 output controls paper feed, forward/reverse, ribbon and hammers. PC4/PC5 and PC0-PC2 are used as inputs for printer sensing (carriage sense etc.).
(a) Port addresses (base 5500H, memory mapped, A1 A0 select)
Port A = 5500H, Port B = 5501H, Port C = 5502H, Control = 5503H.
(b) Control words
D7 = 1; port A mode 1 (D6D5 = 01), output (D4 = 0); PC4, PC5 input (D3 = 1); port B mode 0 (D2 = 0), output (D1 = 0); PC0-PC2 input (D0 = 1): 1010 1001 = A9H. Enable the printer interrupt (INTE_A = PC6): BSR 0000 1101 = 0DH.
MVI A,A9H
STA 5503H
MVI A,0DH
STA 5503H
(c) Timing diagram (mode 1 output)
WR' ---\___/-------------------------
PA0-7 ------< data valid >-------------
OBF' -------\_______________/--------- (DATA READY to printer)
ACK' --------------\_____/------------- (printer accepted)
INTR ______________________/--------\__
CPU writes data (WR' rising edge) -> OBF' goes low = DATA READY. Printer reads data and sends ACK' low. ACK' returning high sets OBF' high and INTR high (if INTE_A = 1), telling the CPU to send the next character.
Related questions
- 8255 at A0A0H: interface and control words · Instrumentation II, chapter 2
- 8255 mode 2 operation with timing diagram · Instrumentation II, chapter 2
- Keyboard and printer interface in 8255 mode 1 · Instrumentation II, chapter 2
- Centronics printer with 8255A in mode 1 · Instrumentation II, chapter 2
- Keyboard and printer with 8255A at 4044H · Instrumentation II, chapter 2
- 8-channel ADC interface with 8255 and 8085 · Instrumentation II, chapter 4
- Address decoding for 8 LEDs output port · Microprocessor, chapter 4
- Address decoding for input port at 8050H · Microprocessor, chapter 4
- Impedance diagram, 100 MVA 132 kV base, with load · Power System Analysis I, chapter 3
- Reactance diagram: 30 MVA, 6.6 kV base, three lines · Power System Analysis I, chapter 3