基于PXA270-Linux的智能家居系统研究
扫描二维码
随时随地手机看文章
智能家居是通过综合采用先进的计算机、通信和控制技术(3C),建立一个由家庭安全防护系统、网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安全防护、便利的通讯网络以及舒适的居住环境的家庭住宅。智能家居是一个多功能的技术系统,它包括可视对讲、家庭内部的安全防范、家居综合布线系统、照明控制、家电控制、远程的视频监控、声音监听、家庭的影音系统等。随着技术发展和人们需求的增长家居智能化包含的内容会更多。
1 智能家居系统结构
目前完整的智能家居系统主要包括5个部分:主控模块、电器控制子系统、照明控制子系统、安全控制子系统和网络控制子系统。5个部分功能各司其职,逻辑上构成一个完整的控制实体。整个系统能为人们提供智能、舒适、安全的家庭环境,同时提供远程信息监控能力。智能家居系统组成如图1所示。主控模块负责子系统的信息集中、存储、分析和决策。嵌入式芯片的发展使主控模块越来越精巧,功能日益丰富。
智能家居是一个庞大的系统,主控系统是系统的控制中枢,家庭网络是系统的神经系统,传输系统信息流和控制流。家居中的设备众多,设备的接口各异,实现各种设备的智能控制面对巨大挑战。该设计采用分布式技术、总线技术和嵌入式技术构造了一个多功能、通信能力强的智能家居系统。
2 开发平台的选择与构建
2.1 智能家居系统硬件构成
主控平台:UP-SmarHome智能家居教学实验系统属于一种综合的教学实验系统,主处理器选用基于ARM核的Intel XScale架构的PXA270处理器,它集成了存储单元控制器、时钟和电源控制器、LCD控制器、AC97控制器等外围控制器,可以实现丰富的外围接口功能。其低电源运行模式以及动态电源管理技术可以有效降低电源的功耗。内置的LCD控制器和触摸屏控制器简化液晶显示的电路设计,此系统中采用16 b 8 寸640×480真彩LCD显示屏和触摸屏。PXA270处理器主频高达624 MHz,运算能力强,功耗低,可满足主控模块的运算要求,外围接口丰富,为主控模块的扩展提供良好的支持,用户可以自己设计接口进行其他模块的功能实现。[!--empirenews.page--]
2.2 嵌入式开发软件平台
嵌入式硬件资源日益丰富,成本也较低廉,资源的增强使软件有更多的资源可以利用。该设计中主控模块的硬件资源非常丰富,软件系统也很庞大,软件系统无法避免在访问资源时遇到冲突、数据同步、数据交换的问题,所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境,此系统采用在源代码开放、可移植性强的Linux操作系统上进行开发。
2.2.1 引导程序
引导加载程序Bootloader是嵌入式系统软件开发的第一个环节,是目标板系统加电后运行的第一段代码,通过初始化硬件设备,建立内存空间的映射表,为最终加载操作系统内核建立适当的系统软硬件环境。Bootloader是严格地依赖于硬件而实现的,通用的Bootloader几乎是不可能的。在此,由于U-boot是遵循GPL条款的开放源码项目,能支持尽可能多的嵌入式处理器和嵌入式操作系统。此系统在PXA270开发
板上成功移植了U-boot。
2.2.2 Linux内核移植和编译
所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后,安装到该目标平台使其正确地运行起来。这个概念目前在嵌入式开发领域讲的比较多。其基本内容是:获取某一版本的Linux内核源码,根据具体目标平台对这个源码进行必要的改写,然后添加一些外设驱动,打造一款适合于目标平台的新操作系统,对该系统进行针对目标平台的交叉编译,生成一个内核映象文件,最后把该映象文件烧写(安装)到目标平台中。而通常对Linux源码的改写工作难度较大,这里采用的是目标平台提供商所给的文件。如果系统中有些硬件没有驱动起来,就需要自己开发驱动程序。
3 软件设计
3.1 主控模块软件设计
智能家居主控模块上硬件资源丰富,软件上有Linux操作系统的支持,各个子模块在主控模块的控制下协同工作。主控模块和子模块之间主要传输信息流和控制流。主控模块到子模块传输的主要是控制流,这些控制流完成子模块的配置或者命令子模块系统完成特定的任务。子模块到主机传输的主要是数据流,数据流主要包含子模块系统中各设备的运行状态或传感器数据等。
主控平台软件的主要功能是系统初始化,建立人机交互界面,实现与GSM通讯,与各监测、控制模块通讯。
在初次使用时,由用户设置手机号码,号码将保存在主控平台配置的FLASH中,主控平台等待用户命令,此命令可能来自GSM模块或当前主控人机界面,当用户通过短消息向系统发送控制消息时,GSM模块将接收的短消息通过串口发送给主控平台,由主控平台对短消息解析,并将消息组装成命令帧,通过RS 485总线发送给被控模块;如果命令来自当前主控平台,则主控平台直接解析命令,组装命令帧发送到对应控制模块。
3.2 子模块软件设计
子模块初始化后,定时查询RS 485总线接口,检测是否有命令帧,如果有就接收帧,取帧中的机器号和此模块的机器号比较是否相同,如果相同就解析此帧,执行相应的命令,否则继续检测总线接口。
4 结语
分析了家庭控制网络的结构,提出了一种基于PXA270处理器和Linux操作系统的智能家居控制系统,分析了系统软硬件平台设计。最后介绍了主控模块和子模块系统的软件设计及主控模块和其他功能子系统之间的RS 485总线通讯协议。该方案具有设计灵活,可裁剪性强,集成度高,易于升级等优点,后续工作应该是在此基础上进一步完善和改进,以提高效率和实用性。