|
MHDDK是一个称作芯片对象的代码、硬件文档、和C++类的集合。它对应于设备上的芯片设计,涉及硬件的所有功能。它具有从机械结构复杂的RLP中将硬件功能抽象出来的优势。这一抽象极大地简化了在不同操作系统中开发任务的难度。关于MHDDK更加详尽的功能可以在KB2QKH7DPG中找到:Measurement Hardware Driver Development Kit (MHDDK) Architecture你也可以通过KB2REGTNPG:How to Use a Chip Object中找到芯片级对象的更多内容。在MHDDK出现之前,例程代码都是用C语言或者基于DOS的编译器编写的。这就要求程序员花费大量的努力进入每一个寄存器,留下一个开源代码以简化内存和地址错误。..
对于不同的设备种类,NI具有寄存器级的编程文档,在MHDDK的产品主页中可以找到:NI Measurement Hardware DDK (Driver Development Kit)。这些文档叫做“寄存器级编程手册”或者“技术参考手册”。很多情况下,设备具有不只一个手册。这些不同的设备使用了一些常用的部件如DAQ-STC或者DAQ-DIO芯片。
RLP手册包含了不同设备和设备上不同部件的各类描述。这些描述包括不同寄存器的具体信息和设备上的位场以及在不同操作系统下使用寄存器给设备编程的信息。同时也包括设备的初始化信息和其他通用的编程问题,例如RTSI,中断,DMA等。RLP的完整文档在不同的设备产品中可能不同。如您需要了解一款设备的额外信息请联系您的现场工程师,申请额外的支持。对于一些产品设备,手册还没有被证实发布,请参考使用版。这些试用手册在产品网页上找不到,请联系现场工程师索取。
我在哪里能够得到MHDDK的支持?
应用工程师不支持MHDDK,关于MHDDK的技术支持请参考KB3GEA1PN8:
我怎样在不同的操作系统下使用MHDDK?
- Windows, LabVIEW RT, Linux, and Mac OS X, based on the NI-VISA driver (64-bit compatible)
- Windows, using the WDM architecture (64-bit compatible)
- Linux 2.6, based on a native kernel module (64-bit compatible)
- Linux 2.4, based on /dev/mem
- QNX Neutrino 6.2, using a native driver
- RTX, using a native driver
- Windows CE / PocketPC
在MHDDK中编译例程与在主机平台和使用编译器编译例程稍有不同。通常你会建立一个项目并将例程代码(eg aiex1.cpp),使用硬件的芯片对象和平台上的iBus添加进去。
对于X系列设备,您将使用:
- Examples/aiex1.cpp (or a different example)
- ChipObjects/*.cpp
- osiBus.cpp
- osiUserCode.cpp
- CHInCh/*.cpp
- Examples/dio/*.cpp
- Examples/inTimer/*.cpp
- Examples/outTimer/*.cpp
- Examples/counterResetHelper.cpp
- Examples/dataHelper.cpp
- Examples/devices.cpp
- Examples/eepromHelper.cpp
- Examples/main.cpp
- Examples/pfiRtsiResetHelper.cpp
- Examples/pllHelper.cpp
- Examples/simultaneousInit.cpp
- Eaxmples/streamHelper.cpp
我在哪里能够得到我的设备的Product ID 和Vendor ID?
为了在操作系统中注册一个设备的驱动,您将会用到您的设备的Product ID和Vendor ID。任何NI PCI/PXI设备的Vendor ID是0x1093,对大部分设备来说,product ID是用来识别一个具体的设备模型。然而所有的X系列板卡都共用一个Product ID号码0xC4C4,所以您需要使用子系统Product ID来区分不同的X系列模型。查找ID将是操作系统的要求。
Windows:Linux:
- 打开Windows 设备管理器。
- 在NI设备上点击鼠标右键,并选择“属性”。
- 在“Details”一栏,从下拉菜单中选择“硬件ID”。
- The Product ID is the hex number in “DEV_xxxx”, where “xxxx” is the Product ID.
- The command line tool lspci can tell you the Product and Vendor ID for all devices in your system.
RLP范例和文档在下列NI硬件产品中可以找到。一些产品可能要求在发布之前签写保密协议。如果你想咨询其他产品,请联系您所在的场工程师。
- X Series MIO
- M Series MIO
- E Series MIO
- NI-6013
- NI-6014
- NI-611x
- NI-6133
- NI-6143
- NI-650x (PCI/PXI only)
- NI-651x
- NI-6520
- NI-6521
- NI-6528
- NI-6533
- NI-660x
- NI-671x
- NI-673x
- PCMCIA-4050 (WindowsCE only)
- NI-7831R
对于不同的产品类别,RLP文档的数量和结尾属性可能不同。
|