摘要:介绍了基于SlaveFIFO模式的USB接口测量仪器的数据通信的原理,探讨了USBTMC协议及其子协议在某USB接口的港机设备诊断测量仪器中的实现过程。tms320c6747经验证,这种数据通信方法可使得基于USB接口的数据交互快速、高效,并可通过统一的VISA库函数方便快捷地为用户提供程控功能,具有较强的通用性。
关键词:USBTMC协议;SlaveFIFO;VISA;USB接口;测量仪器
引言

USB接口数据通信模块是基于USB接口程控的测量诊断类仪器的重要组成部分,须满足高速度、大数据量、高频率的数据传输。为了方便与其他仪器组系统时数据通信使用统一的接口,必须实现对VISA库的支持。为实现上述要求,USB数据通信方式采用了块传输和控制传输结合的模式,并实现了通用串行总线测试测量类协议(USBTMC)及其子协议(USBTMC-USB488),具有较高的实用性和通用性。
1USB接口数据通信过程
1.1SlaveFIFO模式的数据通信本文描述的某港机设备故障诊断仪器采用高性能低功耗的DSP芯片TMS320C6747作为主控芯片,采用小体积封装的Cypress公司CY7C68014A为USB控制芯片。考虑到对数据实时性要求以及程序升级等因素,USB功率探头采用了USB控制芯片内置CPU利用率很高的传输模式:SlaveFIFO。该模式使外部主机和DSP处理器读写端点FIFO缓冲区,不需要USB控制芯片内部的CPU干预,提高了数据传输效率。CY7C68014A通过CPLD与DSP的连接框图,如图1所示。本设计配置两个端点:端点2为OUT端点,用于接收主机发给DSP的命令数据;端点6为IN端点,用于接收DSP发给主机的测量和配置参数数据。FLAGA-FLAGD引脚用于标记FIFO的状态,本设计将FLAGA引脚配置为端点2的空标志,FLAGB引脚端点6的满标志。这些配置在USB控制芯片的固件程序中完成[1]。1.2USB通用协议分析USB通用协议定义了USB总线体系结构、USB数据流模型、USB总线机械特性、电器特性、协议定义、USB设备架构、编程接口以及其他设计所需要的特性。一个完整的USB系统分为主机、USB设备和主机与设备的连接3部分[2]。在本文中主机是连接港机设备故障诊断仪器的笔记本电脑,其主要作用是检测USB设备的插入拔出,管理数据流,对设备进行必要的控制,查询设备状态信息和对USB设备供电等。下述为一个USB系统完整的系统结构,如图2所示。
2USBTMC协议
USB通用协议格式可以实现通用基本的USB数据通信,但使用通用的协议需要用户安装自定义的设备驱动,不能与其他仪器测量设备方便地兼容。本设计采用的是专门针对测试测量仪器仪表的一类USB协议:USBTMC(USBTestandMeasurementClass)协议。一个完整的USB传输事务中,USBTMC协议的令牌阶段和握手阶段数据格式符合USB通用协议规范,但在数据阶段的数据包中增加了数据头。在BULK-OUT端点传输数据时,数据前要增加12位数据头[3],如表1所示。不同的MsgID值有不同的命令消息细节格式,BULK-OUT端点数据均为下行数据,即主机向USB控制器发送的数据,在USB功率探头系统中,多为主机向功率探头发送的程控命令数据。tms320c6747BULK-IN端点的数据格式与BULK-OUT端点类似,只是具体的数据位定义不同,在此不再累述。
3USB功率探头数据通信的实现
4总结
本文介绍了基于SlaveFIFO模式的USB数据传输过程并分析了USB通用协议,详细分析了USBTMC协议的数据格式,在此基础上实现了USB接口的数据通信。经验证,该方法满足了USB接口港机设备诊断测量仪器基大数据量、高频率、实时响应的要求,并从便捷性和兼容性上都取得了理想效果。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-31631-1.html
而不是大陆