User`s manual

I/O SERVER User’s Manual Industrial PC
___________________________________________________________________
________________________________________________________________________
Acromag, Inc. Tel:248-295-0310 Fax:248-624-9234 Email:solutions@acromag.com http://www.acromag.com
37
Each IOS module contains identification (ID) information that resides in
the ID space. This area of memory contains at most 64 bytes of
information. Both fixed and variable information may be present within the
ID ROM. Variable information may include unique information required for
the IOS module. The identification Section for each IOS module is located
in the carrier board memory map per Table 5.3. Refer to the documentation
of the specific IOS module for information about ID Space contents.
The I/O space on each IOS module is fixed at 128, 16-bit words (256
bytes). The four IOS module I/O spaces are accessible at fixed offsets
from PCIBar2. IOS modules may not fully decode their I/O space and may
use byte or word only accesses. See each IOS module’s User Manual for
details.
Each IOS module may contain up to 8M bytes of Memory Space
arranged into 16-bit words. The four IOS module Memory spaces are
accessible at fixed offset from PCIBar3. IOS modules may not fully decode
their Memory space and may use only byte or word accesses. See each
IOS module’s User Manual for details.
Interrupt requests originate from the carrier board in the case of an
access time out and from the IOS modules. Each IOS may support 0, 1, or
2 interrupt requests. Upon an IOS module interrupt request, the carrier
board passes the interrupt request on to the processor unit, provided that
the carrier board is enabled for interrupts within the Carrier Board Status
Register.
1. Clear the interrupt enable bits in the Carrier Board Status Register by
writing a "0" to bit 2/bit 3.
2. Write an Interrupt Service Routine appropriate for your application and
perform any other IOS specific configuration required.
3. Determine the IRQ line assigned to the carrier during system
configuration (within the configuration register).
4. The IOS module asserts an interrupt request to the carrier board
(asserts interrupt request line IntReq0* or IntReq1*).
5. The carrier board drives PCI bus interrupt request signal INTA# active.
6. The interrupt service routine starts. Refer to the software
documentation for connecting the ISR to the IOS module Interrupts.
7. Interrupt service routine determines which IOS module caused the
interrupt by reading the carrier board interrupt pending register. If
multiple interrupts are pending, the interrupt service routine software
determines which IOS module to service first.
8. Perform desired IOS module operations in the ISR and re-enable
interrupts.
IOS Module ID Space- (Read
Onl
y)
IOS Module I/O Space -
(Read/Write)
IOS Module Memory Space -
(
Read/Write
)
GENERATING
INTERRUPTS
Sequence of Events fo
r
an
Interrupt