芯片破解网


首页 -- 单片机破解-- IC破解-- 芯片破解-- 新闻技术 --关于我们
 
芯片破解网 >> IC破解 >> 当前位置

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

本文介绍的嵌入式网络监控系统采用IE浏览器作为客户端界面,支持RS232和以太网的连接,可以通过以太网接入Internet,进而实现从Internet上监控嵌入式设备。在实际应用中,如果I/O口连接了其它硬件设备,只需对变量的处理函数做相应改动,就可实现远程监控。系统内部嵌入μC/OS-II操作系统,使用灵活,可通过编程增加需要的功能。采用DHCP动态获得IP地址等信息,增强了系统的灵活性。本方案所实现的网络监控系统具有成本低、可视化、与平台无关等特点,可以广泛应用在工业控制领域,有很高的实用价值。

通过网络对设备进行监控,一个外部界面是必不可少的,利用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时,芯片停止接收数据包。

返回顶部


2013-2015 芯片破解网 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市协同电子有限公司 版权所有

地址:深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面) 电话:0755-88820678
手机:13713820066 QQ:498187676 联系:周工


站点地图

粤ICP备12084176号