《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 业界动态 > 基于ARM的嵌入式远程监控系统

基于ARM的嵌入式远程监控系统

2009-03-04
作者:艾 红, 王洪涛

    摘  要: 研究了基于ARM的嵌入式远程监控系统。系统采用S3C2410 为主控芯片并且移植了具有一定实时性、源代码公开的嵌入式系统Linux。ARM处理器实时监控现场设备的运行,并将得到的各种监控参数进行分析、处理,然后将处理结果通过以太网传入Internet。远程控制者就可以实现异地监视和控制现场设备。 

    关键词: 嵌入式技术; 套接字; Linux; 远程监控; ARM 

 

    随着计算机、通信、网络控制及嵌入式等技术的飞速发展,信息交换沟通的领域不断扩大,覆盖了从现场设备到控制、管理的各个层次。嵌入式系统由于其稳定性、实时性较高已在工业、国防、运输及航天等领域被广泛地应用。如果将嵌入式系统连接到应用广泛的网络上,则可以方便、低廉地将信息传到几乎世界的任何一个地方,从而进行远程监控。嵌入式远程监控系统现已成为工业控制网络重要的发展方向之一。基于ARM的远程监控系统[1]是信息网络与控制结合的产物,它借助网络完成监视控制任务,将监视范围扩大到更大的空间,进一步推进了控制技术向网络化、分散化和开放化的发展。 

1 远程监控系统总体结构 

    远程监控系统实质是本地和远程端共同构成能够实现远程监控的软、硬件的系统,它是信息网络与控制网络结合的产物,目前已成为自动化控制领域的研究热点。根据设计的要求,本监控系统包含三部分。 

    (1)现场设备层:包括远程I/O控制模块和各种现场控制器。主要完成现场数据的采集、处理并通过总线接口与上层进行通信。

    (2) 内部控制管理层:主要由企业内部以太网、ARM主控制器组成。主要完成整个系统的信息收集和发布,并对整个系统进行统一管理和监控。 

    (3) 网络层:该层通过交换机、路由器连接企业各个局域网,完成信息全球发布。 

    系统总体结构框图如图1所示。 

 

 

2  软硬件设计 

    本系统的设计包括硬件设计与软件设计。网络系统硬件包括系统管理主机、服务器、网关、协议转换器、集线器及底层智能化仪表。网络系统软件包括网络操作软件、服务器操作软件、应用软件数据库、通信协议、网络管理协议等。 

2.1  硬件设计 

2.1.1  控制器的设计 

    ARM控制器作为嵌入式远程控制系统的中央控制平台是整个监控系统的核心,在系统中起着承上启下的作用。向上连接企业的局域网,向下兼容测控专用的现场总线网络;同时,它还承担对外围系统的数据采集和控制功能。该部分的整体结构由处理器、存储器、电源、网络功能、测控专用网络、模拟信号采集、数字量输入输出等部分构成,其基本结构如图2所示。在这个控制系统中核心板为基于AT91RM9200的最小系统,主要包括了AT91RM9200、Flash、SDRAM、电源模块、以太网通信端口、RS-485和RS-232通信端口、JTAG调试端口等。 

 

 

2.1.2  嵌入式以太网的硬件设计 

    该系统采用的是Realtek 公司生产的RTL8019AS以太网控制器,由于其优良的性能、低廉的价格,使其在市场上在10Mb/s网卡中占有较高的比例。 

    RTL8019AS的性能如下: 

    (1) 符合以太网与IEEE802.3的标准; 

    (2) 全双工,收发可同时达到10Mb/s的速率; 

    (3) 内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求; 

    (4)支持8/16位数据总线,8个中断申请以及16个I/O基地址选择; 

    (5) 支持UTP、AUI、BNC自动检测。还支持10Base-T拓扑结构的自动极性修正; 

    (6) 允许4个诊断LED引脚可编程输出。 

    由于开发资源非常丰富,所以对RTL8019AS开发比较容易。其网络通信部分的接口电路如图3所示。用RTL8019AS芯片设计的以太网控制器相关电路,可以通过RJ-45连上以太网,采用跳线工作方式即网卡的I/O和中断由跳线决定,JP引脚高电平是选择16位数据线。系统通过4条地址线A0~A3选择RTL8019AS的寄存器地址和存储器地址,控制并实现数据的读取。RTL8019AS的TPIN+(59脚),TPIN-(58脚)脚是TP的一对输入脚,能以10Mb/s的速率从双绞线接收差分曼彻斯特编码的数据。TPOUT+(45脚)、TPOUT-(46脚)是一对曼彻斯特编码的差分TP输出信号。为了防止双绞线超载,该输出信号会被提前中断,这样可以减少拥塞。连接器的其他管脚都通过一个电容与地连接。最后,还必须在50、51脚之间接入一个20MHz的晶体振荡器。网卡的复位信号由ARM产生,RST为高电平有效,信号宽度至少为800ns。ARM的一个引脚产生1μs以上的高电平就可以使RTL8019AS复位。

 

 

