嵌入式LonWorks网络智能网关设计
将对与之捆绑的输入网络变量进行更新并发送到双口RAM的数据缓冲区;ARM芯片通过外部总线读取双口RAM,其内部以太网控制器依据所使用协议将数据包进行封装,发送到以太网协议的应用层。相反,当上位机想要对远端现场设备进行控制时,也要对相应的网络变量进行更改。 在协议转换过程中,双口RAM作为一个共享存储器能够进行双边读写操作。为了避免数据信息交换时的读写冲突、产生竞争,在读写操作时要进行控制以进行同步访问。本文采用通过定时查询控制地址的值来进行同步访问操作。将2 KB的双口RAM划分为3个主要部分宋存放不同内容:存放ARM对PL3150的控制信息;存放PL3150向ARM发送的数据信息;控制同步访问信息。 3.3 μC/OS—II操作系统移植 操作系统的加入使得我们的内部资源能够更好的利用。μ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为开发完成的网关嵌入式网页服务页面,可以控制某一个下位机的开闭状态、功率
LonWorks 嵌入式网关 Web服务 ARM LwIP 双口RAM 相关文章:
- LonWorks技术在列车监控系统中的应用(12-21)
- LonWorks现场总线介绍(12-19)
- 基于Lonworks技术的机器人监控系统(12-19)
- 比较LonWorks与RS485总线技术之优劣(12-19)
- LonWorks现场总线及应用实例(12-16)
- 基于Lonworks总线技术的工业机器人系统研究(12-16)