基于双冗余以太网通信的气象实时观测数据采集网络传输系统的设计与实现

2012-01-09 05:22于慧彬李小峰
海洋技术学报 2012年1期
关键词:驱动程序以太网嵌入式

于慧彬 ,李小峰 ,齐 鹏

(1.山东省海洋环境监测技术重点实验室,山东省科学院海洋仪器仪表研究所,山东 青岛 266001;2.中国科学院海洋研究所,山东 青岛 266071;3.中国科学院海洋环流与波动重点实验室,山东 青岛 266071)

基于双冗余以太网通信的气象实时观测数据采集网络传输系统的设计与实现

于慧彬1,李小峰1,齐 鹏2,3

(1.山东省海洋环境监测技术重点实验室,山东省科学院海洋仪器仪表研究所,山东 青岛 266001;2.中国科学院海洋研究所,山东 青岛 266071;3.中国科学院海洋环流与波动重点实验室,山东 青岛 266071)

随着以太网技术应用的日趋成熟,在海洋和大气观测领域,人们希望对传统不具备网络通讯能力的观测仪器进行智能化和网络节点化改造。设计和实现了一套气象实时观测数据采集与网络传输系统。该系统采用基于ARM的嵌入式系统集成设计方案,实现了对外部传感器实时观测数据的采集和以太网通信。作为多级网络系统中的一个网络节点,该采集传输系统采用双冗余以太网通信接口设计,使系统中的双路以太网在一路局部故障或线路受损时可以自动冗余切换。这一设计特点大幅提高了作为网络节点的数据采集传输系统在与外部其他设备通信时数据传输的可靠性。通过在以太网条件下,网络闭环控制运行试验等测试,证明所开发的气象实时观测数据采集网络传输系统运行稳定可靠,双冗余以太网接口切换正常,数据采集传输及时准确,可完全满足实际应用的需要。

以太网通信;ARM嵌入式系统;冗余设计;数据采集系统;船用气象仪

随着以太网技术的飞速发展,工业控制领域正向以以太网为基础的网络化控制方向转变。这种设计思想的转变,避免了以往由于各种设备采用不同的总线形式,导致整个系统现场总线技术互不兼容的缺点。随着以太网技术应用的日趋成熟,在海洋和大气观测领域,人们希望对传统不具备网络通讯能力的观测仪器设备进行智能化和网络节点化改造。本文设计的数据采集系统正是应用于船舶气象仪这种船用气象观测设备。考虑到作为船用观测设备,由于设备工作环境复杂多变,为保证系统与外界通信的可靠性,在设计通信接口时,采用了双冗余以太网接口,即采集系统硬件设计有两路独立的以太网通讯电路,并通过软件实现系统中的双路以太网在一路局部故障或线路受损时可以自动冗余切换,提高了数据采集系统与外界其他设备进行通信时数据传输的可靠性。

1 系统的设计

为实现船舶气象实时观测与传输设计了本文的实时数据采集传输系统。其基本工作原理是通过该系统实时采集外部传感器测量的气温、气压、湿度、风速和风向等气象要素观测数据,并将采集的各原始测量数据进行运算处理和汇总,通过以太网通信接口发送给网络中的上级系统服务器。这样,网络中的其他设备就可以几乎实时地得到这些气象观测数据,可用于业务部门进行天气实况分析和数值天气预报同化模式提供初始场。实时采集传输系统作为多级网络系统中的一个网络节点和数据源,与其他网络设备共同组成一个如图1所示的网络运行系统。

图1 实时采集与传输网络系统示意图

本文设计的实时采集与传输系统采用了基于ARM的嵌入式系统集成方案,实现了对系统外部各类传感器数据的实时采集和以太网通信。由于该系统是建立在ARM嵌入式系统上,所以通过编制实际的设备驱动程序就可以实现对外部传感器数据的实时读取操作和对外部控制器进行相应的控制,同时,利用嵌入式系统的强大网络功能,建立了基于TCP/IP协议的接口服务,方便远程网络终端通信。

本文设计的基于ARM的嵌入式数据采集处理总线系统其工作原理如图2所示。可以看出,除以太网通信单元及电源模块外,该数据采集处理模块主要由ARM9_CPU核心单元和数据采集处理单元组成。这其中包括:电源电路,A/D转换电路,并行I/O接口电路,Flash存储器接口电路,SDRAM接口电路,以太网络接口电路,光电隔离电路,串行通讯电路以及晶振电路与复位电路等。其核心是基于三星公司的32位ARM微处理器S3C2440。由于该课题的主要研发目标是对当前的船舶气象仪实现数据的实时采集传输,使之成为网络化的观测节点,以及考虑到船舶气象仪是经过长期实践检验的成熟产品,各采样电路均已经过理论验证和长期实际应用的检验,技术成熟可靠,为此,这里的数据采集单元仍继承之前数代产品积累的成熟技术,本文不再做过多的叙述。下面着重介绍双冗余以太网通信的硬件设计及其软件实现。