2.1.3 底层采集模块设计 

    以总线技术为核心的工业控制系统,在底层设计时采用传感器和各种智能仪器共同控制现场设备的正常运行。由于各种总线采用的网络协议和通信介质各不相同,使得不同总线设备之间实现互连和互操作存在困难。这层信息参数主要包括生产装置运行参数的测量值、控制量、开关阀门的工作位置、报警状态、设备的资源与维护信息、系统组态、参数修改、零点与量程调整信息等,所以要协调好各种总线及控制节点间的关系,以保证系统的正常运行。具体设计如图4所示。 

 

 

2.2  软件设计 

    软件总体设计包括嵌入式Linux[2-3]文件系统设计、网络通信程序设计、驱动程序设计和远程数据处理程序设计。 

    远程数据采集终端主要完成对电压、流量、压力、电流等信号的采样及A/D转换。 

    网络通信程序[4]是指上位机和下位机之间通过以太网进行通信的程序。在以太网中应用的 TCP/IP协议,其核心内容在传输层、网络层和设备接口层,而这三层的功能一般是在操作系统的内核中实现的。要在以太网上正确传输数据,网络协议是必不可少的,而TCP/IP协议是首选。使用完整的TCP/IP协议当然能够实现上述要求,但由于使用了嵌入式系统,其资源有限,因此必须对协议进行精简。 

2.2.1 驱动程序设计 

    以太网驱动程序[5]主要实现以太网数据包的发送和接收。这是以太网通信中最基本也最重要的,其实现的好坏直接影响整个协议的性能。驱动程序在发送数据时,将要发送的数据包按指定的格式写入RTL8019AS并启动发送命令,RTL8019AS会自动把数据包转换成物理帧格式在物理通道上传输。在接收数据时,RTL8019AS收到物理信号后将其转换成数据,按指定格式存放,以太网驱动程序按照网络层可以接收的形式对接收到的数据进行处理并交付。简言之,RTL8019AS完成数据包和电信号之间的相互转换,而以太网驱动程序就是物理接口与网络层交互的软件接口。以太网驱动程序具体如下: 

    Static int rtl8019_init (struct net_device * dev); 

    Static int rtl8019_open (struct net_device * dev); 

    Static int rtl8019_release (struct net_device * dev); 

    Static int rtl8019_config (struct net_device * dev, struct ifmap *map); 

    Static int rtl8019_tx(struct sk_buff * dev, struct net_device *map); 

    Int rtl8019_init_module (void); 

    Void rtl8019_cleanup (void); 

2.2.2  数据处理 

    系统内部首先注册RTL8019AS网络设备,从而利用Linux为网络设备所提供的数据传输功能接口,实现专用网卡的数据传输。数据发送时,首先数据由块设备的数据接口从用户态拷入核心态的系统缓冲区中,再由RTL8019AS的发送接口将数据发送到网络硬件设备。Linux在进程调度或从系统调用返回时,调度程序判断是否被激活,然后判断写队列是否有请求块。若有则将数据发送给对方进程,在确认信号到来后,将请求块移去。若数据发送后响应的为重传信号,则根据约定进一步处理。重复处理下一个请求块直至请求队列为空。若队列空且有进程睡眠则唤醒睡眠进程。在接收时,通过RTL8019AS的设备接口将数据接收到系统缓冲区中,再通过块设备接口将数据发送到用户缓冲区中。当有数据收到时,激活中断服务子程序,中断服务子程序将数据读入数据队列,若有读睡眠进程则唤醒该进程,同时将到来的数据进行校验,数据正确则发回信号,否则发回重传信号,如图5所示。 

 

 

    随着网络通信技术的发展,工业控制领域也迎来了深刻技术变革,控制系统结构网络化与控制系统体系开放性将是控制系统技术发展的趋势。近年来出现的基于ARM的嵌入式远程监控系统作为一种全新的概念成为计算机技术与自动控制技术深度融合的产物,其高度的开放性、通用性、统一性使其相对于传统监控模式具有巨大的优势,其应用前景也被人们寄予厚望。 

参考文献 

[1] 刘甜甜,连耀华. 基于ARM的嵌入式远程监控系统[J].电子技术, 2007(4):58-62. 

[2] 陈阿林,肖嵬,肖丹燕,等. 基于嵌入式Linux的网络监测系统的设计与实现[J].重庆师范学院学报(自然科学版),2004,21(1):23-25.  

[3] 李善平. Linux与嵌入式系统[M].北京:清华大学出版社,2003. 

[4] 林宇,郭凌云. Linux网络编程. 北京:机械工业出版社, 2000. 

[5] RUBINI A. Linux设备驱动程序[M]. 魏永明, 译.2版.北京:中国电力出版社,2002. 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。