10100|3

965

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

标准仪器设备接口之USBTMC [复制链接]


这段时间在设备端实现了USBTMC接口,总结一下分享给大家,希望能和各位大佬讨论把USBTMC做的更完善

1.什么是标准仪器设备接口
  标准仪器设备接口是上位机与仪器通信使用的接口,比如示波器,电源,信号发生器等,通过标准仪器设备接口可以实现对仪器的控制和状态监控,实现自动化测试测量工作,常用的标准仪器设备接口包含LAN,USB和GPIB,对应的通信协仪分别是VXI-11,USBTMC和IEEE488

2.软件部分
   标准仪器设备接口软件部分分为服务器和客户端,上位机均是客户端,仪器侧均是服务器,客户端很好实现,有现成的库,且实现的方式很多,比如可以在PC上用C#,puthon,labview等实现,服务器资料很少,本文讲的是USBTMC服务器的实现

3.文档
   要搞明白USBTMC要看以下3份文档
《usb_20.pdf》
《USBTMC_1_00.pdf》
《usbtmc_usb488_subclass_1_00.pdf》
  我只看明白了一部分,只实现了基本功能

3.USB协仪解析
   这部分大家应该都懂

4.USBTMC协仪解析
   USBTMC使用USB块传输协仪,在枚举阶段,接口描述符需要指明是USBTMC类和USB488子类,实际上USBTMC现在只有USB488这一个子类,USBTMC协仪其实是在USB的数据传输阶段把传输的数据再进行一次打包,无论是输入(设备到主机)还是输出(主机到设备),前12个字节叫USBTMC的Header,因为有输入和输出,所以分别叫“USBTMC message Bulk-OUT Header”和“USBTMC message Bulk-IN Header”



头的前4个字节表示数据包的类型和包的计数,后8个字的的含意根据包的类型来,包类型如下所示

消息包括命令消息,版本信息,供应商信息,其中我们重点看的是命令消息
如果包类型是DEV_DEP_MSG_OUT,表示主机向设备发送一个命令消息,设备应该回复一个DEV_DEP_MSG_IN类型消息的包给主机,这样就完成了一次USBTMC通信,需要注意的是,所有类型消息的长度都是4的整数倍,如果不是则补零

5.用PIDUSBD12实现USBTMC
   根据《圈圈教你玩USB》中的代码修改实现了USBTMC,只实现了“*IDN?”这一个命令,代码在附件中
   实现了这个设备后可以使用agilent io libraries suite工具测试设备是否正常工作
USBTMC488.7z (70.24 KB, 下载次数: 193)

6.linux上实现USBTMC
   在国外一个论坛上找到了一部分驱动代码,完善了一下测试可以正常使用,用这个驱动实现的设备要使用NI MAX测试是否正常工作(为什么上面用PIDUSBD12实现USBTMC是用agilent io libraries suite工具测试而这里是用NI MAX测试呢,我发现和设备描述符中的设备版本号有关,如果设备版本号是0,就可以用agilent io libraries suite识别,如果不为0,就不能用agilent io libraries suite识别而可以用NI MAX识别,之前做VXI-11时也是有类似的问题,坑死了)
gadget_usbtmc.tar (840 KB, 下载次数: 223)
usbtmc_test.c (1.22 KB, 下载次数: 158)


此内容由EEWORLD论坛网友石玉原创,如需转载或用于商业用途需征得作者同意并注明出处

最新回复

你好,大佬,请问有没有关于stm32的usbtmc开发的相关实例或者教程  详情 回复 发表于 2024-9-22 18:59
点赞 关注

回复
举报

8

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

感谢作者分享

 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

板凳
 

USBTMC 是啥?usb的profile?

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
你好,大佬,请问有没有关于stm32的usbtmc开发的相关实例或者教程
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表