图2 基于ARM的嵌入式数据采集处理总线系统原理图

2 双冗余以太网的硬件设计

图3 以太网接口电路原理图

在嵌入式系统中,为提高设备的可靠性和安全性,大多采用对硬件设备的冗余设计。S3C2440内部没有内嵌的专用网卡控制器,在进行以太网口的冗余设计时,选用了DAVICOM公司的10/100 Mbps自适应以太网芯片DM9000,这款芯片是一款高综合性、高性能、低成本的快速以太网控制器芯片,其性能包括:集成10/100 Mbps自适应收发器,支持8位、16位、32位数据总线宽度,寄存器操作简单有效,兼容3.3 V和5.0 V输入输出电压。该芯片所需的外围电路非常简单,并且DM9000的物理协议层接口完全支持使用10 Mbps下3类、4类、5类非屏蔽双绞线和100 Mbps下5类非屏蔽双绞线,这完全符合IEEE 802.3u的规格。它的自动协调功能将自动完成配置以最大限度地适合其线路带宽。此外,该芯片还支持IEEE 802.3x全双工流量控制,所以用户可以容易地移植任何系统下的端口驱动程序,在后面对数据采集系统的硬件进行软件编程时,这款芯片可以非常容易地完成针对嵌入式系统软件驱动的开发。

以太网接口电路的原理如图3所示。图中仅给出了单路以太网接口的设计电路,实际设计时,采用了两路同样的设计电路,只是在片选信号/CS的连接上加以区分,分别连接到S3C2440的ETH_CS0和ETH_CS1(在本图中省去了S3C2440芯片)。另外,将两组DM9000以太网芯片的中断引脚INT分别引出,连接至S3C2440的ETH_INT0和ETH_INT1。DM9000外接25 MHz晶振为芯片提供25 MHz的工作频率。DM9000的SD0~SD15与芯片S3C2440的数据总线相连接。NRESET为DM9000以太网芯片的复位信号。在输出端的设计上,考虑到信号隔离和电路保护,在DM9000与以太网接头RJ45之间,设计时选用了网络变压器HS9016。该芯片可增强以太网信号,使信号的传输距离更远;此外,它还能起到对信号(包括高频噪音和干扰信号)滤波的作用。另外,考虑设备的初级与次级分属不同的回路,该芯片还能起到使芯片端与外部隔离的作用,当连接到不同电平的网口时,不会对彼此设备造成影响。

3 双冗余以太网的软件实现

系统软件主要由三部分组成:运行在ARM内核上的嵌入式操作系统内核;针对外部硬件的嵌入式设备驱动程序;考虑到需要该系统对输入输出的传感器信号和数据进行一定的运算与处理,为此,还要在嵌入式系统中编写相应的应用程序。

3.1 嵌入式系统内核

作为一款高性能的32位ARM微处理器,基于S3C2440的硬件系统无论是在运行速度还是在寻址能力方面,都足以支持嵌入式操作系统。在该系统中,选用代码开发,性能优秀的嵌入式Linux作为操作系统。Linux丰富而强大的网络支持功能在本系统中得到了充分的体现,极大地保证了数据采集系统通信的稳定性和实时性。

3.2 底层设备驱动程序

开放源代码的嵌入式系统使得我们可以很方便地对其进行扩展,通过编写适当的设备驱动程序,就可以对某个特定的硬件进行操作。从本质上讲,驱动程序是常驻内存的低级硬件处理程序的共享库,设备驱动程序就是对设备的抽象处理,也即是说,设备驱动程序是内核中具有高特权级的、常驻内存的、可共享的下层硬件处理程序。在众多驱动中,包含一种称为Bonding的驱动程序,它能为网卡提供冗余的软件支持,它是数据采集系统双冗余以太网的实现基础。它可以把两个网卡绑定到同一个IP地址,当一块网卡发生物理性损坏时,另一块网卡也能提供正常的服务。Bonding驱动提供一种方法,用以把多个网络接口(network interface)组合成一个逻辑的"bonded"接口。Bonded接口的工作方式取决于驱动的模式:不同的模式提供了热备份或负载均衡等不同的服务,在提供这些服务的同时,该驱动还会监控网络链路的可用性。

另外,作为应用程序中需要调用的程序,Ifenslave也是实现双冗余以太网设计的必须工具。该程序包是一款负载均衡工具,也包含在嵌入式系统的内核源码中。Ifenslave共有(方式0~6)七种工作方式。考虑到数据采集模块的具体应用需要,选择工作方式1:主/备份策略模式。该模式下只有一个设备处于活动状态。当处于活动状态的设备出现中断、掉线等情况时,另一个马上由备份转换为主设备。该模式下的mac地址是外部可见的,此模式为数据采集系统的以太网通信提供了容错能力。

完成上述部分后,一个基本的包含网络通信功能的嵌入式系统就完成了。若要该系统对输入输出信号能够进行一定的实时智能处理,那么就还需要在嵌入式系统中编写相关的应用程序,以调用设备驱动程序,完成信号逻辑关系的转换,传感器采样数值的计算以及输入输出数据的处理。

