中电网移动|移动中电网
 
中电网移动|移动中电网|高清图滚动区

基于通用串行总线实现远距离采集数据传输系统的设计

在工业生产和科学技术研究的各行业中,常常利用 PC 或工控机对各种数据进行采集。这其中有很多地方需要对各种数据进行采集,如液位、温度、压力、频率等。现在常用的采集方式是通过数据采集板卡,常用的有 A/D 卡以及 422、485 等总线板卡。采用板卡不仅安装麻烦、易受机箱内环境的干扰,而且由于受计算机插槽数量和地址、中断资源的限制,不可能挂接很多设备。而通用串行总线(Universal Aerial Bus,简称 USB)的出现,很好地解决了以上这些冲突,很容易就能实现低成本、高可靠性、多点的数据采集。
 
1 USB 简介

USB 是一些 PC 大厂商,如 Microsoft、Intel 等为了解决日益增加的 PC 外设与有限的主板插槽和端口之间的矛盾而制定的一种串行通信的标准,自 1995 年在 Comdex 上亮相以来至今已广泛地为各 PC 厂家所支持。现在生产的 PC 几乎都配备了 USB 接口,Microsft 的 Windows98、NT 以及 MacOS、Linux、FreeBSD 等流行操作系统都增加了对 USB 的支持。

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/01/5fc5b96c19357-thumb.gif

1.1 USB 系统的构成

USB 系统主要由主控制器(Host CONTROLler)、USB Hub 和 USB 外设(Peripherals Node)组成系统拓扑结构,如图1所示。
 
1.2 USB 的主要优点

·速度快。USB 有高速和低速两种方式,主模式为高速模式,速率为 12Mbps,另外为了适应一些不需要很大吞吐量和很高实时性的设备,如鼠标等,USB 还提供低速方式,速率为 1.5Mb/s。
 
·设备安装和配置容易。安装 USB 设备不必再打开机箱,加减已安装过的设备完全不用关闭计算机。所有 USB 设备支持热拔插,系统对其进行自动配置,彻底抛弃了过去的跳线和拨码开关设置。
 
·易于扩展。通过使用 Hub 扩展可拨接多达 127 个外设。标准 USB 电缆长度为 3m(5m 低速)。通过 Hub 或中继器可以使外设距离达到 30m。
 
·能够采用总线供电。USB 总线提供最大达 5V 电压、500mA 电流。
 
·使用灵活。USB 共有4种传输模式:控制传输(CONTROL)、同步传输(Synchronization)、中断传输(interrupt)、批量传输(bulk),以适应不同设备的需要。
 
2 采用 USB 传输的数据采集设备

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/01/5fc5b96c175ef-thumb.gif

2.1 硬件组成

系统的 A/D、数字 I/O 的设计可沿用传统的设计方法,根据采集的精度、速率、通道数等诸元素选择合适的芯片,设计时应充分注意抗干扰的性能,尤其对 A/D 采集更是如此。
 
在微控制器和 USB 接口的选择上有两种方式,一种是采用普通单片机加上专用的 USB 通信芯片。现在的专用芯片中较流行的有 NATIONAL SEMICONDUCTOR 公司的 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 开发中最困难的一件事情,通常采用 Windows DDK 来实现。目前有许多第三方软件厂商提供了各种各样的生成工具,象 Compuware 的 driver works,Blue Waters 的 Driver Wizard 等,它们能够很容易地在几分钟之内生成高质量的 USB 的驱动程序。
 
设备中单片机程序的编制也同样困难,而且没有任何一家厂商提供了自动生成的工具。编制一个稳定、完善的单片机程序直接关系到设备性能,必须给予充分的重视。
 
以上两个程序是开发者所关心的,用户不大关心。用户关心的是如何高效地通过鼠标来操作设备,如何处理和分析采集进来的大量数据,因此还必须有高质量的用户软件。用户软件必须有友好的界面,强大的数据分析和处理能力以及为用户提供进行再开发的接口。
 
3 实现 USB 远距离采集数据传输

传输距离是限制 USB 在工业现场应用的一个障碍,即使增加了中继或 Hub,USB 传输距离通常也不超过几十米,这对工业现场而言显然是太短了。
 
现在工业现场有大量采用 RS-485 传输数据的采集设备。RS-485 有其固有的优点,即它的传输距离可以达到 1200 米以上,并且可以挂接多个设备。其不足之处在于传输速度慢,采用总线方式,设备之间相互影响,可靠性差,需要板卡的支持,成本高,安装麻烦等。RS-485 的这些缺点恰好能被 USB 所弥补,而 USB 传输距离的限制恰好又是 RS-485 的优势所在。如果能将两者结合起来,优势互补,就能够产生一种快速、可靠、低成本的远距离数据采集系统。

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/01/5fc5b96c1c298-thumb.gif

这种系统的基本思想是:在采集现场,将传感器采集到的模拟量数字化以后,利用 RS-485 协议将数据上传。在 PC 端有一个双向 RS-485~USB 的转换接口,利用这个转接口接收 485 的数据并通过 USB 接口传输至 PC 机进行分析处理。而主机向设备发送数据的过程正好相反:主机向 USB 口发送数据,数据通过 485~USB 转换口转换为 485 协议向远端输送,如图 3 所示。
 
在图 3 的方案中,关键设备是 485~USB 转换器。这样的设备在国内外都已经面市。笔者也曾经用 NATIONAL SEMICONDUCTOR 公司的 USBN9602+89c51+MAX485 实现过这一功能,在实际应用中取得了良好的效果。
 
需要特别说明的是,在 485~USB 转换器中,485 接口的功能和通常采用 485 卡的接口性能(速率、驱动能力等)完全一样,也就是说,一个 485~USB 转换器就能够完全取代一块 485 卡,成本要低许多,同时具有安装方便、不受插槽数限制、不用外接电源等优点,为工业和科研数据采集提供了一条方便、廉价、有效的途径。

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/01/5fc5b96c15111-thumb.gif

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 必将在更广阔的领域得到更深层次的应用。

猜你喜欢
中电网移动|移动中电网|频道导航区