基于ARM芯片LPC2214和μCOS-II的家庭智能终端的设计与实现
智能家居是指利用先进的计算机技术、网络通信技术、综合布线技术,将与家居生活有关的名种子系统有机地结合,通过统筹管理,使家居生活更加舒适、安全、有效。作为小区智能化的重要组成部分,智能家居平台是通过其核心——家庭智能终端实现家居智能化。智能家居终端可实现系统信息的采集、信息输入、逻辑处理、信息输出、联动控制等功能。早期的家庭智能终端网络是基于电话网实现远程监控和远程控制。由于电话网络的带宽限制以及较高的使用成本,使得家庭智能终端无法推广。随着计算机技术和通信技术的发展,基于IP技术的远程通信已经成为家庭智能终端开发的重点。目前,基于8位单片机和TCP/IP协议的远程通信设备已大量出现。但是由于8位单片机工作频率和存储量的限制,使得操作系统和完整的IP协议无法移植,远程监控和远程控制的实时性和大数据量可靠通信难以保证,从而成为家庭智能终端开发的瓶颈。利用成熟的ARM芯片和μCOS-Ⅱ操作系统,可以有效地解决这一难题。 ARM(Advanced RISC Maehines)是精简指令集计算机,它集成了典型的RISC结构特性。除此之外,ARM体系结构还具有地址自动增加和自动减少的寻址模式、多寄存器加载和存储指令等特性。 从最初开发至今,ARM已经经历了5种主要的ARM指令集体系结构.以版本号V1-V5表示。常见的ARM7、ARM9、ARMl0、SecurCore系列芯片都是ARM V4以上的体系结构。ARM7TDMI系列芯片是目前应用最广泛的ARM芯片。其广泛应用于多媒体和嵌入式设备,包括Intemet设备、网络和调制解调设备以及移动电话、PDA等无线设备。 LPC2214是Philips公司生产的一种高性价比的ARM7TDMI(-S)芯片,主要应用于Intemet网关、串行协议转换、访问控制等领域。 1 家庭智能终端的系统结构与硬件组成 1.1 家庭智能终端的系统结构 家庭智能终端是家庭智能化的核心设备,是家庭内部网络与外部网的中转站。它通过各种协议转换模块和组网方式实现各项功能。该文提出的家庭智能终端主要具有以下功能:安全防范、联动控制、远程控制和监控、信息采集、家庭信息管理。外部网络利用局域网与远程终端(用户终端、小区管理终端、收费终端等)进行信息传送。此外考虑到因特网的不稳定性,系统还预留了PSTN接口以增加系统冗余。采用RS-485总线和蓝牙技术实现家庭内部网络,将无线与有线相结合满足更多设备的需要。家庭智能终端的网络系统如图1所示。 1.2 家庭智能终端的硬件实现 本文以LPC2214-S作为中心控制芯片。LPC2214-S是基于实时仿真和跟踪的16/32位ARM7TDMI-S CPU的微控制器,并带有256KB的高速片内Flash存储器。片内128位宽度的存储器接口和加速器结构可实现高达60MHz的操作频率。LPC2214还在片内集成了16KB的SHAM,并且提供了丰富的接口资源,包括2个16C550工业标准UART异步串行口,1个高速PC接口(400Kbps),2个SPI接口及112个GPl0口。其片内Boot装载程序可实现在系统编程(ISP)和在应用编程(IAP)。此外芯片提供空闲和掉电两种低功耗模式。 由此可以看出,LPC2214-S具有高性能、低功耗、接口资源丰富的特点。这些特点可以较好地满足基于网络的家庭智能终端的设计需要。 作为家庭自动化的控制中心,家庭智能终端除了具有局域网接口、PSTN接口、RS-485接口、蓝牙接口外,还提供音频视频接口、HUB接口、RS-232接口、报警传感器接口等。这些接口可以实现音视频自动切换、多台PC同时上网、与PC机结合完成家庭事物管理等功能。图2为家庭智能终端主控模块的硬件实现图。
1.3 家庭智能终端工作原理 利用基于蓝牙技术的遥控设备或基于RS-485总线的有线键盘,可以设置家庭智能终端的各项参数,打开或关闭485总线或具有蓝牙模块的电器设备,设置报警模块的报警方式、撤布防等。此外遥控设备和键盘上还有紧急求助按钮,可以通过电话和网络向远程管理中心发送报警信号。家庭智能终端还具有联动控制模块,当485总线或蓝牙网络上的一个设备发生某个特定的动作时.可以引发另外一些设备做设定的状态变化,从而达到方便用户和节省能耗的效果。以上介绍的是本地操作的工作原理。关于远程控制和远程监控,本文提供了两种方式:基于电话网络和基于互联网。由于基于电话网络的远程控制和远程监控已经有了大量介绍,这里主要介绍互联网方式的远程控制和监控。 家庭智能终端是通过Web技术提供远程监控和控制服务的。用户在任意一台连接到因特网的PC机上打开Windows IE,登录小区服务器,输入家庭智能终端的IP地址和相关密码,使可以看到智能终端上的Web页。在Web页上可以查看家庭内部网络各种设备的状态.并且可以改变某些设备的状态。这里利用小区网关完成小区局域同与外网的连接,小区内部局域网上的IP地址可以使用私有地址,从而节省费用。 2 家庭智能终端软件设计 嵌入实时操作系统μCOS-Ⅱ是一种占先式多任务操作系统.可固化、可裁减、移植性好,具有良好的可靠性和稳定性。它支持64个任务,具有信号量、消息邮箱、消息队列等多种进程间通信机制,已经在商业领域得到了成功的应用。由于μCOS-Ⅱ操作系统本身并不带TCP/IP协议栈,因此在操作系统上需要移植IP协议。本文采用μCOS-Ⅱ LWIP来实现家庭智能终端的网络通信。 家庭智能终端软件部分包括远程通信模块、RS-485通信模块、无线通信模块、232通信模块、报警检测模块、联动控制模块以及电话和语音控制模块。根据以上划分,在μCOS-Ⅱ操作系统中定义了远程通信任务、485通信任务、232通信任务、报警检测任务、联动控制任务、电话语音控制任务以及蓝牙通信任务。各任务的优先级和堆栈空间分配如表l。 软件设计采用模块化设计,保证程序具有良好的可移植性和可重用性,各种软件模块分别属于不同的程序层。如图3所示,笔者将软件模块分为三个程序集合,即软件的程序层。内层是μCOS-Ⅱ内核,承担任务管理、内存管理和时间管理功能。应用程序层主要完成数据处理和请求内核服务的功能。中间件层移植和编写各部分通信协议和底层接口芯片的驱动程序。图3中最外围层为硬件接口层,它不是实际的软件层,并不做软件编写工作。智能终端的软件部分非常复杂,由于篇幅所限,本文重点介绍操作系统的移植和远程监控及控制。 |