APP下载

基于微控制器的WEB应用服务设计

2012-07-25杨濛濛林钰坤祁才君

微处理机 2012年5期
关键词:应用服务微控制器以太网

杨濛濛,林钰坤,祁才君

(浙江大学电气工程学院,杭州310027)

1 引言

工业控制设备常用的外部通信接口是UART(即RS232或RS485)、CAN总线、USB、以太网以及简单的GPIO控制口。每个通信口都需要相应的协议支持,针对每种协议必须在控制平台上开发相应的控制应用软件。

控制平台由硬件和操作系统两部分组成。控制平台的硬件平台通常是PC、平板电脑、各种智能手机等等,而控制平台的操作系统可能是WINDOWS XP、WIN7、UNIX、LIUNX、ANDROID 等等。由于控制软件的开发与硬件平台和它的操作系统密切相关,从而需要针对不同的硬件平台和操作系统开发不同版本,软件开发与维护的工作量很大。同时,用户在使用前也首先需要安装控制软件,这些都带来了很多不便。

如果设计工业控制设备时采用以太网通信口,同时在设备内部嵌入WEB服务,那么通过访问工业设备的IP地址,就可以直接对设备进行控制与观测。开发人员无需为每个控制平台开发一套控制软件,用户也不需要安装控制软件。这样就会为工业控制设备的设计和使用带来很大的便利,也提高了工业控制的效率。

2 微控制器的选择及简介

设计的WEB应用服务中,采用LM3S8962微控制器。LM3S8962是TI公司的一款基于Cortex-M3内核的ARM芯片。Cortex-M3是工业控制系统、无线网络系统等对功耗和成本较为敏感的嵌入式应用领域实现高性能而设计的,它很大程度上简化了编程的复杂性,使ARM成为各种应用方案中的最优选择。

LM3S8962功能非常强大,集成了丰富的资源:含有256 KB的单周期Flash;含有4个通用定时器模块(GPTM),每个模块都能提供2个16位的定时器/计数器,也可以作为1个32位的定时器模块;含有以太网控制器模块;拥有同步串行接口,以及3个完全可编程控制的UART接口;含有3个PWM信号发生模块,每个模块都带有1个16位的计数器,2个比较器,1个PWM信号发生器,以及一个死区发生器;含有正交编码器(QEI)接口;含有5-24个通用IO口,最高可承受5V的电平[1]。

LM3S8962的以太网控制器符合IEEE 802.3-2002规范,遵循IEEE 1588-2002精确时间协议(PTP),支持全功能的自协商协议,可工作在多种模式下,如半双工和全双工模式,掉电和节电模式,而且可编程MAC地址,支持混杂模式,拥有CRC错误拒绝控制和用户可配置的中断。由于LM3S8962已经集成了网络物理(PHY)模块和媒体访问控制器(MAC)模块,使得它只需要外接一个网络变压器就可以实现以太网通信。从上面的描述中可以看出,用LM3S8962实现的WEB应用服务具有电路结构紧凑、体积较小等突出优点,因此,采用LM3S8962实现WEB应用服务设计是一个性价比很高的选择[1]。

这次WEB应用服务设计正是由LM3S8962作为WEB服务器,将TCP/IP协议栈的瘦身版本LwIP协议移植到LM3S8962中,实现数据通过以太网与工业控制设备之间的交互。设计方案具有实现简便、传输稳定、性价比高等优点。

3 基于LM3S8962的嵌入式WEB应用服务设计

LM3S8962与工业控制设备连接通信之前需要制定简单的通信协议,如 LwIP协议等,并在LM3S8962微控制器中安装 WEB应用服务,编写WEB应用服务的接收响应程序,当需要设置设备的相关参数时,只需要在电脑上以制定的通信协议的通信数据包向 LM3S8962发出 WEB请求,LM3S8962在收到WEB请求后会作出相应的响应,完成控制设备相关参数的设置。

该WEB应用服务设计的实现主要包括三个部分:一是LM3S8962微控制器的以太网接口驱动程序;二是基于TCP/IP协议栈的通信实现;三是嵌入式Web服务器的实现。

3.1 LM3S8962微控制器以太网接口驱动程序

以太网接口的驱动程序相当于实现计算机(PC机)上的网卡驱动程序,可以通过LM3S8962微控制器的以太网控制器模块来处理以太网通信协议,完成通信数据包的发送和接收。首先要对LM3S8962自带的以太网控制器模块进行初始化,设置模式和参数,使其开始工作。正常工作后,通过以太网的中断程序读写RAM,完成对数据包的接收和发送。

1)LM3S8962自带的以太网控制器模块初始化

程序初始化流程框图如图1所示。

具体程序初始化设置如下:

