1 引言
随着信息时代的到来和网络技术的飞速发展, 实现家庭信息化、网络化是当今智能家居设备系统发展的新趋势。智能家居系统是将相对独立的家用电器构成一个统一的系统, 进而实现对这些设备和家庭环境的智能管理、远程监控和资源共享。其目的是为人们提供一个安全、舒适、高效和便利的生活环境。本文介绍一种基于嵌入式Web 和ZigBee 技术的网络化智能家居系统的设计和实现方案。
2 系统结构和功能介绍
系统有远端PC、嵌入式网关、USB 摄像头和ZigBee 组成的家庭内部无线网络四部分组成。设计思想是在每一个家庭设备上都装上ZigBee 模块和相应传感器来组成一个终端节点,用来实时监控设备的状态, 并且把采集到的数据以无线方式发给ZigBee 协调器,这样就由ZigBee 协调器和各终端设备组成了一个无线连接的星型结构的家庭内部网络。嵌入式网关是系统的中枢,可以把USB 摄像头采集的视频信息和来自协调器接收的终端节点信号传送到Internet 上, 这样就把内部网络连接到互联网上。特别是USB 摄像头的使用,让用户可以直观的看到家里的一切变化, 弥补了大部分智能家居系统只可以查看家庭设备数字信息的不足。用户可以通过远程PC 机访问家庭内部网络,查看家庭设备的数字信息和视频信息,实现远程监控的目的。
3 系统硬件设计
3.1 核心处理器模块
本系统选用S3C2440A 作为核心控制器, 它是Samsung 公司推出的一款基于ARM920T 核的处理器, 采用了16/32 位RISC 处理器, 具有外部存储器控制器,LCD 控制器,4 通道DMA控制器,三通道UART,两通道SPI,两路全速USB 主设备芯片,带有MMU 虚拟存储器单元,这一特性可以移植linux 系统和建立Web 服务器,主频400MHz,有130 个I/O 端口和24 路外部中断源,有多种通信接口,体积小,功耗和成本低,可靠性高,特别适合作为嵌入式微处理器。
3.2 存储模块
NAND FLASH 存储模块选择Samsung 公司生产的K9F1208U0M-YCB0 64M*8bits 的高性能存储芯片。掉电后信息不会丢失,用于存储启动代码、内核和文件系统。
SDRAM 是系统的内存, 它不具有掉电保持数据的特性,其存取速度大大高于Flash 存储器, 在系统中主要作程序的运行空间、数据和堆栈区。系统中SDRAM 选用K4S561632C-TC75芯片。K4S561632C-TC75 的存储容量为16M*16 位(32M 字节),数据宽度为16 位,由于S3C2440A 是32 位的,外部总线也是32位的, 为了最大限度发挥处理器的性能, 本系统选用两片K4S561632C-TC75 芯片并联起来,以构成32 位内存系统。
3.3 以太网接口
系统选用CS8900A 芯片建立网络接口。CS8900A 是Cirrus公司生产的一款单芯片、全双工、全面支持IEEE802.3 标准的高集成以太网控制器。在本系统中网络控制器发挥着重要作用,它负责将监控数据发送到Internet, 并把来自Internet的控制指令传送至底层。
3.4 摄像头选择
对于图像采集传感器,采用以中星微公司的ZC301 感光芯片为核心的USB 摄像头作为图像采集模块。中星微301 系列高清芯片拥有影像光源自动增益补强技术,自动白平衡、边缘增强以及伽马矫正等先进的摄像控制技术。
3.5 ZigBee 模块
无线收发芯片采用Chipcon (已于2006 年被TI 公司收购)公司生产的CC2430。CC2430 芯片除了整合ZigBee 射频(RF)前端、内存和微控制器外, 还具有128KB 可编程内存和8KB 的RAM、模拟数字转换器(ADC) 、定时器(TImer) 、AES-128协同处理器、看门狗定时器以及21 个可编程I/O 引脚等。因此选择CC2430 做为无线收发部分, 使用起来非常容易上手。由于CC2430 的高度集成度, 外围需要很少的器件可以组成最小系统。它结合Chipcon 公司全球先进的ZigBee 协议栈、工具包和参考设计,展示了领先的ZigBee 解决方案。其产品广泛应用于汽车、工控系统、家居系统和无线传感器网络等领域。
4 系统软件设计
系统软件主要包括移植Linux 操作系统,USB 摄像头驱动的编写,ZigBee 协调器工作程序和终端设备的收发程序,嵌入式Web 服务器的移植等等。
4.1 移植Linux 操作系统
本系统选用2.6 版本的Linux 内核, 首先从ftp://ftp.kernel.org/pub/linux/kernel/下载内核源码。在编译内核前先要修改根目录下的Makefile 文件,
ARCH=arm
CROSS COMPILE=arm-linux-gcc
然后运行make menuconfig 进入配置菜单, 选择需要的选项, 配置完成后保存退出, 依次执行内核编译命令:make dep ;make clean;make zImage 编译成功后会在/linux/arch/arm/boot/下找到编译好的内核镜像文件zImage。然后可以用Bootloader 菜单命令把内核镜像烧写到NAND FLASH 中。
技术专区
- 解答树莓派三种连接电脑的方式
- 赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创
- 据说嵌入式工程师年薪10万是门槛 达到后你满足了吗?
- 打造Zynq平台性价比标杆,米尔强势推出MYC-Y7Z010/007S核心板
- 一文了解stm32使用DMA模块的相关操作