实时内核μC/OS-II下的网络监控系统的设计

发布者:qazwsx007最新更新时间:2011-10-06 关键字:内核μCOS-II  网络监控系统 手机看文章 扫描二维码
随时随地手机看文章
    随着信息时代的到来,特别是互联网的迅速普及,人们开始越来越多地接触到一个新概念——嵌入式产品。将嵌入式系统接入Internet,不仅实现了设备的远程控制、维护和升级,而且可实现资源共享。

    通过网络对设备进行监控,一个外部界面是必不可少的,利用Web浏览器可使用户通过网络对远程系统实现管理和更新,大大简化了人机界面的设计。若在系统中嵌入实时操作系统,将使系统具有极强的可移植性,另外,硬件设备的添加与裁剪也具有极大的灵活性。采用DHCP协议动态获得IP相关信息,使TCP/IP软件不再依赖于存储在芯片中的固定IP地址,这将为大型系统的安装提供方便条件。
  

    本设计的关键是如何在内存资源有限的单片机系统上,利用实时内核μC/OS-II把信息变成可以在互联网上传输的IP数据包,以便通过IE浏览器监控远程设备的状态。

    1 网络监控系统概述
  

    本设计采用Internet监控远程设备,整个系统相当于一个网络服务器。客户端通过IE浏览器对该服务器进行访问,实时地获得设备的状态信息,以便对设备进行控制和维护。这样,就要求服务器提供WWW服务,即实现HTTP协议。它应被所有浏览器支持,以保证任何地方的用户都可通过浏览器下达命令。在网络接口上,本系统选择以太网为其运行的网络环境。图1所示为HTTP设计模型。首先,客户端的浏览器与Web服务器使用一个或多个TCP连接,通过80号端口进行通信,浏览器通过HTTP协议浏览事先存储在EEROM中的控制网页,通过该网页传递控制命令到网络服务器,然后服务器对命令进行解析,调用相应的函数以控制外部I/O设备。

       整个网络监控系统包括硬件和软件两部分。在硬件部分嵌入了TCP/IP协议栈。因系统资源有限,在保持协议分层体系结构的前提下,应尽量精简协议内容。根据网络监控系统的原理,本系统实现了以下协议:DHCP、HTTP、TCP、IP、ICMP、ARP。

        2 硬件平台设计
  

        本设计采用以太网作为网络的运行环境,在硬件上需要有网络控制芯片。目前市面上有许多以太网络控制芯片,但其大多数都耗电量高、功能复杂,不适合用于价格低廉的嵌入式系统中。在这里选用RTL8019AS[1],其好处是NE2000兼容、软件移植性好、接口简单、不需转换芯片如PCI-ISA桥等。而单片机选择89C55,它有20K的ROM,内部结构简单,只要代码能够移植于它,就能较轻松地移植于其它架构的CPU,比如ARM等。图2为硬件原理框图。24C64用来存储物理地址及设备的相关信息等;外部RAM为数据处理提供缓存。系统提供了RS232接口用来进行测试,提供了RJ45接口以便连接到以太网。

       3 操作系统的选择
  

        根据监控系统的特点,系统必须满足实时性和并发性的要求,以便更好地支持TCP/IP运行时的调度,所以应用软件应该基于嵌入式实时操作系统。适合于片上的实时操作系统比较多,但是代码公开且适合移植于51系列单片机的却很少,主要有μC/OS-II、RTX51、Small RTOS51等。实时内核μC/OS-II是专门为单片机嵌入式应用而设计的,图3为嵌入式实时操作系统的内部结构图。它主要采用标准的ANSI C语言写成,与硬件有关的部分使用汇编语言编写,以使操作系统能很方便地移植到其它的处理器。可见,使用嵌入式操作系统时,应用软件只与上层的代码有关而与处理器无关,在进行软件移植时仅需对与硬件相关的底层函数进行修改,因此这样的应用软件具有良好的可移植性和稳定的可靠性。在μC/OS-II下编写TCP/IP协议,比传统的前后台系统要方便很多;用它分配内存缓冲区,使用前申请,使用后释放,可有效地利用系统资源。在程序设计时将TCP/IP协议栈做成任务,而用户程序在另外的任务中运行。这样,单片机可在完成原来控制系统功能的前提下,实现网络通信。从代码长度上看,实现基本功能的TCP/IP协议栈比Linux等其它操作系统优势更大。

      4 软件设计
  

        软件设计是网络监控系统设计的重要部分,主要完成RTL8019AS的驱动、μC/OS-II对应用系统的管理及TCP/IP协议栈的实现。