⑴寄存器RCC和RCC2:对400MHz进行/4分频,则系统时钟频率为50MHz,PLL供电,外部晶振值为8MHz。

⑵寄存器RCC和RCC2:PWM频率为对系统时钟clock进行/8分频,50MHz/8=6.25MHz。

⑶寄存器DC4:使能外设IO口ADEFG,使能外设PWM,使能外设UART0。

⑷GPIO方向寄存器GPIODIR:配置E口E0-E3为输入,配置F口F0为输出,配置F口F1为输入,配置G口G1为PWM1的功能。

⑸系统中断(g_ulSystemClock=50MHz,CLOCK_RATE=300):系统时钟中断周期为166667,即时钟周期为6*10e-6s。

⑹使能并复位以太网控制器。

⑺寄存器GPIOPeriphID:使能F2、F3口输出用于以太网LED灯。

⑻Flash寄存器:寄存器USER_REG0和USER_REG1。

⑼初始化LWIP库,使用DHCP。

⑽LocatorInit:安装设备定位服务。

⑾httpd_init:Web服务器的初始化配置。

⑿以太网可用的中断:中断计时器配置。

2)以太网控制器模块发送数据

发送响应数据时,先分配一个新的pbuf参量来用于发送响应数据,然后将待发送的响应数据按以太网UDP数据包格式封装,并进行校验和计算,以太网UDP数据包的数据格式如下:

封装好响应数据包后,复制响应数据包到pbuf当中,这样就可以将响应数据写入RAM。在很多情况下无法将整个响应数据包一次存入先进先出数据缓存器(FIFO)中,因此,在构成一个新的响应数据包之前,必须先等待前一个响应数据包发送完成。

图1 程序初始化流程框图

3)以太网控制器模块接收数据

以太网控制器模块接收数据采用的是查询方式。接收数据时,接收缓冲区会构成一个循环的FIFO队列。首先分配一个p参量p=pbuf_alloc(PBUF_TRANSPORT,UDP_HLEN ,PBUF_RAM)为写入指针,新收到的数据包存于以p指出的地址为首地址的RAM中。当p=NULL时,说明当前没有数据包可读。而当p!=NULL时,说明系统接收到新的响应数据包,用户将开始读取响应数据包,直到所有响应数据包都已经读完,此时便停止读取响应数据包。

图2和图3分别是以太网控制器模块发送和接收响应数据包的流程。

3.2 基于TCP/IP协议的以太网通信实现

TCP/IP协议栈的设计是以TCP/IP协议参考模型为核心,其中物理层和数据链路层是由LM3S8962以太网控制器及其驱动程序完成的。TCP/IP协议栈的设计主要包括收发缓存设计、定时器设计,以及IP(互联网协议)、TCP(传输控制协议)和HTTP(超文本传送协议)等诸多协议模块的设计。应用层则是以HTTP协议和公共网关接口(CGI)技术为基础,构建嵌入式WEB服务器,实现了浏览器和WEB服务器的动态交互[6]。

TCP/IP协议簇经过长时间的实践检验,功能设计较为完善,并且它CPU耗时多、代码体积大等问题也随着高性能微处理器的问世逐步得到了缓解。近几年来,TCP/IP协议的嵌入式实现已成为热点,出现了许多瘦身版本的TCP/IP协议,如uIP、LwIP等。

WEB应用服务设计选择了以LwIP瘦身版本协议在LM3S8962上实现的方案。LwIP是瑞士计算机科学院的一个开源的TCP/IP协议栈。LwIP协议为了提高通信的性能,使用了一种比较松散的通信机制,通过共享内存的方式实现应用层和底层协议之间的通信,避免了内存复制所造成的性能损失[8]。

图2 以太网控制器发送数据包流程

图3 以太网控制器接收数据包流程

3.3 嵌入式WEB应用服务器的实现

嵌入式Web服务EWS(Embedded Web Server)是指将WEB服务器引入到现场测试和控制设备中。EWS功能简单、消耗资源少,很适合运行在像LM3S8962这样的ARM系统上。

httpd是一种最简单的WEB服务器,只能发布静态网页,提供静态的WEB服务。而JavaScript则是一种面向对象的、能广泛应用于浏览器WEB开发的、可以区分大小写的脚本语言。它能适应动态网页,实现交互式的WEB服务。JavaScript不仅提高了网页的浏览速度,同时增强了WEB页面与用户的交互能力[10]。

嵌入式Web服务器的结构方案如图4所示[10]。

