基于ZigBee技术的智能家居无线网络系统
3 通讯协议
3.1ZigBee协议的帧结构
采用符号ZigBee标准的HeliLink模块的数据帧由数据模式、目标地址、数据长度、数据信息与校验和五部分构成,格式如下(数据帧结构中的数据都是16进制数):
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_0.jpg)
“数据模式”占用一个字节。“目标地址”表示数据帧结构要发送的目标位置(网络中的节点号),它占用一个字节。“数据长度”表示数据帧结构中从“数据1”到“数据n”所占据的字节数,它也占据了一个字节。“数据信息”表示用户要通过UART0传送的命令或者有效数据,占据的字节数由“数据长度”决定。“校验和”是对帧结构中的全部数据(校验和字节除外)进行的校验,采用字节逐位异或的方式实现。“校验和”也占据一个字节。
3.2无线网络通讯协议帧结构
家庭网关通讯协议帧结构是建立在ZigBee协议帧结构的基础上的,相当于底层协议中的数据场部分。所以帧结构由节点号、功能编码、数据信息三部分组成,如下所示:
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_1.jpg)
节点号字段数据长度为1字节,其中低四位为数据采集功能编号,高四位为子节点号,如下所示:
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_2.jpg)
功能编码分为三个部分:方向位、数据类型和功能类型。其格式为:
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_3.jpg)
方向位:
根据主节点作为通讯发送者还是接收者,本系统功能可分为两大类:上行和下行。方向位即决定了这一点。
数据类型:
数据信息与功能编码关系十分密切,根据功能不同,数据场中数据的内容含义不同;根据数据长度不同,数据类型也不同。
功能类型:
每一个功能类型对应一种系统功能。通过解析功能类型编码可得到系统功能,对于下行帧,子节点得到主节点通知其执行的命令和需要的数据;对于上行帧,主节点得到子节点返回的信息、数据和命令执行的情况。
数据信息存放数据,数据信息长度可根据功能编码中的数据类型而定。
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_4.jpg)
4 无线节点硬件设计
由于无线节点使用电池供电,且需要安装在三表或电器内部,要求电池体积很小,因此电池的容量不可能太大。希望一颗钮扣电池可以有效工作一年以上。无线通讯需要电池提供足够大的电流,耗电量较大,所以低功耗设计成为子节点设计的重点和难点。
无线网络节点硬件组成如图2所示,采用TI公司的16位单片机MSP430F1232作为处理器,采用符合ZigBee标准的Heililink无线网络收发模块建立无线通讯,采用RAMTRON公司的铁电存储器FM24LC16存储数据,开关量输出使用松下公司的磁保持继电器TQ2L2—3V,PWM输出放大器采用MAXIM公司的MAX4464。使用锂离子钮扣电池供电,通过采用TI公司的电荷泵IPS60210将电压稳定至3.3V。无线子节点通过查询八位拨码开关确定其功能,可以实现两路脉冲量的计数、两路开关量的输入、两路开关量的输出、一路模拟量的输入、一路模拟量的输出、电池电量采集无线通讯等功能。
![](http://m.amcfsurvey.com/editerupload/fetch/20140120/218877_2_5.jpg)
4.1 处理器
处理器采用TI公司的16位单片机MSP430F1232。该单片机突出的特点是可以实现极低的功耗,具有五种省电工作模式,而每种工作模式可以通过对时钟的控制实现不同的功耗,其工作在LPM4模式下的功耗电流只有0.1μA,非常适合采用电池供电的系统。片内FLASH ROM用于存储应用程序、通讯协议;UART接口连接无线通信模块;10位A/D转换器实现电池电压检测、模拟量输入;内部16位定时计数器实现PWM输出,经低通滤波后,再由放大器放大,实现模拟量输出;I2C接口连接铁电存储器FRAM。其余的通用输入输出端口分别实现数字量和脉冲量的输入、输出以及拨码开关状态的输入。
评论