I am trying to use VISA to communicate with a PCI board that I am developing. The board has a PCI to PCI Bridge (DEC 21150) that then connects to multiple PCI devices on its secondary side. I can see my end secondary PCI bus devices using MAX but I cannot get MAX to recognize my bridge (I need to be able to access the bridges registers for certain applications). Am I doing something incorrect or trying to do something that is not supported?
NI-VISA cannot be the device driver for PCI-PCI bridges. There are a few reasons for this. First, the underlying driver for VISA's PCI resources, cannot be the driver for a PCI-PCI bridge. The reason is because PCI-PCI bridges are typically managed by the OS. To access the PCI-PCI bridge, you will have to develop a Windows driver.
We encountered this problem head-on a couple of years ago. Through lots of experimentation, we determined that different Windows variants handle bridges in very different ways. While we tried tried to follow all of the rules for writing a device driver on each Windows platform, some of them wouldn't give full access to PCI-PCI bridges (WinNT 4, for example). All this to say that this is a difficult problem, and the PCI-PCI bridge configuration interface isn't ideal for implementing application-specific functionality.
Julianna Forrest Applications Engineer National Instruments www.ni.com/ask