通用型感知层数据采集与传输系统设计

2015-03-06 01:31魏雪松孙万蓉王磊磊岳智佳王丹宇
电子科技 2015年7期
关键词:场合线程以太网

魏雪松,孙万蓉,王磊磊,岳智佳,王丹宇

(西安电子科技大学 电子工程学院,陕西 西安 710071)

随着数据采集与传输技术在各个领域得到应用。一些专用的数据采集与传输装置都是针对特定的场合,根据特定的要求而设计出来的,这样其应用范围就受到限制。如果被测对象稍加变化,可能就需要对软件或硬件做出了较大的调整,便会浪费大量的时间和精力[1-2]。

本文提出了一种通用型的数据采集与传输系统。该系统有两种基本结构,可以应用于一些简单的场合。而对于复杂的场合,则可将两种基本结构结合使用。无论哪种结构的系统,其所连接的传感器的种类和数目是不固定的,均是由PC 机来进行动态添加和删除的[3]。这样,当该系统被用于不同场合时,只需连接上相应的传感器,然后在PC 机软件中进行相应的配置即可。与专用系统相比,该系统可适用于大多数的场合,且有较强的通用性。

1 系统的整体结构和硬件设计

1.1 数据采集与传输系统整体结构

系统的两种基本结构如图1 和图2 所示。图1 所示的是由以太网组成的系统。若干个采集板与交换机相连,PC 机也与交换机相连。每个采集板采集到数据后直接发送到PC 机。这种结构的特点是系统结构简单、数据传输速率快,适合环境稳定,需要传输图像、视频等大数据量的场合。但以太网有时无法保证数据传输的实时性要求,单点的故障可能会造成整个网络的瘫痪,还有其抗干扰能力较弱,不适应环境相对恶劣的场合。

图1 以太网组成的系统

由以太网和CAN 总线共同组成的系统如图2 所示。若干采集板主站和PC 机通过CAN 总线连接在一起,主站与PC 机通过以太网相连。主站只负责把从站的数据通过以太网发送到PC 机,并不进行数据采集工作。由于CAN 总线的数据通信具有突出的可靠性、实时性和灵活性,该种结构可在环境恶劣的场合使用。但由于CAN 总线的传输速率较慢,因此不适合用来传输图像、视频数据。

图2 以太网和CAN 总线组成的系统

如图1 和图2 所示,每个采集板工作于3 种模式之一。可通过以下两种方法进行工作模式的选择:(1)是用采集板上的跳线帽进行工作模式的选择。(2)是用网线将采集板与PC 机相连接,在PC 机软件中进行工作模式的选择。

在实际应用中,若两种基本结构均无法满足实际需求,可将这两种结构相结合。如将图1 中的1 个或多个采集板配置为图2 中的采集板主站,由此,便可构成更加复杂的结构。

图1 和图2 所示的两种基本结构及其组成的复杂结构既可以用于环境稳定的场合,也可以用于环境相对恶劣的场合。既可将两种基本结构用于简单的系统,也可将两种结构进行组合用于复杂的系统。因此,该系统具有较强的通用性。

1.2 数据采集与传输系统的硬件设计

数据采集与传输系统的硬件结构如图3 所示,其核心是三星公司生产的S3C2440A,该芯片是一款基于ARM920T 内核的16/32 位精简指令集(RISC)嵌入式微处理器,为手持设备和通用嵌入式应用提供了低价格、低功耗和高性能的小型微控制器解决方案[4]。

图3 硬件结构图

采集板有4 路模拟量输入,16 路数字量输入和16路数字量输出,一个RS232 接口,一个USB 接口。模拟量输入端可以接电流型(电流范围0 ~20 mA)或电压型(电压范围0 ~3.3 V)传感器。使用S3C2440A 芯片内部自带的AD 转换器,其精度为10 位,可满足大多数应用场合。数字量输入端接开关型传感器(高电平3.3 V,低电平0 V)。数字量输出模块可将相应的端口设置为高电平或低电平。RS232 模块连接具有RS232 接口的传感器模块。USB 模块可接USB 摄像头,从而进行图像、视频数据采集。

采集板中最重要的两个模块是以太网模块和CAN 总线模块。通过这两个模块就可组成复杂的数据采集系统网络。

图4 所示的是CAN 总线接口电路。由于微处理器S3C2440 无CAN 控制器接口,故在此使用了独立的CAN控制器MCP2515。MCP2515 带有SPI 总线,完全支持CAN 总线2.0 A 和2.0 B 技术规范。该控制器具有灵活的中断能力,还具有接收帧屏蔽和过滤、帧优先级设定等特性,因此减轻了处理器的负担和软件设计的复杂度。CTM1050T 是一款带隔离的高速CAN 收发器芯片,该芯片内部集成了所有必需的CAN 隔离及收、发器件。其主要功能是将CAN 控制器的逻辑电平转换为CAN 总线的差分电平且有DC 2500V 的隔离功能及ESD 保护作用。CAN 总线数据发送过程:处理器S3C2440 将数据通过SPI 总线发送到MCP2515;MCP2515 内部生成CAN 报文帧并通过TXCAN 引脚串行发送到CTM1050T;CTM1050T 将CAN 报文从逻辑电平转换到差分电平[5-6]。数据接收过程与发送过程相反。

图4 CAN 总线接口电路

