基于Cortex-M3远程智能控制系统的设计与实现

2014-11-23 11:39于艳艳
实验科学与技术 2014年4期
关键词:处理器远程终端

袁 英,于艳艳,王 磊,梁 川,杨 军

(云南大学 信息学院,昆明 650091)

远程控制是在网络上由一台电脑(主控端Remote/客户端)远距离去控制另一台电脑(被控端Host/服务器端)的技术[1]。电脑中的远程控制技术始于DOS时代,随着信息技术和网络技术的高速发展,远程操作及控制技术越来越引起人们的关注,并广泛应用于人们的日常工作和生活中,如远程办公、远程教育、远程维护、远程协助等[2-3]。远程控制将不仅极大地方便人们的日常生活,而且对整个社会生产活动将产生巨大的影响。

在传统远程控制系统中,由于远程用户与智能控制中心间的通信方式多采用电话线或网线,因而网络布线复杂、网络延时较大、可靠性较差,给用户带来极大的不便。本文设计的远程智能控制系统是基于实时操作系统并采用无线通信技术组建控制终端网络,系统实时性较好;用户可通过浏览器登录服务器来监测控制远程终端,方便用户使用。该系统便于应用在智能家居、工业控制等相关领域,实现家居设备、工业设备等的智能化控制,对改善人们的日常生活方式,提高人们的工作效率具有一定的意义。

1 系统总体设计方案

本系统设计的功能是通过PC机或移动设备登录服务器系统,访问和控制多个远程控制终端。根据其功能特点,该系统由无线控制终端和主控系统两个部分组成。

1)无线控制终端由微控制器、传感器模块、无线收发模块和控制电路模块构成。微控制器通过无线收发模块与主控系统平台进行信息交互,传感器模块将采集现场数据信息传给微控制器进行处理,并将处理结果发送给主控系统进一步分析,实现智能化控制。

2)主控系统由主控模块、Web服务器、网络通信模块、无线收发模块与现场控制模块构成。

主控模块以Cortex-M3为核心处理器,搭载uCOSⅡ实时操作系统,由操作系统对各项任务进行管理和维护。Web服务器存储网页数据和无线控制终端的数据信息。网络通信模块采用ENC28J60网络接口芯片设计,通过移植TCP/IP协议栈实现主控系统与Internet的连接。无线收发模块实现与控制终端的信息交互。现场控制模块以TFT_LCD触屏液晶建立良好的人机交互界面,实现对现场设备信息的控制和查看,并对控制终端进行参数配置、初始化以及设置服务器远程功能的权限,防止非法访问和操作,确保系统安全。系统的整体结构框图如图1所示。

图1 系统整体结构图

2 系统硬件设计

2.1 主控模块

主控模块以Cortex-M3为核心处理器。Cortex-M3是基于ARM公司ARMv7-Mz体系结构的32位微处理器芯片,其处理器在结构上包括处理器内核、嵌套向量中断控制器、存储器保护单元、总线接口单元和跟踪调试单元等,有以下特点[4-5]:

1)采用了基于哈佛(Harvard)架构的3级流水线内核,集成了分支预测、单周期乘法、硬件除法等功能,可达到1.25 DMIPS/MHz的运算速度,而功耗仅为0.19 mW/MHz。

2)采用的Thumb-2指令集结合了16位指令代码密度和32位指令的性能,具有更高的指令效率和更强的性能。

3)Cortex-M3处理器总线矩阵将处理器核、调试接口与外部总线相连接,采用非对齐数据访问和位段技术,使得处理器的片上外围设备访问速度大大提高。

因此,Cortex-M3与ARM7、ARM9等其他系类相比,在相同时钟频率下的运行速度可提高35,代码可节省45,具有高性能、低功耗等特点。

2.2 网络通信模块

网络通信模块采用ENC28J60网络接口芯片设计。ENC28J60是全球目前最小封装的以太网控制器,符合IEEE 802.3协议,且只有28引脚,体积小、设计简单、容易使用[6]。它采用标准的SPI串行接口,只需4条连线即可与MCU连接,速度可达10 Mb/s。

2.3 控制终端硬件电路设计

远程控制终端采用STC11L02E单片机作为微控制器,通过无线收发模块NRF2401收发数据信息,继电器控制设备的工作状态,并将传感器检测的设备状态信息发送给主控模块。本系统的控制终端实验测控对象为电热水器,采用DS18B20传感器对水温进行测量。其中,STC11L02是一款高性能、低功耗、超强抗干扰的新一代8051单片机,既兼容传统8051单片机,且运行速度快8~12倍,被广泛应用于高速通信、智能控制与强干扰场合[7]。DS18B20是美国新一代“一线总线”的温度传感器,体积小、价格低、使用灵活,测温范围为-55℃ ~125℃,精度为±0.5℃。

3 系统软件设计

uCOSII是一种源代码公开、结构小巧的实时操作系统,包含了任务调度、时间管理、内存管理、任务间的通信和同步等基本功能。CPU硬件相关部分用汇编语言编写,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点,最小内核可编译至2 KB[8]。本系统的设计实现需移植uCOSII操作系统来管理维护各项任务。

3.1 主控系统软件设计

