基于USB接口的仪器仪表通信技术

时间:2022-09-19 12:50:51

基于USB接口的仪器仪表通信技术

USB(universal serial bus)即通用串行总线,它是一种应用在PC领域的新型接口技术.随着支持USB标准Windows98的出现和USB设备数量的快速增加,USB才在近年逐渐流行起来.目前普遍采用的USB1.1主要应用在中低速外部设备上,它提供的传输速度有低速1.5Mbps和全速12Mbps两种,一个USB端口可同时支持全速和低速的设备访问.目前,USB在自动化控制领域主要用于数据采集系统,由PC作为USB主机端,单片机作为USB设备端.

USB数据传输方式USB通过主机上客户软件的内存缓冲区和USB设备上端点之间的管道来传送数据.它提供有4种传输方式:控制传输、同步传输、中断传输和批量传输.控制传输发送设备请求信息,主要用于读取设备配置信息和设备状况,设置设备地址和设备属性、发送控制命令等功能;同步传输提供了确定的带宽和时间间隔,常被用于时间严格并具有较强容错性的流数据传输,或4《自动化仪表》第24卷第10期 2003年10月PROCESS AUTOMATION INSTRUMENTATION, Vol.24, No.10,Oct., 2003者用于要求恒定的数据传输率的即时应用中;中断传输主要用来支持那些偶尔需要对少量数据进行通信,但服务时间却受限的设备;批量传输主要用于大批量的数据传输,同时又没有带宽和时间间隔的要求,但是USB只能在满足带宽的情况下才进行批量传输.

USB设备的设计方案目前用于USB设备设计的方案有两种:一种是采用普通单片机外加USB接口器件;另一种是采用具有USB接口的单片机.普通单片机外加USB接口器件USB接口器件只用于处理USB通信,它必须由一个外部单片机来控制.通过USB接口器件可以把USB端口接到任何类型的单片机上,这种实现USB接口的模块化设计方法使得设计者可自由选择合适的单片机.

目前市场上已有很多公司提供USB接口器件,Philips公司的PDIUSBD12是一款性价比高、带并行总线的USB接口器件,它集成了SIE(串行接口引擎)、FI-FO(先进先出)存储器、收发器及电压调节器,可与任何单片机实现高速并行接口;其主端点的双缓冲配置增加了数据的吞吐量,从而可以轻松地实现实时数据传送;可通过软件控制与USB的连接,支持双电源(即3.3V和扩展的5V)操作;具有高纠错率的全扫描设计确保了其高品质.

具有USB接口的单片机随着USB应用的日益广泛和流行,Intel、Cypress等单片机厂商推出了具有USB接口的单片机,这类单片机处理能力强,有的本身就具备多路A/D、D/A,采用这类单片机构成系统的电路简单、调试方便、电磁兼容性好.因此采用具有USB接口的单片机成了开发USB外设的较好方案.不过由于增加了USB接口,这类单片机与原先的开发系统一般不完全兼容,需要购买新的开发套件,需要新的投资.

Cypress半导体公司作为USB市场的着名厂商,开发的EZ-USB FX2成了世界上第一款USB2.0集成微控制器.它包括1个增强型8051单片机、1个串行接口引擎(SIE)、1个USB收发器、片上RAM、FIFO存储器以及1个通用可编程接口.FX2提供了一个全面集成的解决方案,它不仅可减少电路板空间,而且大大缩短了产品的上市时间.

FX2拥有一个独特的架构,其智能串行接口引擎在硬件层上处理USB1.1和USB2.0协议的大部分内容,因此外设产品设计人员不必为增加产品的USB功能而学习USB协议,从而使产品开发变得更加容易,同时减轻了单片机的负担,而让智能串行接口引擎从硬件上保证更高的传输率.FX2通用可编程接口(GPIF),允许它"无胶粘接",即可与任何ASIC或DSP进行接口,并且它还支持所有通用总线标准,包括ATA、UTOPIA、EPP和PCMCIA.FX2完全适用于USB2.0,并向下兼容USB1.1.

USB在测控领域的应用2001年9月的《Test andMeasurement World》进行了一次针对测量应用中PC用户的未来需求调查,该调查显示越来越多的用户期望使用USB接口将他们的仪器及数据采集设备连接到PC.

USB通信的软件设计包括单片机部分的固件部分和主机(PC)的驱动程序部分.对于单片机控制程序,由于目前没有任何厂商提供自动生成固件(firmware)的工具,因此所有程序都需要手工编制.对USB的单片机控制程序通常由三部分组成:①初始化单片机和所有的电路(包括PDIUS-BD12);②主循环部分,其任务是可以中断的;③中断服务程序,其任务是对时间敏感的,必须马上执行.根据USB协议,任何传输都是由主机(host)开始的,这样,单片机作它的前台工作,等待中断.

主机首先要发令牌包给USB设备,PDIUSBD12接收到令牌包后就给单片机发中断,单片机进入中断服务程序,首先读PDIUSBD12的中断寄存器,判断USB令牌包的类型,然后执行相应的操作.因此,USB单片机程序主要就是相对应的中断服务程序.

对于主机部分的软件设计,Windows98已提供多种USB设备的驱动程序,但还没有一种是专门针对数据采集系统的,所以必须针对特定的设备来编制驱动程序.尽管系统已经提供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情,通常采用WindowsDDK来实现.作为WIN98和WIN2K推荐的一项新技术来说,USB的驱动程序和以往的直接跟硬件打交道的WIN95的VXD方式的驱动程序不同,它属于WDM类型.

上一篇:县委研究室年度宣传思想工作总结 下一篇:煤矿矿长在公司庆祝五一劳动节座谈会上的发言