首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于PXA270-Linux的智能家居系统研究 02

基于PXA270-Linux的智能家居系统研究 02

 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总线通讯协议。该方案具有设计灵活,可裁剪性强,集成度高,易于升级等优点,后续工作应该是在此基础上进一步完善和改进,以提高效率和实用性
返回列表