孫靜 宋雪
摘要:ZigBee RF4CE協(xié)議是ZigBee聯(lián)盟與RF4CE聯(lián)合會于2009年制定的新一代家電遙控標準,具有更遠的傳播距離、更好的抗干擾能力,并允許電器設(shè)備之間進行雙向交互。提出了一種基于RF4CE標準的LED系統(tǒng)的遙控系統(tǒng)設(shè)計。該系統(tǒng)應用飛思卡爾MC13213作為無線通信控制器通過lin總線控制LED系統(tǒng)的紅綠藍三色。調(diào)光控制使用freescale的MM908E625和3軸加速傳感器MMA7260QT。
關(guān)鍵詞:RF4CE; 遙控; 配對
中圖分類號:TP391.41 文獻標識碼:A文章編號:2095-2163(2013)06-0040-04
0引言
ZigBee RF4CE(Radio Frequency For Consumer Electronics,以下簡稱RF4CE)協(xié)議是ZigBee聯(lián)盟與RF4CE聯(lián)合會于2009年制定的新一代家電遙控標準。相比傳統(tǒng)的紅外技術(shù), RF4CE協(xié)議的信號傳播不受視距限制,具有更遠的傳播距離、更好的抗干擾能力,并允許電器設(shè)備之間進行雙向交互[1,2]。RF4CE有望徹底取代傳統(tǒng)紅外技術(shù),成為家電遙控的射頻新標準。
RF4CE協(xié)議中的設(shè)備工作在IEEE802.15.4規(guī)定的2.4GHz頻段內(nèi)的15、20和25信道中的一或多個信道上,自適應組網(wǎng)。在RF4CE定義的PAN里包含2種設(shè)備類型:目標設(shè)備(Target)和控制設(shè)備(Controller) [2]。對其分析闡述如下:
(1)目標設(shè)備。具備協(xié)調(diào)器(Coordinator)的所有功能,能夠作為協(xié)調(diào)器組建一個PAN,也可以加入其它目標設(shè)備形成的PAN。
(2)控制設(shè)備。能夠加入目標設(shè)備組建的PAN,與目標設(shè)備配對(Pair),對目標設(shè)備進行控制。一個設(shè)備可以加入多個PAN,兩個設(shè)備之間要進行通信,源設(shè)備必須先切換到目標設(shè)備所在PAN的通信頻道,與目標設(shè)備進行配對。圖1為RF4CE網(wǎng)絡(luò)拓撲的一個示例。該網(wǎng)絡(luò)中包含3個目標設(shè)備:TV、DVD和CD播放器(player)。這三個目標設(shè)備各自組成一個PAN,分別描述為:
①TV作為協(xié)調(diào)器組成PAN1。包括TV、TV RC(Remote Controller)、DVD和Multi-function RC(多功能遙控器)。
②CD作為協(xié)調(diào)器組成PAN2。包括CD、CD RC和Multi-function RC。
③DVD作為協(xié)調(diào)器組成PAN3。包括DVD、DVD RC、TV和Multi-function RC。其中,Multi-function RC是一個多功能遙控器,加入了3個PAN,可以對TV、DVD和CD進行控制。
ZigBee RF4CE的網(wǎng)絡(luò)拓撲如圖1所示。
1RF4CE協(xié)議架構(gòu)
RF4CE協(xié)議架構(gòu)基于OSI(Open System Interconnection)七層模型,以模塊和層作為基本單位,每層完成協(xié)議的一個部分,并為上層提供服務(wù)。圖2為RF4CE協(xié)議架構(gòu)[2]。RF4CE協(xié)議是在IEEE802.15.4標準定義的物理層和MAC層的基礎(chǔ)上提供網(wǎng)絡(luò)功能和公共應用規(guī)范,為終端用戶(End user)應用提供接口。生產(chǎn)商(Manufacturer)和經(jīng)銷商(Vendor)都可以在公共應用規(guī)范基礎(chǔ)上自定義命令集。
RF4CE協(xié)議的網(wǎng)絡(luò)層主要提供兩種服務(wù)。一種是數(shù)據(jù)服務(wù),負責網(wǎng)絡(luò)層數(shù)據(jù)包的發(fā)送和接收;另一種是管理服務(wù),負責發(fā)現(xiàn)網(wǎng)絡(luò)、配對、解除配對、接收器控制、設(shè)備初始化等。
RF4CE設(shè)備支持多種數(shù)據(jù)發(fā)送方式。各種數(shù)據(jù)發(fā)送方式分別如下:
(1)帶確認(Acknowledged)。設(shè)備接收到數(shù)據(jù)后,必須向源設(shè)備返回確認信息。
(2)不帶確認(Unacknowledged)。設(shè)備接收到數(shù)據(jù)后,不需要向源設(shè)備返回確認信息。
(3)單播(Unicast)。數(shù)據(jù)發(fā)送到指定的某一個設(shè)備。
(4)廣播(Broadcast)。數(shù)據(jù)發(fā)送給PAN內(nèi)的所有設(shè)備。
(5)多信道(Multiple channel)。如果數(shù)據(jù)在當前選定的信道發(fā)送失敗,可以重新選擇信道發(fā)送。
(6)單信道(Single channel)。數(shù)據(jù)只在選定的信道上發(fā)送。
1.2發(fā)現(xiàn)服務(wù)
發(fā)現(xiàn)服務(wù)必須在非節(jié)能模式下才能進行。節(jié)點通過執(zhí)行發(fā)現(xiàn)服務(wù),來尋找能夠進行配對的節(jié)點:發(fā)現(xiàn)服務(wù)會于一個固定的期間內(nèi)在三個PAN網(wǎng)絡(luò)中重復進行,直到收到所有的應答。在此時期內(nèi),設(shè)備之間會交換如下信息:
(1)Node capabilities。節(jié)點的類型(目標節(jié)點或控制節(jié)點),節(jié)點的供電類型,是否支持安全性。
(2)Vendor information。 RF4CE提供一個Vendor identifier或者Vendor string來制定對應的特定供應商標識。
(3)Application information。用戶自定義一個字符串用于描述節(jié)點的應用能力(如Lounge TV),一個設(shè)備類型列表可以制定哪些類型的設(shè)備是需要得到一定支持的(如一個綜合性設(shè)備可能同時支持TV 和DVD的功能),profile identifier列表制定該節(jié)點支持哪些類型的profiles。
(4) Requested device type。發(fā)現(xiàn)期間可以用于請求的設(shè)備類型(如一個多功能遙控器可能尋找TV的功能)。
1.3配對服務(wù)
一旦通過發(fā)現(xiàn)確定了設(shè)備,即還有另一種的移動設(shè)備在通信范圍內(nèi)提供兼容服務(wù),為了開始通信,就可以建立配對鏈接。RF4CE網(wǎng)絡(luò)內(nèi),如果鏈接發(fā)起者和目標設(shè)備之間配對已經(jīng)存在,節(jié)點可以與網(wǎng)絡(luò)上的其他設(shè)備直接通信。
發(fā)現(xiàn)過程中,通過轉(zhuǎn)換一組類似的信息,配對連接能夠建立來自應用的請求。目標設(shè)備上的應用可以選擇是否接受到發(fā)起者的配對(僅當有容量來存儲配對鏈接)以及確認到發(fā)起者的配對請求。
如果配對請求成功,兩個設(shè)備在各自配對表存儲配對鏈接。允許發(fā)起者與目標設(shè)備通信,目標設(shè)備也和發(fā)起者通信。配對表里的每個實體包含了網(wǎng)絡(luò)層發(fā)送一個幀信息到目標設(shè)備的所有的必要信息。
配對表里的每個實體包含以下信息:
(1)配對編號(Reference);
(2)源(Source)網(wǎng)絡(luò)地址;
(3)目的(Destination)邏輯信道;
(4)目的IEEE地址;
(5)目的PAN ID;
(6)目的網(wǎng)絡(luò)地址;
(7)接收設(shè)備(Recipient device)角色;
(8)接收幀計數(shù)(Recipient frame counter);
(9)安全鏈路密鑰(Security link key)。
2LED系統(tǒng)
2.1系統(tǒng)結(jié)構(gòu)
高亮度LED系統(tǒng)用于遠程控制RGB LED[3-5]。MCU(MC13213)[6]和遠程控制之間的通訊是雙向的。MC發(fā)送廣播去尋找與MCU地址匹配的遠程控制。如果傳送設(shè)備帶有請求匹配,即可建立通信。其后MCU從傳感器接收數(shù)據(jù)。MCU通過lin總線方式控制RGBW LED的亮度級別。MM908E625通過LIN物理層執(zhí)行一系列通信[7]。系統(tǒng)結(jié)構(gòu)圖如圖3所示[8-11]。
LED控制程序的基本流程為:
主程序初始化MCU、RF、SMAC協(xié)議、變量,從加速度傳感器獲取x、y、z軸的校準值,初始化SCI2通信,使能中斷,進入無線循環(huán)狀態(tài)。
無限循環(huán)包括特定的執(zhí)行模塊(RF協(xié)議)當接收了xyz數(shù)據(jù),每次循環(huán)都會調(diào)用Protocol()函數(shù)的ConnDataCB。接收xyz數(shù)據(jù)后,將轉(zhuǎn)換這些變量并過濾成8位求解值。如果轉(zhuǎn)換模式是白色的燈,白色LED亮度由x軸的值控制。紅色、綠色和藍色保持關(guān)閉。如果轉(zhuǎn)換模式不是白色,白色LED保持關(guān)閉,紅色、綠色和藍色則由xyz軸的值控制。圖3 系統(tǒng)結(jié)構(gòu)框圖
Fig.3 LED system block diagram 表示四個變量(R,G,B,W)的地址0X01保存在SCI傳輸緩沖區(qū)里,而后由SCI2通道進入SCI ZCOMM數(shù)據(jù)格式,再發(fā)送到LIN收發(fā)器。
2.2RF配對協(xié)議
ZCOMM和ZSTAR間的RF信息傳輸使用了一個簡單的協(xié)議,稱為RF配對協(xié)議,可以訪問3軸加速器、溫度、帶隙電壓以及獲取的校正數(shù)據(jù)。協(xié)議建立在MC13191的SMAC協(xié)議?;A(chǔ)上,是雙向的[11]。所有傳輸?shù)臄?shù)據(jù)均暫存在Zpackets包里。此協(xié)議允許最低開銷、最低的電池負載和加速度傳感器數(shù)據(jù)的快速傳輸。
作為主通信連接的ZCOMM板,加電后,COMM每40毫秒發(fā)送一次廣播呼叫,試圖獲取連接,并等待配對的設(shè)備應答。如果發(fā)送了255次廣播而沒有應答,獲取鏈接函數(shù)GetConnected()將返回0,ZCOMM進入空閑模式。每個ZCOMM板有一個特殊的網(wǎng)絡(luò)號,僅與傳感器匹配的網(wǎng)絡(luò)號鏈接。網(wǎng)絡(luò)號16位長,存儲在ZCOMM和ZSTAR的閃存中。
ZSTAR傳感器能夠重寫ZCOMM,第一次從空中接收的網(wǎng)絡(luò)號作為新的網(wǎng)絡(luò)號存儲在閃存中。RF協(xié)議的循環(huán)zstar_rf.c如下:
void Protocol(void)
{ for(;;)
{MLMESetChannelRequest(SiteSurvey());
if (GetConnected() == 1)
DoProtocol();}}
SiteSurvey()為通信找到一個通道。當傳感器用正確的網(wǎng)絡(luò)號應答廣播時,GetConnected()返回1,啟動通信后,啟動傳輸zstar數(shù)據(jù)包。之后,MCU向傳感器發(fā)送確認,協(xié)議流程如圖4所示。
如果RF數(shù)據(jù)得到了接收,執(zhí)行1ms的延遲,而后鏈接數(shù)據(jù)ConnDataCB則得到調(diào)用,ZSTAR_ACK作為數(shù)據(jù)確認即被發(fā)送,MCU確認鏈接成功。如果MCU并未接收到ZSTAR_ACK,MCU將試圖頻繁地接收確認,數(shù)據(jù)包的周期性傳輸也會繼續(xù)。如果MCU不止一次都未能接收到確認,鏈接將會中斷,MCU則會試圖建立新的鏈接。
2.3ZSTAR數(shù)據(jù)包格式
ZSTAR數(shù)據(jù)包定義在MC13191標準包格式中,由IEEE 802.15.4標準構(gòu)成[11]。SMAC增加了一個16位的數(shù)據(jù)包控制字段來區(qū)分ZigBee和其他標準的數(shù)據(jù)包。ZSTAR數(shù)據(jù)包格式如圖5所示。
由圖5可見,對Zpacket結(jié)構(gòu)的解析如下:
網(wǎng)絡(luò)號。網(wǎng)絡(luò)號是鏈接開始時隨機生成的,用以決定各變量間的鏈接,字段長16位。
ZSTAR_DATA。鏈接建立后,傳感器開始周期性地向USB發(fā)送Zdata格式數(shù)據(jù)。Zdata字段包含10個字節(jié),分別為:x,y,z加速度數(shù)據(jù)、溫度值、帶隙基準電壓和狀態(tài)信息,如圖6所示。
3結(jié)束語
射頻遙控有望徹底取代傳統(tǒng)紅外技術(shù),RF4CE不但能提高操作的可靠性,提高信號的傳輸距離和抗干擾性,使得信號傳遞不再受障礙物的影響,還能實現(xiàn)雙向通信, 以及解決不同電器的互操作問題,遙控器電池的壽命也可顯著延長。消費者將不再需要用遙控器的發(fā)射端準確指向電器的接收端,也不再需要數(shù)個遙控器來操作家中不同的電子設(shè)備。本文基于RF4CE的標準,設(shè)計了一個LED的遙控系統(tǒng),對RF4CE標準的進一步普及和設(shè)計實現(xiàn)具有一定的借鑒意義。
參考文獻:
[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.