4.1 μC/OS-II操作系统的应用
       

         μC/OS-II可以根据需要进行相应裁剪后移植[2]到51单片机上。用它对系统进行管理,使得程序易读,且便于移植。μC/OS-II主要负责管理网卡初始化、创建系统资源、创建任务等三部分工作。在系统资源的创建上,使用TxSem、RxSem信号量[3]及TxQFIFO队列[3]。

      当需要发送或接收数据时,触发RTL8019AS中断,CPU将中断向量进入中断服务子程序,进行事件处理。中断服务子程序根据RTL8019AS内部中断状态寄存器IMR的值确定系统所处状态,通过两个信号量TxSemPost和RxSemPost切换系统任务,使等待相应信号量的一个任务进入就绪态。发送数据帧的过程是通过检查信号量TxSemPost而进行的相应处理,为了保证数据正确到达客户端,这里采用了多次发送机制。当信号量RxSemPost到来时,开始接收数据。如果数据帧正确,就根据数据包的大小申请合适的内存空间存放该数据,然后根据接收帧的目的地址的正确与否决定是否将该帧提交给上层应用程序。若无误则解析数据报头,进行相应处理。

      4.2 RTL8019驱动
  

          RTL8019AS完成数据包和电信号之间的相互转换。驱动程序主要包括芯片初始化、收包、发包三部分。物理信道上的收发操作采用以太网协议802.3帧格式[4]。系统收发数据包的原理是单片机先将待发送的数据包存入RTL8019芯片RAM,给出发送缓冲区首地址和数据包长度(写入TPSR、TBCR0,1)后,启动发送命令(CR=0x3E),即可实现RTL8019的发送功能。RTL8019会自动按以太网协议完成发送并将结果写入状态寄存器。RTL8019芯片接收缓冲区构成一个循环FIFO队列,PSTART、PSTOP两个寄存器限定了循环队列的开始和结束页,CURR为写入指针,受芯片控制,BNRY为读出指针,由主机程序控制。根据CURR==BNRY+1?可以判断出是否收到新的数据包,新收到的数据包存于以CURR指出的地址为首址的RAM中。当CURR==BNRY时,芯片停止接收数据包。

        4.3 网络协议栈的实现
  

        基于TCP/IP协议可以实现多种功能,本文主要讨论HTTP协议[5],也就是Web服务器在应用层的主要构成协议。由于TCP/IP协议栈本身是一种层式结构,所以在协议栈的设计上采用模块化思想,逐层实现,然后通过对各层接口函数的调用实现完整的协议栈。实现TCP/IP协议栈的大致流程如图4所示。


  要想将嵌入式系统作为一个终端并用TCP/IP连接起来,就必须设定IP地址、网关和子网掩码等信息。为了增强系统的灵活性,需要一种自动配置能力,即系统自动从中心服务器获得IP地址等信息。实现这一功能的标准方法是通过主机动态配置协议(DHCP)[5]。DHCP是基于UDP层之上的应用,采用端口68和67以广播的形式进行通讯,它的工作主要包括探查、赋予、请求、确认等操作。
  

        HTTP协议选择定义请求-应答机制获得Web服务器上的文件。当用户访问Web服务器中的网页时,一个HTTP请求就会以多行字符串的形式从浏览器发送到Web服务器,第一行指定一个方法GET,后面跟着一串参数。服务器对客户端的应答需包含HTTP报文头,如果请求成功,还包括文档本身,这些信息沿TCP连接发送,直至传送完成断开连接。含最少量信息的报文头包含成功或失败状态及传输文档的内容类型(文本、HTML、GIF图形等)。所有连接的相关信息如IP地址、客户端口号、序列号、应答号及TCP状态等被放入一个结构体,结构体的每个元素均可看作一个连接状态。服务器进程关闭连接表示本次响应结束。网页信息以HTML文本格式存储于EEROM中,Web服务器创建局部变量以匹配文档中的特殊字符,这些信息通过HTTP协议沿TCP连接发送到浏览器,服务器在应答文档中碰到合适的字符,就替换一个变量值,实现动态网页。
  为了在服务器和客户端之间传递HTTP请求和应答信息,需要一个可靠的通信信道,这由传输控制协议TCP提供。

         TCP提供一种面向连接的可靠的数据流服务,它的主要任务是创建进程到进程的通信。数据传输分三个阶段进行:建立连接、传输数据、断开连接,实现起来相对复杂。由于嵌入式系统是服务器端,总是对客户的连接请求给予响应,从不主动发起连接请求,因此只要在保证嵌入式系统能够对TCP分组进行正确响应的前提下,就可以对TCP协议进行大幅度简化。嵌入式系统总是响应客户连接,始终是被动地打开连接,所以只需为建立连接过程中的嵌入式系统提供 LISTEN、SYN_RCVD两种状态即可。虽然比标准状态变迁图中缺少了CLOSED、SYN_SENT状态,但LISTEN、SYN_RCVD足以描述系统建立连接时的状态。当系统在传最后一个数据包时,设置FIN,要求终止当前连接。连接主动关闭和同时关闭两种情况都是可能发生的,因此只需为系统提供主动关闭和同时关闭涉及到的状态即可。
  

        为了在主机之间传递TCP段,需要实现IP协议。IP协议的实现比较复杂,但是从实现Web服务器这一特定的要求出发,主要需把握如下两点设计思想:第一,对接收到的IP数据报进行处理,向上层协议进行提交;第二,负责对TCP报文、ICMP报文进行封装,交给数据链路层进行装帧。实际上这是IP协议最基本的功能,也是Web服务器在网络层必需的功能。ICMP协议负责传递差错报文及其它需要注意的信息, Ping利用ICMP协议的回响功能实现主机/服务器是否有应答的测试。Ping的实现主要由ping请求、ping应答和回显操作三个函数完成。
  由于采用以太网的接入方式,因此系统必须实现IEEE802.3标准,主要由RTL8019AS完成。为了保证系统在以太网的通信,还需要实现ARP协议。ARP协议的本质就是完成网络地址到物理地址的映射,从而保证网络的正确传输。整个ARP处理过程由ARP请求、ARP应答、ARP处理三个函数实现,ARP处理函数建立了ARP缓存表。
  本文介绍的嵌入式网络监控系统采用IE浏览器作为客户端界面,支持RS232和以太网的连接,可以通过以太网接入Internet,进而实现从Internet上监控嵌入式设备。在实际应用中,如果I/O口连接了其它硬件设备,只需对变量的处理函数做相应改动,就可实现远程监控。系统内部嵌入μC/OS-II操作系统,使用灵活,可通过编程增加需要的功能。采用DHCP动态获得IP地址等信息,增强了系统的灵活性。本方案所实现的网络监控系统具有成本低、可视化、与平台无关等特点,可以广泛应用在工业控制领域,有很高的实用价值。

      参考文献
      参考文献