图5 所示为以太网接口电路。S3C2440 内部没有以太网控制器,所以需要一个以太网控制芯片。DM9000 是一款单芯片快速以太网MAC 控制器。该器件有一个10/100 Mbit·s-1自适应的PHY、4 kB DWORD 值的SRAM 和一个一般处理接口。此外,其还具有自动协调功能,可自动完成配置,以最大限度地适合其线路带宽。H1102 是网络变压器,其具有增强信号、隔离干扰、转换电平的作用。RJ45 用于连接物理网线。

图5 以太网接口电路

2 数据采集与传输系统的软件设计

有两种基本的系统结构,如图1 和图2 所示。下面将分别介绍这两种基本系统中采集板的软件设计。

2.1 以太网组成系统采集板软件流程

在由以太网组成的系统中,如图1 所示,所有采集板平行。采集板可接多种传感器,但并非所有的传感器数据均是PC 机所需要的,PC 机可根据需求动态地进行添加和删除。

如图6 所示,采集板在通电初始化后就等待PC 机的指令,若添加传感器指令,则根据指令中的操作数创建相应的数据采集线程,并启动发送数据线程向PC机发送数据;若删除传感器指令,则删除对应的数据采集线程;若设置指令,则可根据指令中的操作数来判断是设置数字量输出口的值、设置采集板的工作模式或设置IP[7]。

图6 以太网组成的系统中采集板流程图

因采用了多线程,在等待接收指令的同时也能进行数据的采集与发送,所以能及时响应PC 机的指令。另外,由于传感器采集数据所需的时间不同,若采用单线程,则必须等到一个传感器采集完才能进行下一个传感器采集,这样数据采集的实时性较差。因此,采用多线程可以提高系统数据采集的实时性。

对于数字量输入、模拟量输入和串口输入,由于数据量相对较少,采用TCP 套接字与PC 机进行数据传输。对于图像、视频数据则采用UDP 套接字进行传输。在创建完视频数据采集纯种后,直接通过UDP 套接字将数据发送到PC 机[8-9]。

2.2 以太网、CAN 总线系统采集板软件流程

在以太网和CAN 总线组成的系统中,PC 机不能直接发送指令到从站,从站也不能直接发送数据到PC机,需利用主站转发指令或数据。因此,主站不实行数据采集工作。

图8 为采集板主站的程序流程图,程序创建了两个线程。接收指令线程从PC 机接收指令,然后通过CAN 总线将指令转发到从站。发送数据线程由从站接收数据,再通过以太网发送到PC 机。两个线程并行执行,保证了指令和数据传输的实时性。

图9 所示是采集板从站程序流程图,其与以太网模式下的采集板流程图相同,不同的是这里的接收指令和发送数据都是通过CAN 总线来完成的。另外,由于CAN 总线传输数据的速率较慢,因此不适用于传输图像、视频数据。

图7 采集板主站流程图

图8 采集板从站流程图

3 系统测试

数据采集板有4 类传感器接口,分别是数字输入、模拟输入、串口和USB。

串口用于连接具有串口接口的传感器,为测试系统的串口,使用了一个温湿度变送器,该变送器能连续不断地将温度和温度数据通过串口发送回来。把变送器接到数据采集板,在PC 机软件中进行配置后,就能收到数据,图9 所示为列表显示结果,图10 所示是曲线显示结果。

图9 温度列表显示

图10 湿度曲线显示

USB 接口用于连接USB 摄像头采集视频数据。配置好后的效果,如图11 所示。

图11 USB 视频数据采集

4 结束语

本文介绍了系统的硬件结构,两种基本结构及在两种基本结构下数据的采集与传输流程。由于系统连接的传感器并不固定,其是由PC 机进行管理,因此在不同场合,只需由PC 机进行相应的配置,而无需对底层软硬件进行改动。与专用系统相比,该通用系统能大幅节约成本和时间。但该系统仍存在一定的不足,系统利用CAN 总线和以太网进行通信,故均是有线的。因此,对于一些特殊的场合,使用有线进行数据传输并不方便。后续的工作就是为系统增加WiFi 或GPRS 模块,从而实现数据无线传输,使该系统可应用于更多的场合,更具通用性。

[1] 程建鑫,何玉珠,向复生.通用数据采集系统的设计[J].电子测量技术,2008,5(31):100-101,108.

[2] 张沈梅,吴建刚,陈松峰,等.基于ARM 的通用数据采集设备的研究与设计[J].水利信息化,2012,8(4):49-51.

[3] 王冬星,程书伟,张丽华.基于ARM 的数据采集与存储系统的研究与实现[J].计算机工程与设计,2012,12(33):4526-4530.

[4] 韦东山.嵌入式Linux 应用开发完全手册[M].北京:人民邮电出版社,2008.

[5] 陶志东,周纯杰,宋明权,等.基于S3C2410 的CAN 总线通信设计与开[J].PLC&FA,2006(1):68-71.

[6] 冯巍.基于嵌入式Linux 下的CAN 总线智能节点的设计[D].杭州:杭州电子科技大学,2010.

[7] 夏振春,丁万山.基于CIS-5ARM9 的条码图像采集系统[J].电子科技,2010,23(3):23-25,29.

[8] 程言奎,李英.基于ARM9 的高速数据采集系统的实现[J].现代电子技术,2008(11):140-142.

[9] 王腾飞,马志峰,王昊,等.基于ARM-Linux 的数据采集和网络传输系统设计[J].电子设计工程,2014,22(16):21-24.

猜你喜欢
场合线程以太网
基于C#线程实验探究
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于国产化环境的线程池模型研究与实现
浅谈linux多线程协作
正统的场合
正统的场合
正统的场合
谈实时以太网EtherCAT技术在变电站自动化中的应用
不同的场合
浅谈EPON与工业以太网在贵遵高速公路中的应用