ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù),該技術(shù)基于IEEE 802.15.4標(biāo)準(zhǔn),由成立于2001年8月的ZigBee聯(lián)盟提出。2004年12月,ZigBee聯(lián)盟制定了ZigBee SpecificationV1.0。至今ZigBee技術(shù)已經(jīng)得到了廣泛的發(fā)展和應(yīng)用。目前,我國絕大部分的ZigBee硬件都是由國外廠商設(shè)計(jì)和生產(chǎn)的。早期的ZigBee硬件都是微控制器(MCU)和IEEE 802.15.4射頻芯片分離的。隨著片上系統(tǒng)(SoC)的出現(xiàn),ZigBee硬件也發(fā)展到了在一個(gè)芯片內(nèi)部集成了MCU和射頻芯片,如Freescale公司的MC1321x,TI公司的CC243x,Ember公司的EM250以及Jennic公司的JN5121和JN5139等[1-2]。其中,F(xiàn)reescale公司的MC1321x降低了ZigBee開發(fā)者對(duì)硬件射頻電路的要求,加速了ZigBee系統(tǒng)的開發(fā),同時(shí)具有較高的穩(wěn)定性和可靠性。
為了更好地推廣應(yīng)用ZigBee,本文對(duì)物理層協(xié)議及編程方法進(jìn)行了深入研究。物理層是ZigBee的關(guān)鍵技術(shù),完整的ZigBee協(xié)議包括應(yīng)用層(APL)、網(wǎng)絡(luò)層(NWK)、媒介接入控制層(MAC)和物理層(PHY)等。物理層通過操作底層硬件為上層提供服務(wù)接口,因此物理層的穩(wěn)定可靠關(guān)系到整個(gè)協(xié)議棧的健壯性,是其他層設(shè)計(jì)的基礎(chǔ)。
采用嵌入式構(gòu)件化的設(shè)計(jì)方法,可提高物理層設(shè)計(jì)的可移植性和可重用性,目前很少有人做這方面的工作。本文采用射頻片上系統(tǒng)(SoC)——MC13213設(shè)計(jì)了一個(gè)較通用的單芯片ZigBee硬件平臺(tái),分析和實(shí)現(xiàn)了ZigBee協(xié)議物理層,按照構(gòu)件化的方法進(jìn)行設(shè)計(jì),并對(duì)構(gòu)件進(jìn)行了詳細(xì)的測(cè)試,這不僅為基于物理層的簡(jiǎn)單應(yīng)用提供了方法,而且為后續(xù)的MAC層的應(yīng)用打下了基礎(chǔ)。
1 ZigBee物理層功能概述
ZigBee工作在免申請(qǐng)的工業(yè)科學(xué)醫(yī)療頻段。IEEE 802.15.4標(biāo)準(zhǔn)中定義了兩個(gè)可用的物理層:基于2.4 GHz頻段的“短距離”實(shí)現(xiàn)和基于868/915 MHz頻段的“長距離”實(shí)現(xiàn),兩者都使用直接序列擴(kuò)頻(DSSS)技術(shù)。中國目前的ZigBee工作頻段為2.4 GHz。
ZigBee物理層通過射頻固件和射頻硬件為MAC層和物理無線信道之間提供了服務(wù)接入點(diǎn)SAP(Service Access Point)。
IEEE 802.15.4定義的物理層參考模型如圖1所示。其中PD-SAP(PHY Data Service Access Point)是物理層提供給MAC層的數(shù)據(jù)服務(wù)接口,PLME-SAP(Physical Layer Management Entity-Service Access Point)是物理層提供給MAC層的管理服務(wù)接口,RF-SAP是由底層無線射頻驅(qū)動(dòng)程序提供給物理層的接口。
物理層主要完成以下工作:激活和禁用射頻收發(fā)器,對(duì)信道進(jìn)行能量檢測(cè)ED(Energy Detect),提供所接收數(shù)據(jù)包的鏈路質(zhì)量指示LQI(Link Quality Indication),空閑信道評(píng)估CCA(Clear Channel Assessment),信道頻率選擇,數(shù)據(jù)發(fā)送和接收等。
2 MC13213單芯片ZigBee物理層編程結(jié)構(gòu)
Freescale公司推出的單芯片ZigBee解決方案——MC13213采用SoC技術(shù),在9 mm×9 mm的LGA封裝內(nèi)集成了HCS08 MCU和遵循IEEE 802.15.4標(biāo)準(zhǔn)的第二代無線射頻收發(fā)器MC1320x[3-4] (后文中將用MCU和Modem分別代表MCU模塊和射頻收發(fā)器模塊)。具有4 KB的RAM、60 KB的Flash,1個(gè)串行外設(shè)接口(SPI),2個(gè)異步串行通信接口(SCI),1個(gè)鍵盤中斷模塊(KBI),2個(gè)定時(shí)器/脈寬調(diào)制TPM(Timer/PWM)模塊,1個(gè)8通道10位的模數(shù)轉(zhuǎn)換器(ADC),以及多達(dá)32個(gè)的GPIO口等[5]。Modem內(nèi)部已經(jīng)集成了功率放大器PA(Power Amplifier)、低噪聲放大器LNA(Low Noise Amplifier)和收/發(fā)開關(guān)(T/R switch),這在很大程度上降低了系統(tǒng)成本和射頻電路的設(shè)計(jì)難度。
2.1 Modem與MCU的交互方式
Modem可以通過SPI接口、IRQ中斷請(qǐng)求以及幾個(gè)狀態(tài)和控制信號(hào)與主控MCU實(shí)現(xiàn)交互,如圖2所示。
作者:吳瑾 潘啟勇 王宜懷 來源:電子技術(shù)應(yīng)用