《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)的設(shè)計
IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)的設(shè)計
摘要: 基于TI公司的CC2530實現(xiàn)了IEEE 802.15.4(ZigBee)的無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,,WSN)協(xié)議;在分析CSMA-CA算法的基礎(chǔ)上,,重點討論了片內(nèi)集成的命令選通/CSMA-CA處理器的工作機制,,同時組建了一個小型星狀網(wǎng)絡(luò),。測試結(jié)果表明,在節(jié)點通信范圍內(nèi),,節(jié)點收發(fā)的成功率和正確率均達到了100%,。
Abstract:
Key words :
摘要:基于TI公司的CC2530實現(xiàn)了IEEE 802.15.4(ZigBee)的無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)協(xié)議,;在分析CSMA-CA算法的基礎(chǔ)上,,重點討論了片內(nèi)集成的命令選通/CSMA-CA處理器的工作機制,同時組建了一個小型星狀網(wǎng)絡(luò),。測試結(jié)果表明,,在節(jié)點通信范圍內(nèi),,節(jié)點收發(fā)的成功率和正確率均達到了100%。

0 引言

基于IEEE 802.15.4的無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,,WSN)是綜合了傳感器技術(shù),、信息處理技術(shù)和無線通信技術(shù),采用大量的節(jié)點覆蓋監(jiān)測區(qū)域,,形成一個自組織網(wǎng)絡(luò)系統(tǒng),,目前已在自動控制、環(huán)境監(jiān)測等領(lǐng)域得到廣泛的應(yīng)用,。在對無線傳感器網(wǎng)絡(luò)MAC層深入研究的基礎(chǔ)上,,結(jié)合TI公司SoC芯片CC2530,實現(xiàn)了節(jié)點間的點對點通信功能,,為研究上層協(xié)議打下了基礎(chǔ),。

1 CC2530芯片簡介

CC2530是TI公司針對2.4GHz ISM頻帶推出的第二代支持ZigBee/IEEE 802.15.4協(xié)議的片上集成芯片。其內(nèi)部集成了高性能射頻收發(fā)器,、工業(yè)標(biāo)準(zhǔn)增強型8051MCU內(nèi)核,、256KB Flash ROM和8KB RAM。其主要特性:具有2個USART,、8位和16位定時器,、看門狗定時器、8路輸入可配置的12位ADC,、21個GPIO,、AES128協(xié)同處理器,硬件支持CSMA-CA,、數(shù)字化的RSSI/LQI和強大的DMA功能,,具備電池監(jiān)測和溫度感測功能;支持5種工作模式,,且轉(zhuǎn)換時間短,,可以較好地滿足超低功耗系統(tǒng)的要求;在接收和發(fā)送模式下,,電流損耗分別為24mA和29mA,。由于其硬件設(shè)計簡單,封裝小,,功耗低,,在無線傳感器網(wǎng)絡(luò)中得到了越來越廣泛的應(yīng)用。

2 CSMA-CA機制

IEEE 802.15.4協(xié)議中采用CSMA-CA機制來避免數(shù)據(jù)沖突,。根據(jù)是否采用信標(biāo),,網(wǎng)絡(luò)分為非信標(biāo)網(wǎng)絡(luò)和信標(biāo)網(wǎng)絡(luò)兩種。非信標(biāo)模式下,節(jié)點使用CSMA-CA機制競爭信道:節(jié)點隨機退避一段時間,,執(zhí)行CCA(空閑信道評估),,若信道IDLE則傳送數(shù)據(jù),若信道BUSY則重新等待一段隨機時間后執(zhí)行CCA,。

在信標(biāo)網(wǎng)絡(luò)中,,將超幀劃分了16個時隙,因此執(zhí)行的退避時間都是以時隙為單位,,CCA在退避周期的邊界處開始執(zhí)行,。圖1是IEEE 802.15.4標(biāo)準(zhǔn)規(guī)定的CSMA-CA算法流程。

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

每個節(jié)點在每次嘗試傳輸時都需要維護3個變量:后退次數(shù)NB,、競爭窗口CW和后退指數(shù)BE,。變量NB是嘗試當(dāng)前幀發(fā)送過程中CSMA-CA算法執(zhí)行隨機退避的次數(shù),,每個新的傳輸嘗試之前NB應(yīng)初始化為0,。在IEEE802.15.4中,定義NB的最大值為4,,如果節(jié)點經(jīng)過4次信道忙碌退避后仍然無法接入進行數(shù)據(jù)傳送,,則放棄數(shù)據(jù)傳送,并向上層報告,。變量CW是競爭窗口的長度,,它表示允許發(fā)送前要求信道連續(xù)空閑的時間,只用于時隙CSMA-CA算法,,可以給處理器處理不同時隙留有時間保護帶,,以免數(shù)據(jù)幀沖突。BE值的大小影響節(jié)點接入信道的能力,,若設(shè)置得過小,,起不到降低沖突的作用;設(shè)置得過大,,延時作用不明顯,。IEEE 802.15.4推薦的默認(rèn)值為3,最大值為5,。當(dāng)BE設(shè)為0時,,則只進行一次碰撞檢測。

