From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

VXI and VME

cancel
Showing results for 
Search instead for 
Did you mean: 

VME Device Address Space

Hi,
I have a VMEpc-650 and after upgrading the Labview I am unable to properly configure a vme device using MAX. I can correctly setup the A16 address space and the interrupt level, but when I try to add an A32 address range I get the error "You may only have one range of any address space". I'm not trying to do multiple address spaces, I want one for A16 and one for A32.

I am running MAX 2.2, NIVXI 3.2, VISA 2.6, and Labview 6.0.2. Is there any other way to access the A32 memory that I am overlooking?

Thanks!
Jim
0 Kudos
Message 1 of 4
(6,872 Views)
Jim:

As the error implies, a given VME INSTR may have only 1 range for 1 address space. You do want multiple address spaces (A16 and A32 are 2 different address spaces), so you need to create a second VME INSTR at a different pseudo logical address. The second VME INSTR can have the A32 address range. Then you can open a session to both INSTRs and use them accordingly.

As an alternative, you can also open the VXI::MEMACC resource string. This allows absolute addressing, where you can specify the absolute VME address for both A16 and A32 using the same session.

Hope this helps,
Dan Mondrik
Senior Software Engineer, NI-VISA
National Instruments
Message 2 of 4
(6,872 Views)
Dan,
Thanks for the help. Indeed, I was able to use MEMACC to access the A32 memory of this board using absolute addressing. Shouldn't each board be allowed an A16, A24, and A32 space though without the hassles of creating 'phantom' devices for the additional address spaces? It is, after all, perfectly reasonable for a board to have all three address spaces decoded.

I note in the document "Using MAX to Configure VXI/VME Devices" http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/97b8441ebf716dbd862569ee00562083/$FILE/VXI-MAX.pdf that there are diagrams shown with boards having multiple address spaces. Is that doc incorrect?

At any rate, my code is back up and running fine.

Thanks!
Jim Daniels
0 Kudos
Message 3 of 4
(6,872 Views)
Jim:

The document you refer to is correct; it shows VXI devices, which inherently have A16 space based on their logical address plus one of either A24 or A32 space. The address space for VME is not based on any calculation (like the A16 address is for VXI) so it is not quite as simple. Since the VISA attributes VI_ATTR_MEM_SPACE/BASE/SIZE can refer to only a single entry, it would be confusing to allow a VME device entry in MAX with multiple spaces and only be able to programmatically return information about a single space.

Sorry for the confusion, but at least your system is up and working.

Dan Mondrik
0 Kudos
Message 4 of 4
(6,872 Views)