基于嵌入式的无线智能家居网关设计方案
UART0是RS232接口,用来连接PC机,UART1和UART2是TTL接口。这里使用UART0来连接,设置相应波特率后实现数据传输。其通信接口电路如图3所示,只需连接TXD0和RXD0两根信号线即可实现两者的数据传输通信。
图3JN5139的通信接口电路
2。3Wi-Fi通信模块
该模块用来实现家庭网关与Internet连接。Wi-Fi模块采用威盛的VT6656芯片实现数据的远程传输,VT6656芯片内嵌TCP/IP协议栈,降低了设计的难度,同时大大提高了主控制器处理其他数据的能力。VT6656与S3C2440A的连接非常简单,二者可以通过标准的USB接口直接相连。VT6656芯片的主要特性:54Mbps标准802。11g无线Internet访问,比基于802。11b协议快5倍;采用USB2。0最高比USB1。1快40倍;新的天线技术支持更远距离的无线访问;支持所有标准802。11g和802。11b无线路由器及接入点;支持64/128/152位WEP加密;支持WPA/WPA2、WPA-PSK/WPA2-PSK等高级加密与安全机制。
3软件平台设计
软件平台采用一种开放源码的Linux操作系统,便于在其基础上完成各项相关应用程序的开发。软件主要涉及到操作系统的裁剪与编译、驱动程序编写和系统主程序编写。
3。1家庭网关软件体系结构
家庭网关采用模块化设计方案,如图4所示由硬件驱动层、操作系统层、网络协议层和应用程序层组成。硬件驱动层描述网关节点中Zigbee模块和Wi-Fi模块的驱动;操作系统层移植了ARMLinux实时操作系统内核;网络协议层移植了Zigbee和Wi-Fi协议栈,实现Zigbee和Wi-Fi协议双向转换;应用程序层在Linux内核上移植嵌入式Web服务器软件Boa。
图4家庭网关结构。
网关中的网络协议层主要完成从Wi-Fi和Zigbee协议的相互转换工作。对于从Zigbee设备发送到Wi-Fi的数据,在网关需要经过以下处理步骤:Zigbee设备接收到数据→去掉物理层Zigbee分组→去掉MAC层Zigbee分组→添加MAC头的Wi-Fi分组→添加物理层头的Wi-Fi分组→Wi-Fi处理或发送。Wi-Fi接收数据到发送给Zigbee设备的过程如下:
Wi-Fi接收到数据→去掉物理层Wi-Fi分组→去掉MAC层Wi-Fi分组→添加MAC头的Zigbee分组→添加物理层头的Zigbee分组→Zigbee处理或发送。Wi-Fi-Zigbee通信协议模型如图5所示。
图5Zigbee/Wi-Fi网关的通信协议模型。
3。2Zigbee组网软件设计
家庭网关集成了Zigbee网络协调器和嵌入式Web服务器,有两个主要功能。1)实现无线传感器网络的建立,传感器节点管理和数据传输。将收集到的数据存储在数据库中,使用户可以随时查询监控Zigbee终端设备的状态。2)用户可以通过Web浏览器直接访问网关,可以进行实时监测和远程管理。
为了实现家庭网关的功能,在硬件平台上移植了Linux2。6实时操作系统、Zigbee协议栈和VT6656的驱动程序,并使用基于HTTP协议的Boa服务器作为Web服务器,其中ZigBee网络协调器的软件实现包括ZigBee协议和监控管理程序的移植。该软件流程如图6所示。
图6Zigbee软件流程。
在智能家居内部ZigBee无线网络中,首先协调器进行初始化,然后协调器选择一个称为PANID的标识号码,接着启动网络,所有的设备接入CSMA-CA机制的协调器。当协调器收到数据时,首先判断是新节点加入网络的请求还是设备节点的控制请求:如果是新节点加入网络的请求则分配网络地址并绑定节点;如果是控制请求,则调用控制请求处理函数处理数据。数据处理完毕,协调器返回等待请求监听状态。
3。3家庭网关主程序设计
家庭网关是建立在传输层以上的协议转换器,通常它连接两个或多个相互独立的网络,每接收一种协议的数据包后,在转发之前将它转换为另一种协议的格式,Zigbee协议栈由一系列分层结构组成,包括物理层、数据链路层、网络层、应用支持层和应用层,每一层为上一层提供服务。采集节点将要传输的节点地址信息和监测数据以Zigbee帧的形式打包发送给网关节点。传送数据在通过物理介质进入网关后,先用Zigbee协议栈解封装得到原始数据,网关可以用操作系统上的应用软件根据需要对原始数据处理。然后再以TCP/IP协议打包后通过USB口与Wi-Fi通信模块VT6656相连,Wi-FiVT6656网卡通过AP路由器,将数据传送到Wi-Fi网络中,AP路由器接入Internet,从而实现网关与Internet相连。为实现系统的监测和控制两大功能,数据帧结构的设计由前导码、数据模式、目标地址、数据长度、数据信息与校验和等部分构成[3],其中数据信息字段又划分为方向位、功能类型和数据。
方向位分为上行和下行两种:上行传输的是监测数据,下行传输的是控制命令。
家庭网关主程序处理流程如图7所示。硬件上电系统启动以后
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)