3 命令選通協(xié)處理器

CC2530片上集成的命令選通協(xié)處理器(CSP)提供了MCU和無線電之間的接口,,有立即選通命令和程序執(zhí)行兩種模式,,可以處理MCU發(fā)出的命令。同時還有一個24字節(jié)的程序存儲器,,配合MAC定時器自動執(zhí)行CSMA-CA算法,,充當(dāng)MCU的協(xié)處理器。CSP復(fù)位后,,指令寫指針復(fù)位到位置0,,在每次RFST寫入期間指令寫指針累加1,,直到程序存儲器的終點。另外,,CSP還有4個寄存器:CSPT,、CSPX、CSPY和CSPZ,。MCU可以對它們讀寫,,設(shè)置CSP運行所需的參數(shù)。程序執(zhí)行模式下運行一個CSP的流程如圖2所示,。

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

4 節(jié)點通信實現(xiàn)

4.1 通信機制

CC2530是通過寄存器TXFIFO和RXFIFO來實現(xiàn)數(shù)據(jù)收發(fā)的,。發(fā)送數(shù)據(jù)時,往TXFIFO中寫入數(shù)據(jù),,無線電模塊自動添加PHY層同步頭和FCS,,通過選通命令STXON或STXONCCA發(fā)送數(shù)據(jù);數(shù)據(jù)接收完成時,,產(chǎn)生RXPKTDONE中斷,,在中斷服務(wù)程序中通過讀取RXFIFO即可。

本文根據(jù)IEEE 802.15.4協(xié)議,,定義了精簡的MAC層幀格式,,如圖3所示。

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

幀控制域占一個字節(jié),。其中,,幀類型占2位,00表示同步幀,,01表示數(shù)據(jù)幀,,10表示確認(rèn)幀,11表示命令幀,;確認(rèn)請求占1位,,1表示接收設(shè)備在接收到數(shù)據(jù)幀或命令幀時如果判斷其為有效幀就要向發(fā)送設(shè)備反饋一個確認(rèn)幀,0表示該接收設(shè)備不需要反饋確認(rèn)幀,。幀序號唯一標(biāo)識各個幀,,用于確認(rèn)幀和數(shù)據(jù)幀或命令幀的匹配。目標(biāo)地址和源地址分別用2個字節(jié)表示,。由于IEEE 802.15.4規(guī)范中定義了物理服務(wù)數(shù)據(jù)單元(PSDU)的最大長度為127字節(jié),,而其中的8字節(jié)已經(jīng)被使用,因此有效負(fù)載(pay-load)的字節(jié)長度為1~119字節(jié),。

數(shù)據(jù)發(fā)送有3種模式:非CSMA-CA,、時隙CSMA-CA和非時隙CSMA-CA。待數(shù)據(jù)按上述格式寫入TXFIFC)后,執(zhí)行“RFST—ISTXON”啟動CSP程序,。

以下為基于時隙CSMA-CA模式的CSP程序代碼:

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

4.2 實驗結(jié)果

本網(wǎng)絡(luò)是由一個中心節(jié)點及10個終端節(jié)點組成的星狀網(wǎng),。硬件采用由CC2530制作的傳感器板,測試數(shù)據(jù)由片內(nèi)自帶的溫度傳感器提供,。

如圖4所示,,中心節(jié)點采用輪詢的方式采集終端數(shù)據(jù),通過串口顯示到上位機軟件上,。其中,,a代表中心節(jié)點發(fā)送的命令幀;b為上傳的數(shù)據(jù)幀,;c為中心節(jié)點發(fā)送的確認(rèn)幀,。終端節(jié)點采用非時隙CSMA-CA的方式發(fā)送數(shù)據(jù)。

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

圖5所示測試結(jié)果表明:在節(jié)點通信半徑內(nèi),,當(dāng)輪詢時間大于等于15.36ms時,,節(jié)點間通信未丟失任何數(shù)據(jù)包,且沒有誤碼現(xiàn)象,。隨著節(jié)點距離增大,,節(jié)點丟包率逐漸上升,。周期時間隨著節(jié)點的增多而增大,,延時積累明顯。

IEEE 802.15.4的CC2530無線數(shù)據(jù)收發(fā)設(shè)計

5 結(jié)語

本文設(shè)計了基于CC2530的無線傳感器網(wǎng)絡(luò)節(jié)點,,并詳細(xì)介紹了兩個節(jié)點之間點對點通信的實現(xiàn),,同時對CSMA-CA算法進行了詳細(xì)說明。實驗結(jié)果表明節(jié)點能夠正常通信,。

本文為進一步的上層通信協(xié)議設(shè)計提供了基礎(chǔ),,具有一定的參考價值。

作者:李志方 鐘洪聲 電子科技大學(xué)   來源:單片機與嵌入式系統(tǒng)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。