嵌入式WEB服务器系统的工作流程为:①浏览器通过匹配的IP地址访问内嵌于WEB服务器中的带有JavaScript程序的网页;②嵌入式WEB服务器收到了URL请求后,读取内嵌的网页,并将网页通过HTTP通信协议传送给浏览器;③网页在浏览器中显示,内嵌的程序在浏览器中被解释执行;④用户操作界面,程序会校验用户的操作,如果输入的信息正确,程序会发送能被程序分析处理的请求,并通过封装成通信数据包的形式发送给WEB服务器;⑤经过WEB服务器中的程序分析处理过的请求将封装成响应数据包,和数据一起更新,发送回浏览器端;⑥当浏览器端收到发回的响应数据包后,Java Script程序会对页面进行实时更新。

图4 嵌入式WEB服务器系统的结构图

4 WEB服务在音频切换器中的应用

随着互联网的日益普及,基于以太网的广电机房设备远程监控系统逐渐成为发展趋势,网络技术在广电设备中的应用也日趋广泛。视、音频矩阵切换器是广播电视播出机房的重要设备,8路输入2路输出的音频切换器,对8路视音频输入信号进行选择,输出任意1路视音频信号的功能,每路视、音频信号均有二路分配输出。结合目前微控制器与以太网技术,将其应用于广播电视系统的音频切换器中,将大大降低成本,并易于维护,提高设备的可靠性。

4.1 音频切换器

音频切换器多应用于电视台广播电台播出系统中,用来循环检测各通道音频状态,切换时无音频通道自动跳过、切换延迟时间可选,用户可以根据自己的需要在前面板上设置不同长度的切换延迟时间等功能,为音频安全播出提供了有效的保障。

4.2 基于微控制器WEB服务的音频切换器系统

微控制器与以太网技术相结合,采用B/S架构形成的嵌入式WEB技术是近几年来随着计算机网络的普及而发展起来的一项新兴技术。基于嵌入式Web服务技术的音频切换器系统的核心就是嵌入式Web服务器,嵌入式Web服务器是由微处理器和以太网接口控制器组成的硬件平台,与由数据收发程序、TCP/IP通信协议和HTTP服务器程序组成的软件系统来实现的。基于嵌入式Web服务技术的音频切换器系统设计的总体思路是嵌入式Web服务器通过通信端口或现场总线与本地机房设备和环境数据采集设备直接相连,并将接收到的数据经过分析、处理后通过TCP/IP协议将其连接到以太网上。客户端监控主机则通过Web浏览器在网络上实时监控现场信号的动态变化,从而实现远程监控的目标[9]。

基于微控制器LM3S8962的Web音频切换器系统如图5所示。

图5 基于微控制器LM3S8962的Web音频切换器系统图

5 结束语

WEB应用服务为工业控制设备的通信提供了一种可靠性高、实用经济的方法。选用LM3S8962芯片为核心,构建了嵌入式WEB服务器,提出了嵌入式WEB应用服务的设计方案,实现了基于TCP/IP协议栈的通信控制功能。该设计方案具有简单易行、性价比高、开发周期短、便于维护等优点,为嵌入式WEB应用服务技术在工业控制领域中的应用做出了有益的探索和尝试。

[1] 卞金洪.基于LM3S8962的温度采集器设计[J].盐城工学院学报(自然科学版),2009,22(3):37-39.

[2] 雒珊,尹肖.基于ARM的以太网通信控制器的设计[J].电子测量技术,2009,32(10):133-135.

[3] 赵研,谷弘毅.基于ARM的以太网通信控制器[J].长春理工大学学报,2010,33(2):147-155.

[4] 王坤,皮亦鸣.基于ARM Cortex-M3的嵌入式网络播放系统[J].电子设计工程,2010,18(1):71-73.

[5] 克磊,陈小平.基于uIP的通信路由控制器的设计[J].通信技术,2010,43(11):83-86.

[6] 孙静,王再英.基于以太网远程温度监控系统的设计[J].微计算机信息,2008,24(25):99-101.

[7] 冯琛华,别红霞.基于DM642的以太网通信接口设计[J].信号处理,2007,23(5):783-785.

[8] 张海波,胡大可.低成本高速率传感器网络的设计实现[J].传感技术学报,2010,23(5):732-738.

[9] 张海琼.基于嵌入式WEB的音视频切换器监控系统[J].电脑知识与技术,2008,4(5):1208-1209.

[10] 牛利兵.远程监控嵌入式Web服务器设计[D].太原:太原理工大学,2011.

猜你喜欢

应用服务微控制器以太网
全球卫星互联网应用服务及我国的发展策略
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
TASKING针对英飞凌第三代AURIX微控制器推出多核开发环境
国家不动产统一登记信息平台构建与应用服务
物联网技术在微控制器实验教学中的应用
用于高品质电动汽车的分布式并行计算
谈实时以太网EtherCAT技术在变电站自动化中的应用
全国征集卫星应用服务解决方案
浅谈EPON与工业以太网在贵遵高速公路中的应用
应用服务型人才培养体系下的嵌入式操作系统教学改革探索