USB数据采集系统分析论文
USB数据采集系统分析论文 摘要:已成为PC标准的通用串行总线USB为多点数据采集提供了很大的 便利,利用USB可以实现较传统方式更有效、更经济、点数更多的数据采集。本 文介绍了如何利用USB接口来实现多点数据采集。关键词:USBRS485数据采集 在工业生产和科学技术研究的各行业中,常常利用PC或工控机对各种数 据进行采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、 频率等。现在常用的采集方式是通过数据采集板卡,常用的有A/D卡以及422、 485等总线板卡。采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受 计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总 线(UniversalAerialBus,简称USB)的出现,很好地解决了以上这些冲突,很容 易就能实现低成本、高可靠性、多点的数据采集。
1USB简介 USB是一些PC大厂商,如Microsoft、Intel等为了解决日益增加的PC外设 与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自1995年在 Comdex上亮相以来至今已广泛地为各PC厂家所支持。现在生产的PC几乎都配备 了USB接口,Microsft的Windows98、NT以及MacOS、Linux、FreeBSD等流行操 作系统都增加了对USB的支持。
1.1USB系统的构成 USB系统主要由主控制器(HostController)、USBHub和USB外设 (PeripheralsNode)组成系统拓扑结构,如图1所示。
1.2USB的主要优点 #183;速度快。USB有高速和低速两种方式,主模式为高速模式,速率为 12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等, USB还提供低速方式,速率为1.5Mb/s。
#183;设备安装和配置容易。安装USB设备不必再打开机箱,加减已安装 过的设备完全不用关闭计算机。所有USB设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。
#183;易于扩展。通过使用Hub扩展可拨接多达127个外设。标准USB电缆 长度为3m(5m低速)。通过Hub或中继器可以使外设距离达到30m。
#183;能够采用总线供电。USB总线提供最大达5V电压、500mA电流。
#183;使用灵活。USB共有4种传输模式:控制传输(control)、同步传输 (Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。
2采用USB传输的数据采集设备 2.1硬件组成 一个实用的USB数据采集系统包括A/D转换器、微控制器以及USB通信接 口。为了扩展其用途,还可以加上多路模拟开关和数字I/O端口。
系统的A/D、数字I/O的设计可沿用传统的设计方法,根据采集的精度、速 率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对 A/D采集更是如此。
在微控制器和USB接口的选择上有两种方式,一种是采用普通单片机加上 专用的USB通信芯片。现在的专用芯片中较流行的有NationalSemiconductor公司 的USBN9602、ScanLogic公司的SL11等。笔者曾经采用Atmel公司的89c51单片机 和USBN9602芯片构成系统,取得了良好的效果。这种方案的设计和调试比较麻 烦,成本相对而言也比较高。
另一种方案是采用具备USB通信功能的单片机。随着USB应用的日益广泛, Intel、SGS-Tomson、Cypress、Philips等芯片厂商都推出了具备USB通信接口的 单片机。这些单片机处理能力强,有的本身就具备多路A/D,构成系统的电路简 单,调试方便,电磁兼容性好,因此采用具备USB接口的单片机是构成USB数据 采集系统较好的方案。不过,由于具备了USB接口,这些芯片与过去的开发系统 通常是不兼容的,需要购买新的开发系统,投资较高。
USB的一大优点是可以提供电源。在数据采集设备中耗电量通常不大,因 此可以设计成采用总线供电的设备。
2.2软件构成Windows98提供了多种USB设备的驱动程序,但好象还没有一种是专门针 对数据采集系统的,所以必须针对特定的设备来编制驱动程序。尽管系统已经提 供了很多标准接口函数,但编制驱动程序仍然是USB开发中最困难的一件事情, 通常采用WindowsDDK来实现。目前有许多第三方软件厂商提供了各种各样的生 成工具,象Compuware的driverworks,BlueWaters的DriverWizard等,它们能够很 容易地在几分钟之内生成高质量的USB的驱动程序。
设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动 生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予 充分的重视。
以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效 地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高 质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以及 为用户提供进行再开发的接口。
3实现USB远距离采集数据传输 传输距离是限制USB在工业现场应用的一个障碍,即使增加了中继或Hub, USB传输距离通常也不超过几十米,这对工业现场而言显然是太短了。
现在工业现场有大量采用RS-485传输数据的采集设备。RS-485有其固 有的优点,即它的传输距离可以达到1200米以上,并且可以挂接多个设备。其不 足之处在于传输速度慢,采用总线方式,设备之间相互影响,可靠性差,需要板 卡的支持,成本高,安装麻烦等。RS-485的这些缺点恰好能被USB所弥补,而 USB传输距离的限制恰好又是RS-485的优势所在。如果能将两者结合起来,优 势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。
这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以 后,利用RS-485协议将数据上传。在PC端有一个双向RS-485~USB的转换接 口,利用这个转接口接收485的数据并通过USB接口传输至PC机进行分析处理。
而主机向设备发送数据的过程正好相反:主机向USB口发送数据,数据通过485 ~USB转换口转换为485协议向远端输送,如图3所示。
在图3的方案中,关键设备是485~USB转换器。这样的设备在国内外都已 经面市。笔者也曾经用NationalSemiconductor公司的USBN9602+89c51+MAX485实现过这一功能,在实际应用中取得了良好的效果。
需要特别说明的是,在485~USB转换器中,485接口的功能和通常采用485 卡的接口性能(速率、驱动能力等)完全一样,也就是说,一个485~USB转换 器就能够完全取代一块485卡,成本要低许多,同时具有安装方便、不受插槽数 限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有 效的途径。
4综合式采集数据传输系统的实现 现在的数据采集系统通常有分布式和总线两种。采用USB接口易于实现分 布式,而485接口则易于实现总线式,如果将这两者结合起来,则能够实现一种 综合式的数据采集系统。实现方法是:仍然利用上面提到过的USB~485转换器 实现两种协议的转换。由于USB的数据传输速率大大高于485,因此在每条485 总线上仍然可以挂接多个设备,形成了图4所示的结构,其中D代表一个设备。
这种传输系统适用于一些由多个空间上相对分散的工作点,而每个工作点 又有多个数据需要进行采集和传输的场合,例如大型粮库,每个粮仓在空间上相 对分散,而每个粮仓又需要采集温度、湿度、二氧化碳浓度等一系列数据。在这 样的情况下,每一个粮仓可以分配一条485总线,将温度、湿度、二氧化碳浓度 等量的采集设备都挂接到485总线上,然后每个粮仓再通过485总线传输到监控中 心,并转换为USB协议传输到PC机,多个粮仓的传输数据在转换为USB协议后 可以通过Hub连接到一台PC机上。由于粮仓的各种数据监测实时性要求不是很高, 因此采用这种方法可以用一台PC机完成对一个大型粮库的所有监测工作。
5前景展望 USB设备的应用目前在国外处于高速发展阶段,在国内的应用已经起步。
我们在USB数据采集、USB工业控制等领域已经取得了一定的成果,在现实中得 到成功的应用。
即将出台的USB2.0协议,数据传输速率高达480Mbps,如此高的传输速率 能用于1.0的传输速率所无法满足的地方,如高实时性要求的工业设备控制、动 态图像实时传输等。随着时代的进步和技术的发展,USB必将在更广阔的领域得 到更深层次的应用。