Hello Mike,
Based upon my reading of your request, I would like to suggest you take a look at the possibility of using Shared Memory to accomplish your goal of interfacing a PCI-based DSP board to the VXI bus.
Using Shared Memory vs. Mapping Addresses in VXI ApplicationsConfiguring and Using Shared Memory from a National Instruments VXI//VME Bus ControllerFrom these application notes, you can see some examples of how to setup shared memory. The general idea would be to (a) configure your PCI-MXI-2 to share system memory, (b) call viMemAlloc() to allocate RAM, and (c) call viMapA
ddress() to get back an address.
The address returned by viMapAddress() is a user virtual address. It would be necessary to perform a page-table lookup in the kernel to then acquire a physical RAM address accessible by your PCI-based DSP board.
This will give you dual-port access to shared host RAM from both the VXI and PCI sides.
If you were looking more for a solution that allows control from the DSP board instead of simply access to the physical memory where data is stored, then the PCI-MXI-2 DDK may be your best option. If you are interested in the DDK, please contact your local sales engineer or an Application Engineer at ni.com/ask so they can discuss this option in more detail. They can provide further details on what the DDK offers to help you make an informed decision on whether this is the best option for you.
Regards,
Joshua Hernstrom
PXI/VXI Product Support Engineer
National Instruments