APP下载

基于ARM的风电机组远程监测系统的设计

2015-10-14江汉红芮万智

船电技术 2015年2期
关键词:双端上位以太网

路 遥,江汉红,芮万智



基于ARM的风电机组远程监测系统的设计

路 遥,江汉红,芮万智

(海军工程大学舰船综合电力技术国防科技重点实验室,武汉 430033)

为顺应网络化发展趋势实现设备的数据采集,在风电机组远程监测方面研究了一种基于ARM的嵌入式系统的以太网通信问题;采用LM3S9B92微控制器,在无操作系统下通过移植TCP/IP协议栈LwIP建立高效可靠的数据链接,以太网介质接口根据实际需要有光口、电口两种选择,最终实现该嵌入式系统与上位机的数据传输;通过实验观察上位机的输出结果,验证了目标板和上位机的通信功能,达到了对风电机组状态在线监测、故障及时发现的要求。

ARM 风电 以太网 通信

0 引言

当前风电机组维护一般采取定期检修的方式,是被动式的发现问题,导致维修周期长、突发问题逐渐增多。远程监测可以在线实时监测,及时发现故障主动上报,对于维护人员不足、重要备件缺乏或规模较大的风电场(如海上风电场)具有重要意义[1]。嵌入式系统以其内核小、专用性强、系统精简、高时效性等特点,在各领域取得广泛地应用;微控制器ARM以成本低、性能高、功耗低的特点占据了嵌入式领域的优势地位,在工业控制、通信系统、消费类电子产品、网络系统和无线系统等领域得到广泛应用。在这些应用中,信息交流多采用现场总线技术;但是现场总线的固有缺点就是种类过于繁杂、兼容性差、通信速率不高、价格过于昂贵。近几年以来,将以太网替代现场总线,与工业控制相结合的研究趋势显著,以太网的优势十分明显,它的通信速率很高、设备成本较低、组网方便,因此具有十分大的潜力。

本文结合实际需要,提出一种基于ARM的嵌入式系统,用于在风电机组远程监测系统中组网通信,从硬件设计和软件设计两方面进行阐述,实现了系统的以太网通信功能,验证了系统的有效性和合理性。

1 总体设计

基于ARM嵌入式的远程监测系统的总体方案如图1所示。底层控制器是整个系统的核心,一方面实现数据的采集和预处理,另一方面将信号通过TCP/IP协议上传到上位机进行存储和监测,考虑到传输距离和抗电磁干扰能力,数据一般利用光纤传输,电连接口作为调试和应急通信使用。本文重点介绍底层控制器中的主控板。

图1 远程监测系统总体方案图

2 硬件设计

主控板采用DSP、FPGA和ARM组成的嵌入式多核控制器。由于DSP需要运行复杂的控制算法,实时性要求较高,虽然外扩网卡芯片成本较低,但是会耗费DSP大量的片上资源。基于此,主控板采用集成以太网模块的方式实现以太网通信。根据嵌入式装置小型化、低成本的趋势,对比目前市场上的同类主流器件,以太网模块主要由网络处理器(ARM)LM3S9B92、光电介质转换芯片ML6652CH和光收发一体化模块AFBR5803ATZ组成,其中ARM作为主控单元,完成与FPGA和上位机之间的通信功能。以太网模块硬件设计原理架构如图2所示。为方便调试及应用于不同环境,网络模块设计有两种以太网介质接口,通过双向拨码开关进行切换。对于数据发送过程,双向开关选通电接口时,网络处理器将MLT-3编码的差分信号通过1:1双路隔离变压器、RJ45接口输出;选通光接口时,光电介质转换芯片负责将MLT-3编码的差分信号转换为适合光纤传输的LVPECL信号,并经由电阻网络转换为PECL信号进入光纤收发一体化模块,通过62.5/125 μm多模光纤输出。数据接收过程与发送过程相反。网络参数配置拨码开关用于修改模块的网络配置信息,如IP地址、端口号等,使以太网模块具有通用性,同一类设备之间可以灵活替换。另外,网络处理器通过EPI并行接口与双端RAM缓存结构连接,该双端RAM在FPGA上构建,用于DSP与ARM之间的高速数据传输。

图2 以太网模块硬件设计原理架构图

1.1网络处理器[2]

TI公司的LM3S9B92是一款32位的微控制器,基于ARM®Cortex-M3TM内核技术,性能先进,主频达到80 MHz,片上存储器有256KB的Flash和96KB的SRAM[3]。该控制器具有丰富的外设功能,并行外设支持8位/16位/32位专用并行总线,串行外设支持CAN、USB、UART、I2C、SSI、I2S,集成了MAC和PHY模块,支持10/100BASE-TX以太网,可实现以太网功能。