1 REALTEK Datasheet.RTL8019AS RealPNP[J], 2000 
      参考文献
2 μCOS51移植心得.http://www.armecos.com
      参考文献
3邵贝贝. 嵌入式实时操作系统μCOS-II. 北京:北京航空航天大学出版社,2003
      参考文献
4杨 屹.NE2000网卡芯片驱动程序.巨龙公司系统集成开发部,2002
      参考文献
5陈向群译.嵌入式系统Web服务器——TCP/IP Lean. 北京:机械工业出版社,2003:187~214,425~440

关键字:内核μCOS-II  网络监控系统 引用地址:实时内核μC/OS-II下的网络监控系统的设计

上一篇:基于GSM的无线智能监控设计
下一篇:基于S12的无线传感器网络样机系统设计

推荐阅读最新更新时间:2024-05-02 21:37

基于单片机的电子清纱器网络监控系统的实现
引言 在络纱过程中清除纱线中的有害纱疵,是纺纱生产的关键工序之一。以往纺纱过程中的清纱管理只是单机管理,利用电子清纱控制器(一种由两级单片机构成的RS-422全双工总线式监控装置)实时进行120路纱线上的纱疵清除工作;并完成该机台相关参数的设定、统计、故障实时监测和LCD界面控制等工作;同时积累了大量生产数据,形成了 信息孤岛 ,不利于全车间范围内的络纱生产和质量管理。为了提高车间的生产效率和管理水平,我们开发实现了一个基于现场总线的电子清纱器网络监控系统。该系统中,电子器清纱器具有了数字通信能力;同时增设工控机作为远程监控计算机,利用MOXA CP-114IS异步多串口卡组成以RS-485为物理层的现场总线,将单个分散的现场设备变
[单片机]
基于单片机的电子清纱器<font color='red'>网络</font><font color='red'>监控系统</font>的实现
网络监控进学校 视频监控系统遭质疑
据报道,日前市教育局发文要求所有中小学及幼儿园食堂安装电子眼,对食堂采购、加工各个环节实施全程监控,以防餐饮安全事故的发生。尽管这样的出发点是好的,可是这种做法还让人心生诸多疑问。   全市所有中小学一律安装电子眼,这得花多少钱?这笔钱不论由谁来出,终归都是纳税人的钱,更何况它到底能起多大作用还是个大问号。就像前几年,校车安全事故高发那阵子,曾推行校车安装电子跟踪监控设备一样。也是花了不少钱,可是效果究竟怎样,如今还有多少台校车在正常使用,这一切教育局是否心中有数?假如教育局尚不全面了解,或者这一技术手段的实际效果一般,那么就不应该匆忙发布这样的文件,更不应该强行推进这样的开销不菲的技术工程。   再说,要及时监控,不漏过
[模拟电子]
<font color='red'>网络</font>监控进学校 视频<font color='red'>监控系统</font>遭质疑
城市治安网络视频监控系统解决方案解析
  城市治安系统概述 本文所述监控系统依据对应城市治安监控的需求大概建设了2000个监控点,主干网采用千兆光纤传输,分两级管理体系,可提供可扩展的连接接口。此方案采用分布式视频服务系统,可自由划分网络服务结构,而建立在已有网络上的构架体系,使系统达到零布线或少量布线,故而扩展上不受任何结构上的限制,可随网络的延伸无限扩充。 根据目前的应用和未来发展的需要,现阶段城市视频监控系统必须达到以下目标: 1、打破现有多指挥中心共存的现状,进行集中投资、管理,避免重复投资与建设,在节约资源的同时提高技术维护和管理水平,并且使离散的数据库和信息资源得以联动共享,发挥更大的作用。采用计算机辅助调度技术,装备先进的指挥调度通信系
