Manual PCI-IDO-48A Series
12
Chapter 4: Address Selection
This card uses I/O addresses offset from the base address assigned by the PCIe bus. The
address spaces are defined in the programming section of this manual.
PCIe architecture is Plug-and-Play. This means that the BIOS or Operating System
determines the resources assigned to PCIe cards. As a result, you cannot set or change the
card's base address or IRQ level. You can only determine what the system has assigned.
The following information is for advanced users only:
The PCIe bus supports 64K of I/O address space, so your card's
addresses may be located anywhere in the 0000h to FFFFh range.
To determine the base address that has been assigned, run the PCIFind
utility program. This utility will display a list of all the cards
detected on the PCI/PCIe bus, the addresses assigned to each function
on each of the cards, and the respective IRQs.
Alternatively, Windows systems can be queried to determine which
resources were assigned. In these operating systems, you can use
either PCIFind, or the Device Manager utility from the System
Properties Applet of the control panel. The card is installed in the
Data Acquisition class of the Device Manager list. Selecting the
card, clicking Properties, and then selecting the Resources Tab will
display a list of the resources allocated to the card.
In Linux you can use the LSPCI command to determine this information.
A PCIFind.pl script is also provided which may simplify this task.
An example of how to locate PCIe card resources in DOS is provided
with in the PCI\SOURCE directory, under your installation directory.
This code runs in DOS, and uses the PCI defined interrupt BIOS calls
to query the PCI bus for card specific information. You will need the
Device ID and Vendor ID listed above to use this code.
The card uses more resources than you usually need be concerned with.
For clarity, PCIFind shows only the most commonly required
information.
For those who require it, be aware of the following:
BAR[0]: memory mapped PEX8311
BAR[1]: I/O mapped PEX8311
BAR[2]: I/O mapped card registers (←all most software needs)