1.2光电介质转换芯片

微线性公司的ML6652CH支持10M或者100M光电介质转换,功耗低,串行配置接口,全双工半双工下支持自动协商,集成数据恢复器。支持六种运行模式:强制10Mbps;强制100Mbps;自动协商非透明半双工;自动协商非透明全/半双工;自动协商透明10/100Mbps;非透明特殊情况。根据设备需求,选择自动协商透明10/100Mbps模式,对应ML6652CH相应引脚的配置通过上下拉或者分压电阻的方式完成。

1.3光纤收发一体化模块

安捷伦公司的AFBR5803ATZ收发功能独立,发射模块具有温度补偿、慢启动功能,接收模块具有前置放大、限幅放大和报警功能。由于ML6652CH输出为标准LVPECL电平,而AFBR5803ATZ为标准PECL电平驱动,所以二者之间还需要采用交流耦合的方式完成电平的转换和阻抗的匹配。

3 软件设计[4]

软件设计的主要工作在于TCP/IP协议栈的移植以完成通信,和由ARM与DSP之间通过FPGA上构造的双端RAM完成握手通信等工作。FPGA程序设计在QuartusII9.0环境下采用Verilog语言编写。以太网模块软件移植TCP/IP协议LwIP,运行环境无操作系统。软件流程图如图3所示。运行开始后,首先完成系统初始化;软件主循环用于以太网模块与上层服务器之间的数据交互;以太网中断用于协议栈的网络数据包处理,在中断处理之前对网络连接的状态进行判断,若网络模块与上层服务器失去连接,则作为客户端的网络模块重新发出连接请求,待连接重新建立后,协议栈即可对接收到的数据包进行解析或者将应用层传递的数据进行封包发送至上层服务器。

图3 以太网模块软件流程图

3.1双端RAM设计

网络处理器ARM与主控制器DSP之间通过FPGA上构造的双端RAM完成握手通信, 根据实际数据需求,构造8KB的双端RAM存储空间并进行划分,对每一块存储区域设置状态寄存器,用于记录存储区域详细的状态信息,包括数据类型、存储空间的空满状态、数据长度等。双端RAM的软件主体是QuartusⅡ9.0开发环境中的宏单元模块RAM:2-PORT。由于本文主要介绍ARM网络通信设计,双端RAM软件只进行简要概述。

3.2 TCP/IP协议栈的移植[5]

LM3S9B92遵循IEEE 802.3规范,包含以太网功能,为实现网络通信功能,还需要在系统上移植TCP/IP协议栈。传统TCP/IP协议过于注重数据传送的可靠性和对数据流量的控制,代码复杂、实现困难,需占用大量资源,在实时性方面不能满足嵌入式应用的要求。随着嵌入式以太网技术的研究深入,轻量级的TCP/IP协议不断提出,结合实际需要,最终选择使用LwIP协议。

LwIP是Light Weight(轻型)IP协议,是一套用于嵌入式系统的开源代码TCP/IP协议栈,由瑞士计算机科学院的Adam Dunkels等开发。无论是移植到操作系统上,还是在无操作系统的情况下,LwIP都可以运行[6],它最大的特点是实现TCP/IP协议主要功能的同时,占用较少的RAM,一般只需要几百字节的RAM和40kB左右的ROM就可以运行[7],因此非常适合在嵌入式系统中使用。LwIP具有以下特性:

(1)支持IP的转发;(2)支持ICMP协议;(3)支持用来完成不同处理过程间的包分离的UDP协议;(4)支持包括拥塞控制、RTT估算、快速恢复转发的TCP协议;(5)提供专门的内部回调函数接口,用于提高应用程序性能;(6)可选择的Berkeley接口API(多线程情况下)。

ARP协议的实现[8]:地址解析协议(ARP)为IP地址与硬件地址提供动态映射,由ARP缓存、ARP应答和ARP请求三部分组成。ARP缓存实现IP地址与硬件地址间映射记录更新,ARP应答和ARP请求处于休眠态。当上层发送IP数据包却没有目的主机硬件地址时,ARP请求被唤醒,发送ARP请求包,ARP应答接收到ARP请求包后被唤醒。

IP和ICMP协议的实现[9]:IP协议是TCP/IP协议栈的核心,TCP、UDP和ICMP数据传输时,都是按照IP的数据报文格式。IP模块完成发送、接收、转发报文的最基本功能。由于IP协议是无差错控制机制,因此用ICMP模块的通信差错控制来弥补。ICMP模块实现PING功能。