4 系统测试与结果

4.1 测试环境

如图4所示,测试环境由数据采集系统样机(目标机)和PC台式计算机(主机)以及10/100 Mbps自适应以太网交换机组成。主机和目标机分别通过网线与交换机相连。在测试开始前还要将主机和目标机两者通过串口相连,首先通过串口由主机向目标机加载测试程序,同时在主机上运行以太网口调试程序。测试程序加载完毕之后就可以针对以太网接口来进行相关的测试工作。

图4 双冗余以太网测试环境示意图

4.2 双冗余以太网通信功能的测试

测试过程中,在目标机上分别运行自行编制的基于TCP协议的netsend()和netrecive()两个测试用程序,其功能是实现最简单的TCP服务器端程序和Client客户端程序。上位机运行NetAssist以太网调试助手,由两端组成基于TCP的Client-Sever系统进行网络接口的连接测试、冗余切换测试和可靠性测试。测试项目、方法及测试结果见表1。

表1 测试项目、方法及结果

4.3 测试结果评价

通过对所开发的数据采集系统以太网传输功能的测试,证明该系统双冗余以太网接口实现了所有先期设计的功能,并在数据传输的可靠性和数据传输的准确性上得到了验证。试验证明,该系统能够满足大批量数据的网络实时传输工作。

5 结语

本文研发的带双冗余以太网通讯接口的船用气象数据实时采集传输系统,由于采用了高集成度的ARM嵌入式处理器,并对通讯接口采用了冗余设计,使之具有系统小型化,低成本,低功耗,运行稳定,数据传输安全可靠等优点。通过系统测试和样机在实际海上环境中的应用,证明其功能和工作可靠性完全满足实际复杂海洋环境下实时观测的需要。所开发的观测数据实时采集传输网络化系统适用于对传统不具备网络通讯能力的观测仪器设备进行智能化网络节点化改造,同时也适用于新型智能观测仪器的开发,具有广阔的应用前景。

[1]于明,范书瑞,曾祥烨.ARM9嵌入式系统设计与开发教程[M].北京:电子工业出版社,2006.

[2]柴毅,王玉堂,陈禾.基于以太网数据采集与控制模块的设计与应用[J].计算机测量与控制,2004,12(12):1188-1190.

[3]陈学泉,关宇东.嵌入式TCP/IP协议单片机技术在网络通信中的应用[J].电子技术应用,2002,(8):48-49.

[4]周立功,等.嵌入式设计及Linux驱动开发指南—基于ARM9处理器[M].北京:电子工业出版社,2005.

Design&Implementation of Acquisition and Transmission Network System for Meteorological Real-time Data Based on Dual-redundancy Ethernet Communication

YU Hui-bin1,LI Xiao-feng1,QI Peng2,3
(1.Shandong Provincial Key Laboratory of Ocean Environment Monitoring Technology,Shandong Academy of Sciences Institute of Oceanographic Instrumentation,Qingdao Shandong 266001,China;2.Institute of Oceanology,Chinese Academy of Sciences,Qingdao Shandong 266071,China;3.Key Laboratory of Ocean Circulation and Waves(KLOCAW),Chinese Academy of Sciences,Qingdao Shandong 266071,China)

With Ethernet technology maturing,in the field of ocean and atmosphere observation,it is hoped that the traditional observation instruments without network communication ability could become intelligent and networking.A meteorological real-time data acquisition and transmission network system was designed and implemented based on the Ethernet communication technology,which adopts the embedded system single-chip solution based on ARM,collects the external sensors data and communicates in the Ethernet.As a network node in the multi-level system,this acquisition system adopts dual-redundancy Ethernet communication connector design and makes the twin channel Ethernet in the system redundancy switch automatically when one part breakdowns or the communication line fault happens.It increases the dependability of data transmission when communicates between the data acquisition system as network node and other external equipments.Under the condition of network,the closed-loop control experiment proved that the real-time data acquisition system could run steadily and dependably,the dual-redundancy Ethernet connectors could switch normally,data acquisition could communicate timely and accurately.The system could fulfill the needs of practical application completely.

Ethernet communication;ARM embedded system;redundancy design;data acquisition system;marine meteorological instrument

TP311.13

B

1003-2029(2012)01-0031-05

2011-08-20

海洋公益性行业科研专项经费项目子课题(201105002-2);青岛市公共领域科技支撑计划项目(09-1-1-92-nsh)

于慧彬(1980-),男,硕士,主要从事海洋仪器软件设计与开发工作。

齐鹏,博士,研究员。Email:pqi@qdio.ac.cn

猜你喜欢
驱动程序以太网嵌入式
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
计算机硬件设备驱动程序分析
搭建基于Qt的嵌入式开发平台
谈实时以太网EtherCAT技术在变电站自动化中的应用
嵌入式软PLC在电镀生产流程控制系统中的应用
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
基于MPC8280的CPU单元与内部总线驱动程序设计