孙静 宋雪
摘要:ZigBee RF4CE协议是ZigBee联盟与RF4CE联合会于2009年制定的新一代家电遥控标准,具有更远的传播距离、更好的抗干扰能力,并允许电器设备之间进行双向交互。提出了一种基于RF4CE标准的LED系统的遥控系统设计。该系统应用飞思卡尔MC13213作为无线通信控制器通过lin总线控制LED系统的红绿蓝三色。调光控制使用freescale的MM908E625和3轴加速传感器MMA7260QT。
关键词:RF4CE; 遥控; 配对
中图分类号:TP391.41 文献标识码:A文章编号:2095-2163(2013)06-0040-04
0引言
ZigBee RF4CE(Radio Frequency For Consumer Electronics,以下简称RF4CE)协议是ZigBee联盟与RF4CE联合会于2009年制定的新一代家电遥控标准。相比传统的红外技术, RF4CE协议的信号传播不受视距限制,具有更远的传播距离、更好的抗干扰能力,并允许电器设备之间进行双向交互[1,2]。RF4CE有望彻底取代传统红外技术,成为家电遥控的射频新标准。
RF4CE协议中的设备工作在IEEE802.15.4规定的2.4GHz频段内的15、20和25信道中的一或多个信道上,自适应组网。在RF4CE定义的PAN里包含2种设备类型:目标设备(Target)和控制设备(Controller) [2]。对其分析阐述如下:
(1)目标设备。具备协调器(Coordinator)的所有功能,能够作为协调器组建一个PAN,也可以加入其它目标设备形成的PAN。
(2)控制设备。能够加入目标设备组建的PAN,与目标设备配对(Pair),对目标设备进行控制。一个设备可以加入多个PAN,两个设备之间要进行通信,源设备必须先切换到目标设备所在PAN的通信频道,与目标设备进行配对。图1为RF4CE网络拓扑的一个示例。该网络中包含3个目标设备:TV、DVD和CD播放器(player)。这三个目标设备各自组成一个PAN,分别描述为:
①TV作为协调器组成PAN1。包括TV、TV RC(Remote Controller)、DVD和Multi-function RC(多功能遥控器)。
②CD作为协调器组成PAN2。包括CD、CD RC和Multi-function RC。
③DVD作为协调器组成PAN3。包括DVD、DVD RC、TV和Multi-function RC。其中,Multi-function RC是一个多功能遥控器,加入了3个PAN,可以对TV、DVD和CD进行控制。
ZigBee RF4CE的网络拓扑如图1所示。
1RF4CE协议架构
RF4CE协议架构基于OSI(Open System Interconnection)七层模型,以模块和层作为基本单位,每层完成协议的一个部分,并为上层提供服务。图2为RF4CE协议架构[2]。RF4CE协议是在IEEE802.15.4标准定义的物理层和MAC层的基础上提供网络功能和公共应用规范,为终端用户(End user)应用提供接口。生产商(Manufacturer)和经销商(Vendor)都可以在公共应用规范基础上自定义命令集。
RF4CE协议的网络层主要提供两种服务。一种是数据服务,负责网络层数据包的发送和接收;另一种是管理服务,负责发现网络、配对、解除配对、接收器控制、设备初始化等。
RF4CE设备支持多种数据发送方式。各种数据发送方式分别如下:
(1)带确认(Acknowledged)。设备接收到数据后,必须向源设备返回确认信息。
(2)不带确认(Unacknowledged)。设备接收到数据后,不需要向源设备返回确认信息。
(3)单播(Unicast)。数据发送到指定的某一个设备。
(4)广播(Broadcast)。数据发送给PAN内的所有设备。
(5)多信道(Multiple channel)。如果数据在当前选定的信道发送失败,可以重新选择信道发送。
(6)单信道(Single channel)。数据只在选定的信道上发送。
1.2发现服务
发现服务必须在非节能模式下才能进行。节点通过执行发现服务,来寻找能够进行配对的节点:发现服务会于一个固定的期间内在三个PAN网络中重复进行,直到收到所有的应答。在此时期内,设备之间会交换如下信息:
(1)Node capabilities。节点的类型(目标节点或控制节点),节点的供电类型,是否支持安全性。
(2)Vendor information。 RF4CE提供一个Vendor identifier或者Vendor string来制定对应的特定供应商标识。
(3)Application information。用户自定义一个字符串用于描述节点的应用能力(如Lounge TV),一个设备类型列表可以制定哪些类型的设备是需要得到一定支持的(如一个综合性设备可能同时支持TV 和DVD的功能),profile identifier列表制定该节点支持哪些类型的profiles。
(4) Requested device type。发现期间可以用于请求的设备类型(如一个多功能遥控器可能寻找TV的功能)。
1.3配对服务
一旦通过发现确定了设备,即还有另一种的移动设备在通信范围内提供兼容服务,为了开始通信,就可以建立配对链接。RF4CE网络内,如果链接发起者和目标设备之间配对已经存在,节点可以与网络上的其他设备直接通信。
发现过程中,通过转换一组类似的信息,配对连接能够建立来自应用的请求。目标设备上的应用可以选择是否接受到发起者的配对(仅当有容量来存储配对链接)以及确认到发起者的配对请求。
如果配对请求成功,两个设备在各自配对表存储配对链接。允许发起者与目标设备通信,目标设备也和发起者通信。配对表里的每个实体包含了网络层发送一个帧信息到目标设备的所有的必要信息。
配对表里的每个实体包含以下信息:
(1)配对编号(Reference);
(2)源(Source)网络地址;
(3)目的(Destination)逻辑信道;
(4)目的IEEE地址;
(5)目的PAN ID;
(6)目的网络地址;
(7)接收设备(Recipient device)角色;
(8)接收帧计数(Recipient frame counter);
(9)安全链路密钥(Security link key)。
2LED系统
2.1系统结构
高亮度LED系统用于远程控制RGB LED[3-5]。MCU(MC13213)[6]和远程控制之间的通讯是双向的。MC发送广播去寻找与MCU地址匹配的远程控制。如果传送设备带有请求匹配,即可建立通信。其后MCU从传感器接收数据。MCU通过lin总线方式控制RGBW LED的亮度级别。MM908E625通过LIN物理层执行一系列通信[7]。系统结构图如图3所示[8-11]。
LED控制程序的基本流程为:
主程序初始化MCU、RF、SMAC协议、变量,从加速度传感器获取x、y、z轴的校准值,初始化SCI2通信,使能中断,进入无线循环状态。
无限循环包括特定的执行模块(RF协议)当接收了xyz数据,每次循环都会调用Protocol()函数的ConnDataCB。接收xyz数据后,将转换这些变量并过滤成8位求解值。如果转换模式是白色的灯,白色LED亮度由x轴的值控制。红色、绿色和蓝色保持关闭。如果转换模式不是白色,白色LED保持关闭,红色、绿色和蓝色则由xyz轴的值控制。图3 系统结构框图
Fig.3 LED system block diagram 表示四个变量(R,G,B,W)的地址0X01保存在SCI传输缓冲区里,而后由SCI2通道进入SCI ZCOMM数据格式,再发送到LIN收发器。
2.2RF配对协议
ZCOMM和ZSTAR间的RF信息传输使用了一个简单的协议,称为RF配对协议,可以访问3轴加速器、温度、带隙电压以及获取的校正数据。协议建立在MC13191的SMAC协议栈基础上,是双向的[11]。所有传输的数据均暂存在Zpackets包里。此协议允许最低开销、最低的电池负载和加速度传感器数据的快速传输。
作为主通信连接的ZCOMM板,加电后,COMM每40毫秒发送一次广播呼叫,试图获取连接,并等待配对的设备应答。如果发送了255次广播而没有应答,获取链接函数GetConnected()将返回0,ZCOMM进入空闲模式。每个ZCOMM板有一个特殊的网络号,仅与传感器匹配的网络号链接。网络号16位长,存储在ZCOMM和ZSTAR的闪存中。
ZSTAR传感器能够重写ZCOMM,第一次从空中接收的网络号作为新的网络号存储在闪存中。RF协议的循环zstar_rf.c如下:
void Protocol(void)
{ for(;;)
{MLMESetChannelRequest(SiteSurvey());
if (GetConnected() == 1)
DoProtocol();}}
SiteSurvey()为通信找到一个通道。当传感器用正确的网络号应答广播时,GetConnected()返回1,启动通信后,启动传输zstar数据包。之后,MCU向传感器发送确认,协议流程如图4所示。
如果RF数据得到了接收,执行1ms的延迟,而后链接数据ConnDataCB则得到调用,ZSTAR_ACK作为数据确认即被发送,MCU确认链接成功。如果MCU并未接收到ZSTAR_ACK,MCU将试图频繁地接收确认,数据包的周期性传输也会继续。如果MCU不止一次都未能接收到确认,链接将会中断,MCU则会试图建立新的链接。
2.3ZSTAR数据包格式
ZSTAR数据包定义在MC13191标准包格式中,由IEEE 802.15.4标准构成[11]。SMAC增加了一个16位的数据包控制字段来区分ZigBee和其他标准的数据包。ZSTAR数据包格式如图5所示。
由图5可见,对Zpacket结构的解析如下:
网络号。网络号是链接开始时随机生成的,用以决定各变量间的链接,字段长16位。
ZSTAR_DATA。链接建立后,传感器开始周期性地向USB发送Zdata格式数据。Zdata字段包含10个字节,分别为:x,y,z加速度数据、温度值、带隙基准电压和状态信息,如图6所示。
3结束语
射频遥控有望彻底取代传统红外技术,RF4CE不但能提高操作的可靠性,提高信号的传输距离和抗干扰性,使得信号传递不再受障碍物的影响,还能实现双向通信, 以及解决不同电器的互操作问题,遥控器电池的寿命也可显著延长。消费者将不再需要用遥控器的发射端准确指向电器的接收端,也不再需要数个遥控器来操作家中不同的电子设备。本文基于RF4CE的标准,设计了一个LED的遥控系统,对RF4CE标准的进一步普及和设计实现具有一定的借鉴意义。
参考文献:
[1]KOO B, AHN T, IN J, et al. R-URC: RF4CEbased universal remote control framework using smartphone[C]// Proceedings of the International Conference on Computational Science and Its Applications (ICCSA 10), 2010:311–314.
[2]ZigBee Alliance. RF4CE Standard Specification. Release 1.0, 2009-03.
[3]ZigBee Alliance .Advantages of Energy-Efficient ZigBee Remote Controls, 2011,16(2):14–19.
[4]GILL K, YANG S H, YAO F, et al. A ZigBee-based home automation system[J]. IEEE Transactions on Consumer Electronics, 2009, 55(2):422-430.
[5]ZigBee Alliance ,Understanding ZigBee RF4CE,2009.
[6]Mc13213 Freescale ZigBeTM Application Users Guide,2008-01.
[7]MM908E625: Quad Half H-Bridge with P/S + HC08 + LIN device specification.http://www.freescale.com.
[8]Remote Control of High-Brightness LEDs. http://freescale.com,2008-04.
[9]EGAN D. The emergence of ZigBee in building automation and industrial controls. IEEE Computing and Control Engineering.
[10]Automotive High Brightness LED Control Based on the MC9S08MP16 microcontroller. http://freescale.com,2010-04.
[11]MC13191 2.4 GHz Low Power Transceiver for the IEEETM 802.15.4 Standard Reference Manual. http://www.freescale.com,2006-10.