基于ARM和μC/OS—II的LonWorks网络智能网关

时间:2014-07-15来源:网络

  操作系统的加入使得我们的内部资源能够更好的利用。μC/OS—II操作系统是一款开源的,针对嵌入式系统的实时内核操作系统,可以应用于多种类型的硬件平台。它最近发布的版本最多可管理多达256个任务。μC/OS—II具有强大的网络支持,并且支持LwIP协议,为我们的网关服务搭建了一个很好的平台。将μC/OS—II操作系统移植到ARM平台上,只需处理μC/OS—II与Cortex—M3接口部分,即OS_CPU_C.C、OS_CPU_A.S、OS_CPU.H这3个文件。

  3.4 网关通讯协议TCP/IP实现

  3.4.1 LWIP简介

  本文的TCP/IP协议选择使用LwIP协议栈来实现。LWIP是由瑞典计算机科学研究院Adam Dunkels设计的开源的嵌入式TCP/IP协议。它是轻型的TCP/IP协议栈,适用于资源紧张的嵌入式系统。LwIP既可以独立运行,也可以移植到不同的操作系统上。

  3.4.2 TCP数据处理流程

  在我们的应用中,使用LwIP的TCP协议,它属于传输层协议,虽然相比UDP协议传输速度较慢,但是它为应用层提供可靠的字节流服务TCP流程如图4所示,当下位机数据信息到达时,通过tcp_write来构造一个报文段,之后tcp_output被调用,同时与ip_route交互,填写首部中的源IP地址字段,最后通过ip_output发送给链路层,加上以太网帧头发送到以太网中。同理可以得知TCP输入流程。

  

 

  3.4.3 LwIP移植

  LwIP的移植主要是为了实现操作系统模拟层,它是操作系统和协议栈的一个接口,可为进程处理同步、消息传送机制以及定时器等操作系统服务提供统一接口。

  移植需要添加以下文件,具体包括:

  1)与CPU和编泽器相关的头文件。

  2)与操作系统相关的文件。sys_arch.h的内容是与操作系统相关的结构和函数。此文件中需要实现4个函数:消息函数;数据结构及信号函数;系统超时函数;创立新线程函数。

  3)与网卡驱动相关的函数。LwIP源码提供者将ethernetif.c中的函数实现一个框架形式,用户可以根据这个框架定制网卡驱动。

  3.5 网关监控平台的实现

  嵌入式处理器LPC1778在μC/OS—II操作系统平台上,利用LwIP协议的上层协议HTTP协议搭建轻型服务器,提供人性化的操作界面,实时监控底层数据及控制输出等功能。Web服务器的结构如图3所示。当远端的浏览器发送请求时,HTTP协议处理程序会将该请求发送给Web服务器处理;而CGI(通用网关接口)程序作为处理客户端Web浏览器输入数据的接口规范,用来解释处理表单的输入信息,并在服务器产生相应的处理,完成客户机与服务器之间的交互操作功能。

  实现步骤如下:

  1)通过在μC/OS—II建立相应的任务。当任务建立起来之后,任务的调度就由μC/OS—II的任务调度器调度。μC/OS-II的任务调度是抢占式的,所以在设置任务优先级的时候要考虑任务对实时性的要求。同时注意LwIP的初始化要在μC/OS-II完全启动之后。

  2)Web服务器实现。由于本网关采用B/S通讯模式,嵌入式ARM则充当服务器,提供网页数据信息。B/S模式需要HTTP协议的支持。它是基于请求/响应模式的,并使用TCP作为传输层。当服务器运行时,始终在80服务端口监听,等待请求的出现。Web服务器的编程是基于LwIP的API函数编写的。API函数专为LwIP设计,充分利用LwIP的内部结构以实现其设计目标。

  3)HTTP处理子函数在获得请求报文之后,根据其请求报文进行相应处理。在HTTP请求报文中,第一行就是请求行,方式有GET和POST两种。由于CGI程序中具有HTML生成和FORM解析功能,CGI程序会根据请求数据中的URL信息找到相应的网页文件,并对文件中的程序代码解析并执行,然后生成HTML网页回传至浏览器。

  4 网关的功能和应用

  该监控平台每2 s就从下位机刷新一次实时监测数据,可以获得例如下位机ID号、电压、电流、功率等实时量。图5为开发完成的网关嵌入式网页服务页面,可以控制某一个下位机的开闭状态、功率因子大小,并可以定时上传数据并具有数据管理系统。服务器的系统功能结构框架如图6所示。

  

 

  

 

  本网关IP静态地址设为192,168.0.100并与路由器相连,通过动态域名解析与一个固定域名绑定,用户通过访问固定域名便可远程实时观测。

  5 结束语

  文中系统地论述了嵌入式LonWorks网络智能网关的实现方法,主要分析了嵌入式网关的硬件和软件的实现方法。本网关的实现可为将来远程监测应用方面带来很大便利,可广泛应用与远程查表、路灯控制等项目中,具有很好的社会价值。

1 2

关键词: ARM μC/OS—II LonWorks

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版