基于ARM7处理器的嵌入式智能家居监控系统.pdf
电子科技2009年第22卷第8期图像 编码与软件收稿日期:2008211206作者简介:巩艳华(1982-),女,助教。研究方向:电路与系统。基于ARM 7处理器的嵌入式智能家居监控系统巩艳华(西安邮电学院 电信系,陕西 西安 710121)摘 要 以ARM7处理器LPC2136和实时嵌入式操作系统 C/OS-II为基础,建立了基于LPC2136的嵌入式开发平台,通过GS M模块和无线红外遥控器,实现了多功能智能家居监控系统。并给出了硬件电路和软件流程。该系统在对操作和监控的实时性要求不高的情况下,具有较高的性价比。关键词 嵌入式系统;ARM;C/OS-II;智能控制中图分类号 TP274+12 文献标识码 A 文章编号 1007-7820(2009)08-039-04General Embedded I ntelligent HomeM on itoring System Based on the ARM7 ProcessorGong Yanhua(Department of Telecommunications,Xian University of Post and Telecommunications,Xian 710121,China)AbstractBased on the ARM7 processor and real2time embedded operating system(C/OS2II),this pa2per establishes an embedded platform ground on LPC2136,and achievesmulti2functional anti2theft alarm moni2toring of the intelligent home monitoring system.The process circuit design and software program are also intro2duced.This system is cost effective when the requirement of realtimeness of operation and monitoring is nothigh.Keywordsembedded system;ARM;C/OS2II;intelligent controlling 随着社会生活的节奏日益加快,人们出行在外的时间相对增加,尤其在一些大城市,家中长时间无人的情况相当普遍,而在无人情况下电器工作的安全性,也越来越引起人们的重视。人们往往也希望在回家之前把空调打开,让微波炉或热水器开始工作。所以,智能家居越来越被人们所重视。利用GS M短信息(S MS)进行远程监控具有投资少、成本低、可靠性高等特点,在一些对操作和监控的实时性要求不高的情况下具有较高的性价比1-2。基于ARM7处理器的嵌入式智能家居监控系统(以下简称智能家居监控系统),是在ARM 32位高性能嵌入式处理器LPC2136中移植了C/OS-II实时操作系统,使用操作系统中的消息机制,通过GS M模块,利用手机短信和无线红外遥控器实现家电(如空调、热水器等)、照明、室内温度、室内空气(烟雾超标)和防盗报警的多功能监控。1LPC2136处理器概述LPC2136微控制器是NXP公司基于16/32位ARM7TDM I-S CPU,并带有256 kB的高速Flash存储器。128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。由于LPC2136微控制器采用非常小的64脚封装、极低的功耗、多个32位定时器以及多达9个外部中断,这使它们特别使用于工业控制、医疗系统、远程访问控制和电子收款机等小型化的应用领域3-4。LPC2136芯片的主要特性包括:(1)芯片体积小,采用LQFP64封装;(2)32 kB的片内静态RAM和256 kB的片内Flash程序存储器;93图像 编码与软件巩艳华:基于ARM7处理器的嵌入式智能家居监控系统 Electronic Sci1&Tech1/Aug115,2009(3)多个串行接口,包括2个UART、2个高速I2C总线(400 kB/s)、SPI和具有缓冲作用数据长度可变功能的SSP;(4)2个32位定时器/外部事件计数器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗定时器;(5)32位通用I/O口;(6)CPU操作频率可达60 MHz;双电源(CPU操作电压范围:310316 V,I/O口可承受5 V的电压);两个低功耗模式(空闲和掉电)。2 系统硬件设计211 总体设计智能家居监控的突出特点是报警器与继电器模块都是通过无线方式与处理器相互通信,这不仅大大减少了室内布线,而且更有利于报警器的安装,使得报警器更具实用性。家中的电器不仅可以通过无线的遥控器进行开关遥控,还能通过短信的方法进行控制,这样,无论你身在何方都可以方便的对电器进行控制。智能家居监控系统以模块化的结构设计思想,将设备分为主控模块、LCD显示模块、报警模块、PT2262编码无线发送和PT2272编码无线接收模块以及传感器模块,如图1所示。主控模块负责人机交互与其它模块通信、数据传输等,用户通过控制主控模块来对其他模块进行操作;LCD显示模块用来显示当前的温度、湿度和烟雾等状态以及报警信息;PT2262编码无线发送和PT2272编码无线接收模块的功能是将接收到遥控器的信号传送给主控模块,并将主控模块传来的反馈信息发送给遥控器;传感器模块包括温度传感器、湿度传感器和烟雾传感器等。图1 总体设计框图212 主控模块设计主控模块是该系统的核心模块。智能家居监控系统的主控模块是NXP公司的LPC2136 ARM处理器,它提供了很多接口,包括UART、I2C和I/O等。该系统只需要在LPC2136周围增加较少的元器件和电路,就能设计出功能较强的、符合要求的主控模块的电路。它由LPC2136芯片、电源部分、复位电路、JTAG、RS232模块等部分组成,如图2所示。LPC2136通过UART双工异步通信线和GS M模块相连,用AT指令与手机互通短消息,达到对室内各种状态的遥控和监测。LPC2136的I2C总线挂载了DS1621数字温度传感器,用来检测室温;同时为了防止数据被破坏,LPC2136的I2C总线还挂载了AT24C02用于保存用户的报警手机号码。当家里发生异常时,CPU就会通过GS M模块对设置的报警手机号码进行短消息报警,同时家中的报警器就也会发出警告声,提醒家中人员。图2 主控模块结构图213I2C总线及其器件I2C采用两根I/O线:一根时钟线(SCL串行时钟线);一根数据线(SDA串行数据线)。实现全04巩艳华:基于ARM7处理器的嵌入式智能家居监控系统图像 编码与软件 电子科技/2009年8月15日双工的同步数据通信。I2C总线通过SCL/SDA两根线使挂接到总线上的器件相互进行信息传递。最高传送速率为100 kB/s。ARM通过寻址来识别I2C总线上的存储器、LCD驱动器、I/O扩展芯片及其他I2C总线器件,省去了每个器件的片选线,因而使整个系统的连接极其简洁。总线上的设备分为主设备(ARM处理器)和从设备两种。各种设备均并联在这条总线上,每个电路和模块都有唯一的地址。I2C总线在传送数据过程中共有3种类型信号,它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;结束信号:SCL为低电平时,SDA由低电平向高电平跳变,结束传送数据;应答信号:接收数据的设备在接收到8 bit数据后,向发送数据的设备发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况做出是否继续传递信号的判断。若未收到应答信号,判断为受控单元出现故障。本设计在I2C总线上加上了两个器件,分别为DS1621温度传感器与AT24C02串行E2PROM。两个器件地址分别定义为0 x01,0 x00。214LCD显示模块LCD显示模块采用了点阵液晶显示模块,液晶选用了显示容量为1632个字符的字符型点阵液晶模块,该模块使用单5 V电源供电,非常适合便携式的产品应用。由于LPC2136的I/O口电压是313 V,而液晶模块的工作电压为5 V,所以需要在处理器和液晶模块之间加一片电平转换芯片74LVC245,如图3所示。74LVC245是一种双电源的总线收发器,同时工作在两种电源下A端用5 V电源作为VCCA,I/O口接5 V器件的数字逻辑电路,B端用313 V电源作为VCCB,I/O口接313 V器件的数字逻辑电路;OE引脚可以控制总线的传输方向。这样,利用74LVC245就能方便的实现5 V和313 V系统之间的逻辑电平转换。图3 液晶显示模块3 软件设计为了使软件更安全、简洁,设计中使用了C/OS-II嵌入式操作系统。C/OS-II是一种免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。严格地说C/14图像 编码与软件巩艳华:基于ARM7处理器的嵌入式智能家居监控系统 Electronic Sci1&Tech1/Aug115,2009OS-II只是一个实时操作系统内核,它仅仅包含了任务调度、任务管理、时间管理、内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理、文件系统、网络等额外的服务。但由于C/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。而且C/OS-II自1992年的第一版以来已经有好几百个应用,是一个经实践证明好用而且稳定可靠的内核。在C/OS-II操作系统下,所有的操作都是对任务的处理,因此系统的整体框图应该由几个任务组成,该系统由两个任务构成。任务1是主要任务,负责读取报警号码、显示温度或报警信息、处理短消息、对所接收到的数据进行处理等任务。流程图如图5所示。任务2负责处理读取报警语音的选择。它们的关系如图4所示。主函数在调用 C/OS-II的任何其他服务之前,C/OS-II要求首先调用系统初始化函数OSInit(),该函数初始化C/OS-II所有的变量和数据结构。然后主函数建立消息邮箱、消息队列、创建任务、调用OSStart()函数,进入多任务调度,调度任务1和任务2。4 结束语基于ARM7处理器的嵌入式智能家居控制系统的设计本着低成本、低功耗、小体积和实时性的设计思想,采用LPC2136微控制器,建立了基于LPC2136的嵌入式开发平台,实现了家电(如空调、热水器等)、照明、室内温度、室内空气(烟雾超标)、防盗报警的多功能监控。处理器的软件是基于嵌入式实时操作系统 C/OS-II的,利用多任务结构使软件体系更加规范,同时,软件按照嵌入式操作系统的要求分模块设计,使软件系统在实际运行中更加高效可靠。参考文献1周立功.深入浅出ARM7-LPC213x/214x(上、下册)M.北京:北京航空航天大学出版社,2005.2 周立功.ARM微控制器基础与实战M.2版.北京:北京航空航天大学出版社,2003.3 王雪文,张志勇.传感器原理及应用M.北京:北京航空航天大学出版社,2005.4Jean J Labrosse.嵌入式实时操作系统 C/OS-IIM.2版.北京:北京航空航天大学出版社,2006.24