我怎样给一个VME设备分配多个共享内存空间?



主要软件:
主要软件版本: 2.0
主要软件修正版本: N/A
次要软件: N/A

问题: 使用Windows和NI-VXI 2.x时,我可以使用创建新VME设备向导来分配多个内存空间,也就是分配A16和A24给一个VME设备。使用NI-VXI 3.0 和更新的版本时,我该怎样完成以上操作?

解答:

使用新的3.x版本或更新的NI-VXI驱动架构,你只能给一个伪逻辑VME设备地址使用一个内存空间。为了分配更多的内存空间,你需要创造更多的伪逻辑地址给你的VXI或VME系统中的每个VME设备。

使用3.x架构,NI-VXI驱动使用VISA作为首选编程接口。尽管在NI-VXI和NI-VISA间有关键性的不同,但作为一个独立的标准化的API,VISA被广泛接受并通过它简单的API使编程更简单。

特别注意的是NI-VXI是控制为本的,而VISA提供了一个更以设备为本的API。为了使编程简单,VISA在VXI系统中利用已给的逻辑地址只使用一个内存空间。当一个VISA开始任务给一个已给定的地址时,分配的内存空间就自动定义了。因此,VISA的控件不需要提供任何形式的内存空间参数,但是如果一个给定的逻辑地址在多个内存空间中共享内存,这些参数是需要的。

这并没有和VXI设备的限制使用A24或A32空间分享内存的情况产生冲突。资源管理器分配了A16空间给每个VXI设备使用。这个空间不能够共享多个空间作为数据交换,因为A16寄存器只是用来配置设备的。在很少的多个内存空间被VME设备使用的情况下,你必须分配多个伪逻辑地址给每个VME设备。



相关链接: Product Manuals: Using Measurement & Automation Explorer (MAX) with VXI
Product Manuals: VME-MXI-2 User Manual and Specifications
KnowledgeBase 41E9MKD2: VXI/VME Common Questions Documents

附件:





报告日期: 05/15/2002
最近更新: 11/06/2016
文档编号: 2LE7P4ON