基于嵌入式WEB工业洗衣机远程监控系统设计
随着互联网技术近年来的不断发展,机电设备融入互连网,并对其进行远程监控得到了广泛应用。基于嵌入式WEB的远程监控是在传统远程监控的基础上又融合了Web和嵌入式技术,可提供比传统远程监控更为强大的功能,将成为今后远程监控技术发展的主流方向。Web技术弥补了传统监控系统的不足,致使运用Web技术实现设备的远程监控,已经越来越多地成为设备监控系统不可或缺的一部分。嵌入式设备的Web服务为现场设备的数据采集、监控、诊断和文护开辟了一个新的领域。
基于嵌入式Web的工业洗衣机远程监控模型
基于嵌入式Web的远程监控思想是在机电设备中实现HTTP 服务,将其转化成Web Server嵌入到被控设备中,为Internet或局域网用户提供基于Web 的图形化管理接口,从而省去了专用客户端管理软件,实现对接入到网络中各种设备的统一管理。用户可以通过现有的公共通信网络,不受地域限制,使用标准的Web浏览器作为接口直接访问机电设备上的Web服务器,实现对网络中各个节点现场设备的远程监控、诊断与文护。
图1:基于嵌入式WEB 的工业洗衣机远程监控的总体结构图
一般工业洗衣机的基本功能有:人机接口、电机控制、阀控制、洗衣机状态检测、温度检测和水位检测。要实现远程监控和远程故障诊断,洗衣机还应具有网络功能。要实现智能控制,即在洗涤过程中控制器能根据洗涤物的多少、脏污程度和脏污性质自动给出最佳洗涤方案,这就要求洗衣机具有浑浊度检测和布质布量检测功能。通过上述分析,要实现工业洗衣机的基本功能以及智能化和网络化,嵌入式系统至少要有以下接口:LCD接口、触摸屏接口(矩阵键盘接口、LED指示灯接口)、RS-232或RS485接口、UART接口、3路AD输入、21路数字量输出、8路数字量输入(两个可作为中断源)及Ethernet接口,基于嵌入式WEB的工业洗衣机远程监控的总体结构图如图1。
硬件设计
随着嵌入式微处理器的发展,出现了Power PC、68K、MIPS、ARM等一系列低功耗、高性能的嵌入式CPU。因此选择低成本的32位ARM系列嵌入式处理器,不但价格低廉,而且功耗低、处理速度快,应用前景广泛,比较适合远程监控需求。在工业洗衣机的远程监控的系统中选用韩国现代公司的HMS30C7202(32位RISC 微处理器),这是一款具有高性价比的芯片。该芯片内集成了ARM7TDMI CPU核,存储器管理单元(MMU),8KB的高速缓冲存储器以及写缓冲器。并具有丰富的接口:支持STN和TFT的LCD、触摸屏、矩阵键盘、鼠标、LED指示灯、LAN、CAN、USB、RS-232、RS-485、红外、24路继电器输出、10路数字量输入、3路模拟量输入和2路PWM输出。为实现远程网络监控,系统底层网络接口芯片采用CS8900A及外围电路实现,本系统中网络接口芯片CS8900A工作于16位模式。工业洗衣机远程监控智能控制系统硬件框图如图2。
图2:工业洗衣机远程监控智能控制系统硬件框图
软件设计
软件设计的核心工作是在上述硬件平台上建立嵌入式WEB服务器,实时响应用户的请求。除此之外还要实现工业洗衣机的智能控制。工业洗衣机系统需要进行多个参数的检测,需要使用多个传感器,每一个传感器的参数检测和数据传输方式也各不相同。并且在洗涤过程中有很多需要控制的部件,如变频器、各种阀等;在系统中各功能模块关系复杂,任务多,而且各种需求间有并发关系。另外,还有网络功能。因此有必要引入嵌入式操作系统。本系统选用μC/OS-II嵌入式操作系统,它是一个多任务强实时的开源操作系统,经裁减、移植与补充后形成工毕业论文http://www.751com.cn 业洗衣机的专用实时操作系统。网络通信协议TCP/IP采用源码公开的1wIP协议栈,并针对具体需求进行优化设计。为了得到人性化的本地操作用户界面,采用了一种开源的图形用户界面μC/GUI,它与μC/OS-II有很好的接口配合,功能完善。因此,工业洗衣机智能控制器软件由四部分组成:实时操作系统μC/OS-II、硬件驱动程序、API函数和应用程序。具体结构如图3:
图3:工业洗衣机系统软件框图
嵌入式操作系统
mC/OS-II是一个源代码公开的占先式多任务微内核RTOS,每个任务具有不同的优先级,能够很好的满足实时性需求。与其它实时操作系统相比,mC/OS-II结构简单、容易移植,广泛运用于工业控制的各领域。在将mC/OS-II(V2.51)移植到HMS30C7202上的主要工作是修改三个和ARM体系结构相关的文件,OS_CPU. H,OS_CPU_C.C和OS_CPU_A.S。OS_CPU.H主要包含编译器相关的数据类型的定义、堆栈类型的定义以及几个宏定义和函数说明。而OS_CPU_C.C中则包含与移植有关的C函数,包括堆栈的初始化函数和一些钩子(hook)函数的实现OS_CPU_A.S中则包含与移植有关的汇编语言函数,包括开/关中断、上下文切换、时钟中断服务程序等等。
TCP/IP协议栈
系统采用开源TCP/IP协议栈LWIP(Light Weight IP),LWIP是Swedish Institute of Computer Science开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈。LWIP 实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,一般它只需要数10kB RAM 和40kB左右的ROM 就可以运行,这使LWIP协议栈适合在低端嵌入式系统中使用。LWIP协议栈在设计时就考虑到了将来的移植问题,把所有与硬件、OS、编译器相关的部分独立出来,放在/src/arch目录下。因此LWIP在uC/OS-Ⅱ上的实现就是修改这个目录下的文件,其他的文件一般不用修改。本系统移植的是LWIP是1.1.0版本。LwIP的移植工作主要有:
修改与CPU 或编译器相关的include文件:cc.h、cpu.h、perf.h,正确设置数据长度,字的高低位顺序等。
修改sys__arch.h和sys__arch.c 中与操作系统相关部分。
LWlP协议栈中用到了6个外部函数(1ibarch.c),这些函数与用户使用的系统或编译器有关,因此需要自己实现。1727