03.01.2015 Views

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

80C186EC/80C188EC Microprocessor User's Manual

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

INTERRUPT CONTROL UNIT<br />

10. On the second falling edge of INTA, the slave 8259A module drives the interrupt type<br />

corresponding to IR2 on the data bus. The CAS2:0 lines return to their inactive low state<br />

and the slave 8259A module floats its data bus when INTA goes high. The interrupt<br />

request signal from the master 8259A module to the CPU goes inactive (low). The master<br />

8259A module does not drive the data bus during a slave acknowledge.<br />

11. The CPU executes the interrupt processing sequence and begins to execute the interrupt<br />

handler for a slave IR2.<br />

12. The slave IR2 handler completes execution. The final instructions of the handler issue an<br />

End-of-Interrupt (EOI) command to the master 8259A module and a second EOI<br />

command to the slave 8259A module. This completes the servicing of slave IR2.<br />

8.3.6.3 Master Cascade Configuration<br />

The Master Cascade Configuration Register includes one bit for each of the eight interrupt request<br />

lines on the master 8259A module. Setting a bit for an IR line informs the master 8259A<br />

module that a slave 8259A module is connected to that IR line. The master uses the Master Cascade<br />

Configuration bits during an interrupt acknowledge cycle to determine whether the CAS<br />

lines should be active. The CAS lines are active only when a cascaded input is being acknowledged;<br />

the value on the CAS bus is equal to the line number of the cascaded interrupt request. For<br />

example, if the master is acknowledging an interrupt from a slave cascaded on line IR4, then the<br />

CAS2:0 bus is driving 100 binary (4 decimal).<br />

8.3.6.4 Slave ID<br />

The slave ID must always be programmed equal to the master IR line to which the slave is connected.<br />

For example, if a slave’s interrupt request output is connected to the master’s IR6 line,<br />

then that slave must be programmed for a slave ID of six. A slave 8259A module responds to an<br />

INTA signal (and deposits a vector on the bus) only if its slave ID and the CAS2:0 address match.<br />

Special precautions must be taken when connecting a slave to IR0 of a master 8259A module. A<br />

slave programmed for an ID of zero is active both for interrupts that it has requested and for uncascaded<br />

master interrupts (uncascaded interrupts leave the CAS lines inactive low). If this situation<br />

occurs, there will be contention on the data bus as both the master and the slave attempt to<br />

drive the interrupt type on the data bus. Never cascade a slave 8259A module to IR0 of a master<br />

module unless IR0 is the last available uncascaded input (i.e., the system is fully cascaded with<br />

eight slave 8259A modules).<br />

8.3.6.5 Issuing EOI Commands in a Cascaded System<br />

Interrupt handlers for slave interrupts must issue two EOI commands: one for the master and one<br />

for the slave. The master EOI must be sent first, followed by the slave EOI.<br />

8-17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!