各位好:
昨天配置了Tektronix 2022B示波器,
1.选用NI-VISA-Driver Wizard生成对应示波器的USB驱动,安装后MAX显示:USB0::0X0699::0X0369::C050639::RAW
2.选用自动驱动安装,USB Test and Measurement Device,安装完后MAX显示:USB0::0X0699::0X0369::C050639::INSTR
这两种驱动是不是级别不一样,同一个硬件配置显示一个遵守USBTMC协议,一个不符合该协议。
能不能从驱动的角度解释下这个问题?是不是USB Test and Measurement Device通信层更高,封装了额外的通信协议?
谢谢。
luoyang 你好,
感谢使用NI中文技术论坛! 如你提到的,遵守USB测试与测量类别(USBTMC)协议的USB设备使用USB INSTR资源类别,而USB RAW仪器是所有不能完全符合USBTMC规范的仪器。一些仪器生产商,如Agilent, Tektronix等采用USBTMC协议的原因是让客户能直接使用和与GPIB或以太网接口仪器同样的命令与仪器进行通信。 如果没有特别指明,一般的仪器是不属于USB INSTR这一类别的;你可以确认一下所使用示波器的说明书或相关资料,并参考以下教程进行仪器通信:
USB仪器控制教程
http://zone.ni.com/devzone/cda/tut/p/id/8776
NISH AE
W. Yan
我觉得你的理解是正确的,USBTMC是基于USB 2.0 协议的用于Test and Measurement领域的高层协议。它的适用范围是:
• Minimal devices. Examples are A/D’s, D/A’s, sensors, and transducers.
• Devices that communicate with IEEE 488 messages. Specifications unique to USB IEEE 488 devices
are found in the USBTMC USB488 Subclass specification.
• Devices with sub-addressable components. Examples are mainframes with instrument cards.
USB协议有 4 种传输类型:批量传输( Bulk ),控制传输( Control ),中断传输( Interrupt )和同步传输( Isochronous )。
USBTMC协议对于这几种传输类型中的数据格式进行了定义,使得Host和Device之间可以实现更高速、更可靠的通信连接。
当然,实现USBTMC并不是Host与Device通信的必要条件。一些device可以用基于USB协议的自定义协议进行通信,只要了解其自定义协议的格式,也可以使用NI-VISA对这些Device进行控制和数据传递。这种情况下在MAX中就需将该Device配置为Raw模式,由用户自己编程实现Host端的自定义协议解析处理。
我也是刚接触USBTMC,胡乱说了一通,不知道是不是回答了你的问题,呵呵~ 希望以后多多讨论,相互学习。
若您想使用该示波器进行应用开发,可以到NI公司官方网站山下载认证的驱动.
Tektronix公司生产的示波器若支持USB接口一般都实现了USBTMC协议,所以在NI-MAX中能够识别.下载完NI官方认证的驱动后,你可以直接在LabVIEW中编写您的应用程序.无需再通过VISA来生成驱动.