[安防电子]
城市治安<font color='red'>网络</font>视频<font color='red'>监控系统</font>解决方案解析
基于现场总线的电子清纱器网络监控系统的实现
  引言   在络纱过程中清除纱线中的有害纱疵,是纺纱生产的关键工序之一。以往纺纱过程中的清纱管理只是单机管理,利用电子清纱控制器(一种由两级单片机构成的RS-422全双工总线式监控装置)实时进行120路纱线上的纱疵清除工作;并完成该机台相关参数的设定、统计、故障实时监测和LCD界面控制等工作;同时积累了大量生产数据,形成了“信息孤岛”,不利于全车间范围内的络纱生产和质量管理。为了提高车间的生产效率和管理水平,我们开发实现了一个基于现场总线的电子清纱器网络监控系统。该系统中,电子器清纱器具有了数字通信能力;同时增设工控机作为远程监控计算机,利用MOXA CP-114IS异步多串口卡组成以RS-485为物理层的现场总线,将单个分
[嵌入式]
用51内核网络单片机构成的远程监控系统
引 言   在工业控制、信息家电等应用领域,存在大量的嵌入式设备,而这些设备很多只有串口、CAN总线等简单的网络接口,通信能力有限,有的甚至处于孤立运行状态。如何让这些以单片机为核心的嵌入式系统接入以太网,并通过网络对它们进行远程监控,是当前电子世界中的研究热点。TCP/IP在Intemet和大多数局域网中的成功应用,已经证明了其强大的功能。如果实现TCP/IP协议和嵌入式系统的结合,嵌入式系统联网问题就能得到有效解决。目前,嵌入式系统联网主要有如下几种方案:①EMIT,以PC或其它高档计算机为网关,将CAN、RS-232等设备接入重量级网络;②采用32位MCU+实时操作系统,高档MCU功能强大,可以实现复杂操作,但需要有RTOS
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved