Showing results for 
Search instead for 
Did you mean: 

VXI device with a VME-MXI-2 controller

I'm trying to assist a customer who is trying to use one of our VXI products in a GenRad D-size chassis with a NI VME-MXI-2 controller. Our product is C-size and the customer has it plugged into the top two connectors (P1 and P2) if that is of any consequence, which I don't believe it is. Also the VME-VXI-2 is at logical address of 128.

If the customer simply plugs our board into the chassis and runs Resman the device does not show up. We have also tried the following with no successes:

1) Add New VME Device
2) Add an A16 address space for this new device with a range according to the logical address (LA) of the device (note the LA of the device is set using dip switches). We use the formula: (LA*64)+0xC000 to determine the address range. The device is set to a LA of 131 so we set the A16 range to 0xE0C0 to 0xE0FF.
3) Run Resman
4) Open a VISA session to the device and perform an A16 read at offset 0 and we receive a bus error
5) Open VXI Interactive Control (VIC) and perform a VXIinReg() to LA 131 and we get a bus error.
6) In VIC we perform a VXIin() to address 0xE0C0 and get a bus error.

It is always possible that there is a problem with our device but before I come to that conclusion, I want to make sure it is not a simple system configuration issue. Is there any special tasks that is required to make a VXI device work with a VME-MXI-2 controller? Can you see anything that I may be overlooking or do you have any suggestions as too what else we can try?

David Clark
C&H Technologies, Inc.
0 Kudos
Message 1 of 4

There are a couple things to note. First, your VME devices will never show up using RESMAN; this is expected behavior. Second, in the Add VME Device wizard you should see a note that VME devices should have a logical address in the range 256 - 511. Let's first try changing the logical address to something in that range. After doing this, in the wizard, you should be able to open a VISA session to it by right clicking and choosing the corresponding short cut menu selection.

Best Regards,

Message 2 of 4
Thanks for your reply. You answered one of my suspicions that the device will never automatically show up after running Resman.

Since the device is a VXI device, its logical address cannot be set higher than 255. This is limited by the on-board dip-switches. However, my understanding is that the logical address set in the "Add VME Device" wizard is a pseudo logical address and is not used by VISA other than to associate the module with the configured set of address space assignments (A16, A24, A32). In VXI, the logical address determines the A16 address space assignment according to the formula "(LA * 64) + 0xC000". So, if I set the logical address of my card at 131, the A16 registers of the card start at address 0xE0C0. When I add a VME device using the wizard, I set the pseudo logical address to 256 (or higher) and assign an A16 address space of 0xE0C0 to 0xE0FF. As far as I can tell this should allow me to access the A16 registers of my device.

This leads me to the question: Is it possible that the "Add VME Device" wizard doesn't allow me to use the A16 address range 0xC000 to 0xFFFF which is used by VXI for all 255 possible logical addresses? I don't see why that would be the case.

On another note, the "Add VME Device" wizard does not allow you to assign more than one address space to a single device. The VXI card that we are trying to access, has both A16 and A24 space. Assuming we can get access to A16, is there any way to assign both spaces? So far my only potential solution is to add two VME devices one that has an A16 space assigned and one that has an A24 space assigned. I should then be able to use one pseudo logical addresses to access A16 and the other to access A24.

David Clark
0 Kudos
Message 3 of 4

Sorry the last post did not address your VXI instrument. RESMAN should in fact find VXI devices even with the VME controller. In any event, it would be interesting to know if RESMAN can:

1. Find any other devices in other slots
2. Find other devices in the slot your device is in.
3. Find your device in another slot.
4. Find your device with a VXI-MXI-2 controller (if available)

Also, can you open a VISA session to MEMACC and at least talk to configuration registers?

With respect to adding address spaces for a VME device, others have noted the workaround you suggested; that you can add two devices, specify the same slot, but different logical addresses, and then use a logical address each for the address space you want.

I look forward to your repost, particularly if you can explore any of 1-4 above.

Thank you,

0 Kudos
Message 4 of 4