INDUSTRIAL I/O PACK SERIES
AVME9675A
VMEx64 bus 6U CARRIER BOARD
Acromag, Inc. Tel: 248-295-0310
- 41 -
http://www.acromag.com
- 41 -
https://ww.acromag.com
addition, the carrier board will remain in a state waiting for ACK* from the
IP. To take it out of this state, a software reset can be issued.
When an IP module places data on the bus, for all data read cycles, any
undriven data lines are read by the VME64x bus as high because of pull-up
resisters on the carrier board’s data bus.
4.7 VME64x Bus Interrupter
Interrupts are initiated from an interrupting IP module. However, the
carrier board will only pass an interrupt generated by an IP module to the
VME64x bus if the carrier board has been first enabled for interrupts. Each
IP module can initiate two interrupts which can be individually enabled on
the carrier board. After interrupts are enabled on the carrier board via the
Interrupt Enable Register (see section 3 for programming details), an IP
generated interrupt is recognized by the carrier board and is recorded in the
carrier board’s Interrupt Pending Register.
A carrier board pending interrupt will cause the board to release the
interrupt to the VME64x bus provided the Global Interrupt Enable bit of the
carrier’s Status Register has been enabled (see section 3 for programming
details).
The carrier board releases the interrupt to the VME64x bus by asserting the
interrupt request level as pre-
programmed in the carrier’s Interr
upt Level
Register. The carrier board’s interrupt logic then monitors the VME64x bus
Interrupt Acknowledge Input (IACKIN*) signal.
An active IACKIN* signal, detected by the carrier board, is either passed to
Interrupt Acknowledge Output (IACKOUT*) or consumed by the carrier
board. IACKIN* is passed to IACKOUT* if the VME64x bus interrupt level
does not match that programmed into the carrier’s Interrupt Level Register.
If a match is detected, the carrier board responds to the interrupt by
consuming IACKIN*.
The carrier board also responds to an interrupt by driving IP Interrupt Select
(INTSEL*) active to the IP that generated the interrupt, provided only one
interrupt has been issued. If two or more interrupts occur at the same time,
then INTSEL* is driven active to the IP with the highest priority. The carrier
board will prioritize the requests based on the last interrupt serviced. The
last interrupt serviced will be given the lowest priority. See section 3 for
more detail. The IP module responds by placing the interrupt vector on the
data bus and asserts ACK*. The carrier then asserts DTACK* active, and the
VME64x bus master responds by executing the code at the address of the
interrupt vector.
The user written interrupt routine should include code to clear the carrier
board’s pending interrupt via the carrier’s Interrupt Clear Register (see