TCP层的实现:受限于硬件资源,对TCP层的功能进行了简化。为防止通信连接异常断开,建立断开重连机制:在系统定时器中断中记录当前时刻,根据时间是否满1秒设置用于主循环查询的全局状态变量;主程序每次循环开始后,根据全局变量的值为1或者0,确定是否执行网络连接状况的检查;当TCP各状态的变量为空时,则以太网模块发送连接请求;非空时,当TCP状态处于非以下任意一种状态时:ESTABLISHED,CLOSE_WAIT,SYN_SENT,SYN_RCVD,TIME_WAIT,则首先关闭当前异常连接,释放并回收当前连接所占资源,重新发送连接请求。

鉴于传输的数据大,对数据的传输速度、准确性和稳定性提出了较高的要求,结合系统实际情况,将LwIP在无操作系统下独立运行,通过TCP协议面向连接的、可靠的服务,数据传输的质量得以保证。以太网模块与上位机采取客户端/服务器模式进行通信,TCP状态流程如图4所示。以太网模块与上位机被赋予不同的IP地址,以太网模块通过三次握手过程建立与上位机的通信连接,成功后创建一个独立线程,通信双方即可进行数据收发;数据传输完毕后,通过四次挥手过程关闭连接。

4 测试结果

根据前述硬件和软件的设计,搭建好硬件平台并完成软件调试后,对系统软硬件进行实验验证。上位机使用PC机,CPU为i3-3220,内存3.4GB,操作系统Windows XP SP3。首先利用操作系统自带命令行进行Ping测试,显示Ping成功。如图5所示。

图5 Ping测试结果

然后打开TCP&UDP测试工具,配置好端口号和IP地址,显示连接成功。如图6所示。与此同时,打开Wireshark抓包工具进行抓包分析,证实目标板与上位机TCP建立连接。如图7所示。

图6 TCP&UDP测试工具截图

图7 Wireshark抓包工具截图

5 结论

本文从硬件和软件两部分对基于ARM的嵌入式系统组网进行了分析和设计,采用精简TCP/IP协议运行在无操作系统下,占用资源少、成本低、操作方便,适合应用于大量底层控制器与上位机组网通信,在风电机组远程监测系统中发挥了重要作用,具有很高的推广价值。

[1] 王效, 刘晓光. 基于ARM的风电齿轮箱振动监测系统设计[J]. 发电技术, 2013, 150(34): 16-19.

[2] Stellaris LM3S9B92 microcontroller datasheet. Texas instruments incorporated.

[3] 吴云, 徐建明, 俞立, 等. 嵌入式三轴运动控制系统的以太网通信实现[J]. 计算机测量与控制, 2012, 20(7):1 846-1848.

[4] SLOSS A. ARM System Developer’s Guide: Designing and Optimizing System Software[M]. Singapore: Elsevier Pte Ltd,2004.

[5] 王超. 基于ARMCortex-M3数字音频网络广播终端的设计与实现[D]. 西安: 西安科技大学, 2012.

[6] 唐文俊, 李维波, 贺红, 等. 一种基于ARM的远程监控系统的设计与实现[J]. 船电技术, 2011, 31(11): 1-5.

[7] 孔栋, 郑建宏. 嵌入式TCPIP协议栈LWIP在ARM平台上的移植与应用[J]. 通信技术, 2008, 41(6): 38-40.

[8] 赵国峰, 邱作雨, 张毅, 等. 基于单片机的嵌入式TCP/IP协议栈的设计与实现[J]. 计算机技术与发展, 2009, 19(3): 137-140.

[9] DUNKELS A. design and implementation of the LwIP TCP/IP stack[Z]. Swedish Institute of Computer Science, 2001.


Design of Wind Turbine Remote Monitoring System Based on ARM

Lu Yao, Jiang Hanhong, Rui Wanzhi

(National Key Laboratory for Vessel Integrated Power System Technology, Naval University of Engineering, Wuhan 430033, China)

TP273

A

1003-4862(2015)02-0009-04

2014-09-03

国家重点基础研究发展计划973项目(2012CB215103);国家自然科学基金资助项目(51377167)

路遥(1990-),男,研究生,主要研究方向为电力系统网络测控。

猜你喜欢

双端上位以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
适用于架空线-海缆-架空线混联线路的组合行波测距方法
一种新型的输电线路双端行波故障定位方法
一种新型的输电线路双端行波故障定位方法
特斯拉 风云之老阿姨上位
谈实时以太网EtherCAT技术在变电站自动化中的应用
“三扶”齐上位 决战必打赢
高压输电线路的单、双端测距法
基于ZigBee和VC上位机的教室智能监测管理系统
一种利用双端电气量的故障测距新算法