本系统软件的设计是基于uCOSII实时操作系统创建信号集和各项任务,通过信号集完成任务间的通信和同步功能。在系统初始化后创建MyTask()任务,然后,在其任务内创建3个子任务,分别是MyTask1、MyTask2、MyTask3。MyTask1任务完成和控制终端的信息交互,并将数据信息存储于Web服务器;MyTask2任务负责以太网信息的交互,发送Web服务器的网页数据;MyTask3任务完成现场控制系统的功能,显示终端设备的运行状态,对控制终端直接操作以及远程用户的权限设置。

3.2 网络驱动程序的设计

网络驱动程序由TCP/IP协议栈和ENC28J60硬件驱动程序两部分组成。TCP/IP协议负责与应用程序之间的数据交换,ENC28J60驱动程序负责TCP/IP与Internet网络之间的数据传输。TCP/IP协议采用开源、非常小巧的uIP协议栈。uIP协议去掉了TCP/IP中不常用的功能,简化了通信流程;其硬件处理层、协议栈层和应用层共用一个全局缓存区,节省了空间和时间,其关系如图2所示。

图2 uIP协议栈

由上图知,uIP协议通过API函数实现底层硬件和高层应用程序的通信,即uip_init(),uip_input()和uip_periodic(),其与应用程序的主要接口是UIP_APPCALL()函数。

3.3 嵌入式Web服务器的设计

嵌入式Web服务器设计需移植Boa服务器。Boa服务器是一款单任务的HTTP服务器,通过建立HTTP请求列表来处理多路HTTP连接请求,具有处理速度快和效率高等特点[9]。

Boa服务器的移植主要修改和配置mime.type和boa.conf文件,配置CGI脚本的存放路径,创建CGI脚本目录和HTML文档目录。当Web服务器收到请求时,CGI程序处理浏览器发送的数据,并将相应的HTML页面发送给远程用户。

Web服务器共设计两个页面,分别是用户登录认证页面和远程监测控制页面,通过Web浏览器输入服务器IP地址,显示登录页面,输入用户名和密码进入远程控制系统页面。Boa服务器的执行流程如图3所示。

3.4 控制终端程序设计

控制终端程序设计采用PID控制算法设计的PID控制器结合了比例、积分、微分三种控制方式的优点,使闭环系统的阶跃响应尽可能地稳、准、快。

图3 Boa服务器执行流程图

PID控制算式为:其传递函数可表示为:

式中:KP、Ti、Td分别是控制器的比例增益、积分时间和微分时间系数;u0是控制器初始时输出值,一般情况下为0;u(t)是控制器在t时刻的输出值;e(t)是t时刻设定值与测量值之间的偏差值。其控制原理框图如图4所示。

图4 控制原理框图

控制终端通过无线收发模块接收上位机的指令信息来执行相应的操作,并将设备的运行状态发送给上位机系统。其控制程序采用PID控制算法进行设计,通过传感器将运行状态反馈给PID控制器,控制器输出控制信号执行操作。

4 系统测试结果与分析

本系统基于Cortex-M3处理器和Keil_MDK软件平台设计开发完成,无线控制终端基于STC11XX系列微控制器设计,便于扩展,可对多种设备进行监测和控制。为了测试远程智能控制系统的性能参数,本系统实验测试对象为电热水器,实现对电热水器的远程控制和水温监测。用户通过Web浏览器发出指令信息,终端热水器接收到指令信息后,其水温和加热状态情况如表1所示。

表1 热水器的指示灯及水温情况

分析上表得出该系统的控制延迟Ts=0.18 s,系统误差Er=0,稳定系数 λ=79.5/80=0.993 7。经实验验证,结合上述参数指标可看出本系统实时性好、误差低、可靠性高且性能稳定。

5 结束语

本系统在高性能、低功耗的Cortex-M3处理器和uCOSII操作系统的基础上,结合PID算法的稳、准、快特点,设计实现了可通过PC机或移动终端的Web浏览器登录服务器来控制及监测远程控制终端的、简单实用的远程智能控制系统。经实验验证,该系统性能稳定、实时性好、设计成本低,在智能家居与工业远程监测控制等领域具有广泛的应用前景,对改善人们的生活方式,提高工作效率具有一定的意义。

[1] 林承华,覃青生.基于GSM的远程控制系统[J].电气自动化,2012,34(1):40-42.

[2] 孙增雷,黄俊年,孙敏.基于GSM的远程报警系统的研制[J].武汉理工大学学报,2008,30(6):122-125.

[3] 黄慧萍,孟祥印,肖世德.基于B/S模式的步进电机远程系统实验平台[J].实验科学与技术,2010,8(2):184-186.

[4] 杜明州,刘春生,张绍杰.基于Web的远程控制实验室平台设计[J].电子电气教学学报,2011,33(1):117-110.

[5] 王明阳,裴浩东.基于uCOSⅡ和多总线的多传感器控制系统设计[J].科学技术与工程,2012,12(12):2845-2848.

[6] 赵晓东,丁岳伟.基于Linux嵌入式的智能家居系统设计[J].计算机技术与发展,2012,23(1):201-203.

[7] 李江权,张兴敢.基于Cortex-M3处理器的智能家居控制系统设计[J].现代电子技术,2012,35(7):47-49.

[8] Joseph Yiu.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009.

[9] Hande Alemda,Cem Ersoy.Wireless sensor network for healthcare[J].A Survey Computer Network,2010(54):2688-2710.

猜你喜欢
处理器远程终端
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
远程诈骗
多功能北斗船载终端的开发应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
ABB Elastimold 10kV电缆终端及中间接头
AItera推出Nios II系列软核处理器