基于zigbee与linux 的智能家居系统设计方案
存储器扩展
3.3.1 SDRAM 扩展
本系统使用的嵌入式操作系统为Linux 操作系统,在编译、定制内核时,内核文件zImage.bin 文件大小为2.1MB,操作系统完全加载时文件系统root.bin 文件大小为34MB,加上上层应用程序运行时会消耗一部分内存,使用两片32MB 的内存为最佳选择。
3.3.2 Flash 扩展
本系统扩展的Flash 有两种,Nor Flash 为2M*16Bit,Nand Flash 为64*8Bit[4],Nor Flash写入、擦除速度较慢,读取速度较快,成本较高小容量存储,用于存储系统启动Bootloader代码,Nand Flash 特点正好与Nor Flash 相反,大容量存储。用于存储操作系统文件和应用程序。
3.3.3 射频单元
本设计射频芯片选用挪威Chipco 公司的cc2420 芯片。该芯片基于Chipco 公司Smart RF03 技术。以0.18um CMOS 工艺制成。只需极少外部元器件,性能稳定且功耗极低。cc2420的选择性和敏感性指数超过了 IEEE 802.15.4 标准的需求,可确保短距离通信的有效性和可靠性,利用此芯片开发的无线通信设备支持数据传输率高达250kbps,可以实现多点对多点快速组网。硬件应用电路如下图5 所示:
图5 CC2420 硬件电路
4 软件设计
通过天线接收设备无线节点传输过来的数据帧,经过CC2420 自动校验。若无误则经过解码、译码,然后经过SPI 接口送往ATmega128L,再经过串口UART1 送往S3C2440,经数据处理后显示于相应的LCD 触摸屏上。
4.1 系统主程序设计
CMU以及节点的程序流程图,分别见图6 和7。在CMU中先初始化LCD 及射频芯片,然后程序开始初始化协议栈并打开中断。之后程序开始格式化一个网络。最后处理函数apsFSM()(在APS 层上实现的FSM(有限状态机))监控中的zigbee 信号。如果现在有节点加入网络,则LCD 和串口输出都会给节点分配网络地址。同样函数apsFSM()里接收节点发送过来的温度传感器采集到的数值及一些按键操作,并在LCD 上显示处理,也同时从串口发送出来。
4.2 处理器软件结构
处理器采用嵌入式Linux 操作系统,在原Bootloader、Kernel 上修改文件系统,添加GUI应用程序,并修改系统启动脚本使应用程序在系统启动时自运行。软件结构如图8 所示。
5 测试与分析
为了保证智能家居系统运行的稳定性,我们将主控设备装入模具中进行了一周高温测试,系统一直保持了稳定的工作状态,同时对CMU温度进行了测量,环境温度与CMU温度的比较如下图所示,理论情况下,CMU 工作的最大温度为45°C,由下图6.9 看出,CMU工作的温度属于正常范围。
同时对智能家居系统的家居设备无线节点进行了性能测试。测试条件为:1、用障碍物将CMU 模块与家居设备无线节点隔开;2、CMU 模块的波特率为250kbps;3、每一帧数据为64 字节;5、每次测试数据发送1000 帧,发送间隔为200ms 。实验结果如表1 所示,由表可以看出,系统如果要正常工作,需保持在200m距离范围内。
6 结论
本文从智能家居系统设计的成本、功耗、性能等方面出发,设计出一种可行的智能家居系统的构建方案。以高性能、低功耗的S3C2440 芯片装载linux 嵌入式系统作为中央管理单元的处理器,用zigbee 无线通信协议实现CMU、无线家居设备节点、无线传感器节点的互联和互动,使之成为一个小型的家居"物联网"并且利用成熟的Internet网络实现了远程控制。并在硬件芯片选择和电路设计方面优化了系统的结构,使得系统性能得到了很大的改善,成本也降低了许多。
- 基于MCU的智能漏水检测系统设计(10-06)
- 远程自动控制系统在智能家居中的应用(10-16)
- 旧房安装智能家居 首选无线传输方式(03-03)
- 智能家居照明系统解决方案(02-11)
- 德州仪器(TI)的电冰箱解决方案(06-10)
- 智能家居多功能一体化触屏遥控器方案解析(11-02)