基于MC13213的單芯片ZigBee平臺的物理層協(xié)議研究與實現(xiàn)
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è)計和生產(chǎn)的。早期的ZigBee硬件都是微控制器(MCU)和IEEE 802.15.4射頻芯片分離的。隨著片上系統(tǒng)(SoC)的出現(xiàn),ZigBee硬件也發(fā)展到了在一個芯片內(nèi)部集成了MCU和射頻芯片,如Freescale公司的MC1321x,TI公司的CC243x,Ember公司的EM250以及Jennic公司的JN5121和JN5139等[1-2]。其中,F(xiàn)reescale公司的MC1321x降低了ZigBee開發(fā)者對硬件射頻電路的要求,加速了ZigBee系統(tǒng)的開發(fā),同時具有較高的穩(wěn)定性和可靠性。
本文引用地址:http://www.ex-cimer.com/article/201706/353110.htm為了更好地推廣應(yīng)用ZigBee,本文對物理層協(xié)議及編程方法進(jìn)行了深入研究。物理層是ZigBee的關(guān)鍵技術(shù),完整的ZigBee協(xié)議包括應(yīng)用層(APL)、網(wǎng)絡(luò)層(NWK)、媒介接入控制層(MAC)和物理層(PHY)等。物理層通過操作底層硬件為上層提供服務(wù)接口,因此物理層的穩(wěn)定可靠關(guān)系到整個協(xié)議棧的健壯性,是其他層設(shè)計的基礎(chǔ)。
采用嵌入式構(gòu)件化的設(shè)計方法,可提高物理層設(shè)計的可移植性和可重用性,目前很少有人做這方面的工作。本文采用射頻片上系統(tǒng)(SoC)——MC13213設(shè)計了一個較通用的單芯片ZigBee硬件平臺,分析和實現(xiàn)了ZigBee協(xié)議物理層,按照構(gòu)件化的方法進(jìn)行設(shè)計,并對構(gòu)件進(jìn)行了詳細(xì)的測試,這不僅為基于物理層的簡單應(yīng)用提供了方法,而且為后續(xù)的MAC層的應(yīng)用打下了基礎(chǔ)。
1 ZigBee物理層功能概述
ZigBee工作在免申請的工業(yè)科學(xué)醫(yī)療頻段。IEEE 802.15.4標(biāo)準(zhǔn)中定義了兩個可用的物理層:基于2.4 GHz頻段的“短距離”實現(xiàn)和基于868/915 MHz頻段的“長距離”實現(xiàn),兩者都使用直接序列擴(kuò)頻(DSSS)技術(shù)。中國目前的ZigBee工作頻段為2.4 GHz。
ZigBee物理層通過射頻固件和射頻硬件為MAC層和物理無線信道之間提供了服務(wù)接入點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ū)動程序提供給物理層的接口。
物理層主要完成以下工作:激活和禁用射頻收發(fā)器,對信道進(jìn)行能量檢測ED(Energy Detect),提供所接收數(shù)據(jù)包的鏈路質(zhì)量指示LQI(Link Quality Indication),空閑信道評估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個串行外設(shè)接口(SPI),2個異步串行通信接口(SCI),1個鍵盤中斷模塊(KBI),2個定時器/脈寬調(diào)制TPM(Timer/PWM)模塊,1個8通道10位的模數(shù)轉(zhuǎn)換器(ADC),以及多達(dá)32個的GPIO口等[5]。Modem內(nèi)部已經(jīng)集成了功率放大器PA(Power Amplifier)、低噪聲放大器LNA(Low Noise Amplifier)和收/發(fā)開關(guān)(T/R switch),這在很大程度上降低了系統(tǒng)成本和射頻電路的設(shè)計難度。
2.1 Modem與MCU的交互方式
Modem可以通過SPI接口、IRQ中斷請求以及幾個狀態(tài)和控制信號與主控MCU實現(xiàn)交互,如圖2所示。
SPI命令通道是Modem與MCU之間的主要交互方式,使用標(biāo)準(zhǔn)的4線SPI進(jìn)行通信。MCU通過SPI命令結(jié)構(gòu)可以讀/寫Modem的寄存器內(nèi)容、設(shè)置Modem的初始化參數(shù)、讀取Modem的狀態(tài)和控制信息。IRQ中斷為Modem提供了一種通知MCU有關(guān)Modem內(nèi)部所發(fā)生事件的方法,這樣就免除了MCU一直輪詢Modem,降低了MCU的運行開銷。ATTN用來把Modem從低功耗模式喚醒,RXTXEN用來允許Modem的發(fā)送、接收和CCA等操作。GPIO1引腳反映了Modem收發(fā)機(jī)是否忙,GPIO2引腳可以反映所接收數(shù)據(jù)包的循環(huán)冗余校驗CRC(Cyclical Redundancy Check)是否有效或者反映CCA的結(jié)果[6]。
2.2 Modem的SPI事務(wù)操作
SPI事務(wù)是在標(biāo)準(zhǔn)SPI協(xié)議基礎(chǔ)上實現(xiàn)的一個擴(kuò)展SPI協(xié)議。由于Modem中的寄存器和RAM大小都配置為16 bit即一個字(word)的寬度,所以它規(guī)定了每次SPI事務(wù)過程必須由1 B的頭(header)和2×N B的載荷(payload)組成,每個字節(jié)對應(yīng)一個SPI脈沖(SPI burst),其中1≤N≤64,且為整數(shù),代表每個SPI事務(wù)中所包含的字(word)數(shù),當(dāng)N=1時,稱為SPI單次事務(wù)(SPI singular transaction);其他情況稱為SPI循環(huán)事務(wù)(SPI recursive transaction)。header的最高位為R/W位,表示操作類型是讀還是寫;header的低6位是寄存器地址,表示了SPI操作的64個可能的寄存器地址(注意,有一部分寄存器沒有實現(xiàn))。
2.3 Modem的數(shù)據(jù)傳輸模式
Modem定義了兩種數(shù)據(jù)傳輸模式:Stream模式和Packet模式。在Stream模式中,數(shù)據(jù)的發(fā)送和接收是逐字(word-by-word)處理的。而在Packet模式中,發(fā)送時,發(fā)送方先將待發(fā)送數(shù)據(jù)緩存在Modem的發(fā)送緩沖區(qū)(TX RAM)中,然后再發(fā)送;接收時,接收方先在接收緩沖區(qū)(RX RAM)中緩存收到的整個數(shù)據(jù)包,然后再通知MCU來讀取。雖然Packet模式下數(shù)據(jù)的接收有稍許延遲,但其降低了對MCU的資源要求[7],在本協(xié)議棧實現(xiàn)過程中使用這種數(shù)據(jù)傳輸模式。
3 物理層構(gòu)件設(shè)計
基于MC13213單芯片的ZigBee平臺實現(xiàn)物理層協(xié)議構(gòu)件程序的設(shè)計,首先必須編寫底層硬件驅(qū)動程序,然后設(shè)置Modem的運行方式,再進(jìn)行數(shù)據(jù)包收發(fā)程序的設(shè)計等。
3.1 底層硬件驅(qū)動程序的實現(xiàn)
硬件驅(qū)動程序介于底層硬件和ZigBee協(xié)議棧之間,可以使得運行于硬件之上的ZigBee協(xié)議棧更易于維護(hù)和移植。其中芯片初始化程序?qū)CU的一些硬件模塊進(jìn)行正確的配置,以保證MCU可以正常工作。這里所做的主要配置包括:關(guān)閉看門狗,設(shè)置內(nèi)部時鐘模塊的校準(zhǔn)(trim)值,配置MCU的時鐘模塊等。
初始化完成后會涉及到SPI循環(huán)事務(wù)的實現(xiàn),下面以Packet模式下發(fā)送和接收3 B數(shù)據(jù)的完整過程來描述對Modem RX/TX RAM的SPI循環(huán)讀寫操作,如圖3所示。其中,RX/TX RAM的長度為128 B。圖中假定MCU均是以字節(jié)數(shù)組的形式來保存待發(fā)送或接收到的數(shù)據(jù)。
從圖3可以看出,讀/寫RAM時的SPI通信是最高有效位優(yōu)先(MSB-first)的,而在無線發(fā)送/接收過程中是最低有效位優(yōu)先LSB-first(Least Significant Bit first)的,但在編寫SPI循環(huán)讀寫操作時并不需要考慮上述兩種順序,也并不會導(dǎo)致接收方在接收發(fā)送方的數(shù)據(jù)時產(chǎn)生比特位順序的改變。
需要特別注意的是,由于SPI事務(wù)要求所有的數(shù)據(jù)傳輸都是按16 bit寬度進(jìn)行的,當(dāng)發(fā)送數(shù)據(jù)是奇數(shù)個字節(jié)時,其最后一字節(jié)數(shù)據(jù)要進(jìn)行特別處理,即需填充一個任意字節(jié)以湊滿16 bit寬度,但是這個拼湊的字節(jié)和最后那個有效字節(jié)的發(fā)送順序必須按照圖3中的順序進(jìn)行,即先發(fā)填充字節(jié),以保證在TX RAM中,最后一字節(jié)緊跟在前面的偶數(shù)個字節(jié)之后。而在最后一字節(jié)數(shù)據(jù)之前的偶數(shù)個字節(jié)數(shù)據(jù)由于是16 bit寬度的倍數(shù),所以在發(fā)送每個字時對字節(jié)發(fā)送順序沒有特別要求,只要接收方和發(fā)送方按照同一種順序收發(fā)各字節(jié)即可。
3.1.1 使用SPI循環(huán)寫事務(wù)向TX RAM中寫入待發(fā)送數(shù)據(jù)
執(zhí)行這個操作之前,待發(fā)送數(shù)據(jù)長度應(yīng)已經(jīng)寫入TX_Pkt_Control寄存器的tx_pkt_length[6:0]字段。
MCU向TX RAM中寫入待發(fā)送數(shù)據(jù)的一般流程如下:
(1)根據(jù)需要配置TX_Pkt_Control寄存器的tx_ram2_select位,以選擇使用兩塊TX RAM中的一塊。
(2)計算寫入待發(fā)送數(shù)據(jù)所需要的SPI脈沖個數(shù),注意:
①CRC字節(jié)不需寫入到TX RAM中,它是由硬件自動產(chǎn)生的;
②待發(fā)送數(shù)據(jù)的最大長度為125 B(去掉2 B的CRC);
③必須為偶數(shù)個字節(jié),若數(shù)據(jù)長度為奇數(shù)個字節(jié),應(yīng)加1使其變?yōu)榕紨?shù)。
(3)做一個SPI循環(huán)寫事務(wù)來寫入數(shù)據(jù):
①MCU拉低SPI模塊的片選信號CE,選中Modem;
②MCU向Modem發(fā)送第一個SPI脈沖,其中R/W位應(yīng)為0,表示寫操作;
③按照(2)中計算的SPI脈沖個數(shù),寫入待發(fā)送數(shù)據(jù);
④MCU拉高CE,使片選失效;
(4)整個寫操作結(jié)束。
3.1.2 使用SPI循環(huán)讀事務(wù)讀取RX RAM中的已接收數(shù)據(jù)
MCU讀取RX RAM中的已接收數(shù)據(jù)的一般流程如下:
(1)MCU讀Modem的RX_Status寄存器rx_pkt_latch[6:0]字段以獲取數(shù)據(jù)長度。
(2)計算讀取RX RAM中的已接收數(shù)據(jù)所需要的SPI脈沖個數(shù):
①通常不讀取2 B的CRC,所以數(shù)據(jù)長度應(yīng)減去2;
②若數(shù)據(jù)長度為奇數(shù)個字節(jié),應(yīng)加1使其變?yōu)榕紨?shù);
③按照Modem SPI事務(wù)協(xié)議的規(guī)定,應(yīng)丟棄讀到的第一個字(word),因為在第一次讀取時,內(nèi)部RAM的地址還沒有準(zhǔn)備好,這樣又導(dǎo)致了數(shù)據(jù)長度加2。
(3)做一個SPI循環(huán)讀事務(wù)來讀取數(shù)據(jù):
①MCU拉低SPI模塊的片選信號CE,選中Modem;
②MCU向Modem發(fā)送第一個SPI脈沖,其中R/W位應(yīng)為1,表示讀操作;
③按照(2)中計算的SPI脈沖個數(shù)讀取所有數(shù)據(jù)。注意,協(xié)議規(guī)定應(yīng)丟棄讀到的第一個字(word)。當(dāng)數(shù)據(jù)為奇數(shù)個字節(jié)時,應(yīng)丟棄圖3中的那個填充字節(jié);
④MCU拉高CE,使片選失效。
(4)整個讀操作結(jié)束。
3.2 設(shè)置Modem運行模式
Modem有多種運行模式,主要可分成兩類:活動模式和低功耗模式。其中活動模式包括Idle模式、Receive(RX)模式、Transmit(TX)模式和CCA/ED模式;低功耗模式包括Off模式、Hibernate模式、Doze模式[8]。
Idle模式是Modem退出任何其他模式后的默認(rèn)模式,也是進(jìn)入任何其他模式的初始模式;RX、TX模式分別為Modem接收、發(fā)送數(shù)據(jù)時所處的工作模式;CCA/ED模式為空閑信道評估/能量檢測時所處的工作模式,用來評估信道是否空閑或測量信道的當(dāng)前能量值[8]。
收發(fā)機(jī)狀態(tài)設(shè)置是通過調(diào)用設(shè)置收發(fā)狀態(tài)函數(shù)實現(xiàn)的,其函數(shù)頭如下:
//-----------------------------------------*
//功能: 設(shè)置收發(fā)機(jī)狀態(tài)函數(shù),把收發(fā)機(jī)設(shè)置成用戶期望的狀態(tài)
//參數(shù): nDesiredStatus - 用戶期望狀態(tài)
//返回: SUCCESS - 成功設(shè)置成指定模式;
// 等于用戶期望模式-收發(fā)機(jī)之前就處于用戶期望狀態(tài);
// 其他 - 表示執(zhí)行失??;
//說明: 無
//----------------------------------------*
INT8U PLMESetTRXState(INT8U nDesiredStatus);
3.3 物理層數(shù)據(jù)包的收發(fā)
物理層數(shù)據(jù)稱為物理層數(shù)據(jù)單元PPDU(PHY Protocol Data Unit),包括同步包頭、物理層包頭和物理層載荷三部分[3],如圖4所示。其中同步包頭可以使得接收設(shè)備鎖定在比特流上,并與比特流保持同步;物理層包頭包含了數(shù)據(jù)包的長度信息,在0~127之間;物理層服務(wù)數(shù)據(jù)單元PSDU(PHY Service Data Unit)也稱物理層載荷,攜帶MAC層的幀信息,即MAC層協(xié)議數(shù)據(jù)單元MPDU(MAC Protocol Data Unit)。注意,CRC檢驗字節(jié)包含在PSDU中的最后兩字節(jié)中。
物理層數(shù)據(jù)包的發(fā)送和接收比較簡單,對于MC13213的Modem來說,用戶所要做的只是調(diào)用SPI循環(huán)事務(wù)寫入或讀取物理層包頭和載荷,然后拉高RXTXEN引腳使能Modem的發(fā)送和接收即可。PPDU的同步包頭是由硬件自動添加的。
(1)物理層數(shù)據(jù)包的發(fā)送
Packet模式下發(fā)送數(shù)據(jù)包的過程是在物理層數(shù)據(jù)請求函數(shù)中實現(xiàn)的,在函數(shù)實現(xiàn)過程中,應(yīng)根據(jù)要求,向上層通知數(shù)據(jù)發(fā)送結(jié)果的狀態(tài)信息。其函數(shù)頭如下:
//------------------------------------------------*
//功能: 數(shù)據(jù)請求函數(shù),生成物理層協(xié)議數(shù)據(jù)單元(PPDU)并無線發(fā)送出去
//參數(shù): nPSDULength-物理層PSDU(即MAC層的MPDU)中的字節(jié)數(shù),
// 長度要=aMaxPHYPacketSize(物理層最大數(shù)據(jù)包容量)
// pPSDU - 指向物理層PSDU數(shù)據(jù)的指針
//返回: SUCCESS - 發(fā)送成功;其他值 - 發(fā)送失敗
//說明: 由MAC層調(diào)用
//-----------------------------------------*
INT8U PDDataRequest(INT8U nPSDULength, INT8U *pPSDU);
(2)物理層數(shù)據(jù)包的接收
一般情況下,Modem的接收機(jī)是關(guān)閉的。當(dāng)Modem接收機(jī)處于打開狀態(tài)時有其他Modem在同一信道上發(fā)送數(shù)據(jù),則Modem會接收到這些數(shù)據(jù)。
本協(xié)議棧實現(xiàn)Packet模式下接收數(shù)據(jù)包時,為物理層數(shù)據(jù)包實現(xiàn)了一個環(huán)形的接收緩沖區(qū),以保證數(shù)據(jù)的及時可靠接收,其結(jié)構(gòu)定義如下:
//PSDU最大數(shù)據(jù)包長度(不包括CRC)
#define PSDUMaxLen 125
//PSDU數(shù)據(jù)包定義
typedef struct PSDURxPacket_tag
{ INT8U m_nLen;
INT8U m_nData[PSDUMaxLen];
INT8U m_nStatus;
INT8U m_nLQI;
} PSDURxPacket_t;
//PSDU數(shù)據(jù)接收緩沖區(qū)個數(shù)
#define PSDURxBufferNum 8
//PSDU數(shù)據(jù)接收緩沖區(qū)定義
typedef struct PSDURxBuffer_tag
{ INT8U m_nPSDUCount;
INT8U m_nHead;
INT8U m_nTrail;
PSDURxPacket_t m_sPSDU[PSDURxBufferNum];
} PSDURxBuffer_t;
//定義PSDU環(huán)形接收緩沖區(qū)
static PSDURxBuffer_t s_sPSDURxBuffer;
3.4 其他編程相關(guān)說明
空閑信道評估(CCA)用來判斷信道是否空閑。能量檢測(ED)用來測量目標(biāo)信道中接收信號的功率強(qiáng)度,由于這個檢測本身不進(jìn)行解碼操作,所以檢測結(jié)果是有效信號功率和噪聲信號功率之和。另外,鏈路質(zhì)量指示(LQI)提供了接收數(shù)據(jù)包時無線信號的強(qiáng)度和信道質(zhì)量信息。與能量檢測不同的是,LQI要對信號進(jìn)行解碼,生成的是一個信噪比指標(biāo)。這個信噪比指標(biāo)和物理層數(shù)據(jù)單元一起提交給上層處理。Modem中RX_Status寄存器的cca_final[7:0]字段保存了以上操作的結(jié)果值。
當(dāng)Modem完成MCU指定的某個功能(如發(fā)送完成、接收完成、CCA/ED完成等),就會產(chǎn)生IRQ中斷,然后MCU會讀取Modem的IRQ狀態(tài)寄存器,針對不同的IRQ中斷類型分別進(jìn)行處理。
物理層管理實體(PLME)維護(hù)了物理層正常工作所必須的一些屬性參數(shù),包括物理層支持的信道列表、當(dāng)前用于發(fā)送和接收的信道、物理層的發(fā)射功率以及CCA模式4個屬性。每個屬性都有一個唯一的屬性標(biāo)識符,并且某些屬性還有一些特定的取值范圍。屬性的讀和寫分別由屬性設(shè)置和讀取函數(shù)來實現(xiàn),由于物理層的屬性較少,直接通過switch/case語句實現(xiàn)即可。
4 物理層構(gòu)件測試
按照前面分析的ZigBee物理層編程結(jié)構(gòu)編寫測試程序,可用于對物理層的構(gòu)件功能進(jìn)行測試。測試可先進(jìn)行SPI單次讀寫事務(wù)測試,然后再進(jìn)行數(shù)據(jù)包收發(fā)測試。
4.1 SPI單次讀寫事務(wù)的正確性測試
在對Modem的內(nèi)部寄存器初始化之前,可利用SPI單次讀事務(wù)獲取Modem寄存器的內(nèi)容,并通過串口輸出顯示與Modem寄存器的復(fù)位值對比是否一致。接著利用SPI單次寫事務(wù),對Modem進(jìn)行初始化,初始化后,再把修改后的Modem寄存器的內(nèi)容通過串口輸出顯示,與修改值比較,即可得出SPI寫事務(wù)是否正確。
4.2 物理層數(shù)據(jù)包的收發(fā)測試
物理層數(shù)據(jù)包的收發(fā)測試需要一個發(fā)送節(jié)點和一個接收節(jié)點相互配合。對于能否正確收發(fā)需要測試兩種情況,發(fā)送節(jié)點分別發(fā)送奇數(shù)個和偶數(shù)個字節(jié)的數(shù)據(jù),看接收節(jié)點能否正確收到。這部分的測試是借助于串口調(diào)試工具來完成的,接收節(jié)點把收到的數(shù)據(jù)發(fā)往PC機(jī)串口顯示。
物理層數(shù)據(jù)包收發(fā)的可靠性測試條件如下:一個發(fā)送節(jié)點和一個接收節(jié)點,二者相距5 m左右,其中發(fā)送節(jié)點每次發(fā)送長度為20 B的數(shù)據(jù),并且數(shù)據(jù)中的最后2 B作為一個16 bit的整數(shù),用來記錄發(fā)送次數(shù),每發(fā)送一次其值加1。發(fā)送節(jié)點何時開始發(fā)送數(shù)據(jù)由PC方測試軟件控制,接收節(jié)點負(fù)責(zé)接收數(shù)據(jù)并發(fā)給PC端測試軟件顯示,通過比較發(fā)送字節(jié)數(shù)與接收字節(jié)數(shù)以及數(shù)據(jù)中的發(fā)送次數(shù)字段,可以得出數(shù)據(jù)丟失情況。所有的測試數(shù)據(jù)會寫入后臺的ACCESS數(shù)據(jù)庫中,以供將來進(jìn)行數(shù)據(jù)的統(tǒng)計分析。試驗中測試的一組數(shù)據(jù)如表1所示,丟包率不超過0.1%。
本文研究了ZigBee協(xié)議物理層的SPI事務(wù)協(xié)議、Modem的工作模式等關(guān)鍵技術(shù)和編程方法,實現(xiàn)了基于單芯片ZigBee平臺的構(gòu)件化的底層硬件驅(qū)動程序和物理層數(shù)據(jù)包收發(fā)程序。測試表明,此硬件平臺穩(wěn)定可靠、實現(xiàn)容易,不但方便了其他研究人員學(xué)習(xí)和實踐ZigBee技術(shù),降低了研究ZigBee技術(shù)的門檻,還由于采用了單芯片設(shè)計和構(gòu)件化設(shè)計方法,具有較高的可移植性和可重用性,使其很容易應(yīng)用到實際項目中。同時為ZigBee協(xié)議棧后續(xù)其他層的研究和實現(xiàn)打下了基礎(chǔ),并為其他協(xié)議的應(yīng)用研究提供了參考。
參考文獻(xiàn)
[1] 劉新,吳秋峰.無線個域網(wǎng)技術(shù)及相關(guān)協(xié)議[J].計算機(jī)工程,2006,32(22):102-103.
[2] 吳光榮,章劍雄.ZigBee網(wǎng)絡(luò)系統(tǒng)節(jié)點硬件設(shè)計與實現(xiàn)[J].杭州電子科技大學(xué)學(xué)報,2008,28(4):49-52.
[3] IEEE. Wireless Medium Access Control (MAC) and Physical Layer(PHY) specifications for low-rate wireless personal area networks[S]. IEEE Std 802.15.4-2006, September 2006.
[4] IEEE. Wireless medium access control(MAC) and physical layer(PHY) specifications for low-rate wireless personal area networks[S]. IEEE Std 802.15.4-2003, October 2003.
[5] ZigBee Alliance. ZigBee specification[EB/OL]. http://www.zigbee. org/en/spec-download, 2007.
[6] Freescale. MC13213: 2.4GHz RF transceiver and 8-bit MCU with 60K of flash for ZigBee applications[EB/OL]. http://www.freescale.com/webapp/sps/site/prod_summary. jsp?code=MC13213nodeId=0106B9869925657103, 2009.
[7] Freescale. MC13224V: MC1322x platform in a package[EB/OL]. http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MC13224VnodeId=0106B9869925657103, 2009.
[8] Freescale. MC13213RM. pdf[DB/OL]. http: //www. freescale. com/, 2009.
評論