《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > IEEE 802.15.4的CC2530無(wú)線數(shù)據(jù)收發(fā)設(shè)計(jì)
IEEE 802.15.4的CC2530無(wú)線數(shù)據(jù)收發(fā)設(shè)計(jì)
單片機(jī)與嵌入式系統(tǒng)
李志方,鐘洪聲 電子科技大學(xué)
摘要: 基于TI公司的CC2530實(shí)現(xiàn)了IEEE802.15.4(ZigBee)的無(wú)線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)協(xié)議;在分析CSMA-CA算法的基礎(chǔ)上,重點(diǎn)討論了片內(nèi)集成的命令選通/CSMA-CA處理器的工作機(jī)制,同時(shí)組建了一個(gè)
Abstract:
Key words :

摘要:基于TI公司的CC2530實(shí)現(xiàn)了IEEE 802.15.4(ZigBee)的無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)協(xié)議;在分析CSMA-CA算法的基礎(chǔ)上,重點(diǎn)討論了片內(nèi)集成的命令選通/CSMA-CA處理器的工作機(jī)制,同時(shí)組建了一個(gè)小型星狀網(wǎng)絡(luò)。測(cè)試結(jié)果表明,在節(jié)點(diǎn)通信范圍內(nèi),節(jié)點(diǎn)收發(fā)的成功率和正確率均達(dá)到了100%。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò);IEEE 802.15.4;CC2530;CSMA-CA

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

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

2 CSMA-CA機(jī)制
    IEEE 802.15.4協(xié)議中采用CSMA-CA機(jī)制來(lái)避免數(shù)據(jù)沖突。根據(jù)是否采用信標(biāo),網(wǎng)絡(luò)分為非信標(biāo)網(wǎng)絡(luò)和信標(biāo)網(wǎng)絡(luò)兩種。非信標(biāo)模式下,節(jié)點(diǎn)使用CSMA-CA機(jī)制競(jìng)爭(zhēng)信道:節(jié)點(diǎn)隨機(jī)退避一段時(shí)間,執(zhí)行CCA(空閑信道評(píng)估),若信道IDLE則傳送數(shù)據(jù),若信道BUSY則重新等待一段隨機(jī)時(shí)間后執(zhí)行CCA。
    在信標(biāo)網(wǎng)絡(luò)中,將超幀劃分了16個(gè)時(shí)隙,因此執(zhí)行的退避時(shí)間都是以時(shí)隙為單位,CCA在退避周期的邊界處開(kāi)始執(zhí)行。圖1是IEEE 802.  15.4標(biāo)準(zhǔn)規(guī)定的CSMA-CA算法流程。

a.JPG

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

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

b.JPG

4 節(jié)點(diǎn)通信實(shí)現(xiàn)
4.1 通信機(jī)制
    CC2530是通過(guò)寄存器TXFIFO和RXFIFO來(lái)實(shí)現(xiàn)數(shù)據(jù)收發(fā)的。發(fā)送數(shù)據(jù)時(shí),往TXFIFO中寫(xiě)入數(shù)據(jù),無(wú)線電模塊自動(dòng)添加PHY層同步頭和FCS,通過(guò)選通命令STXON或STXONCCA發(fā)送數(shù)據(jù);數(shù)據(jù)接收完成時(shí),產(chǎn)生RXPKTDONE中斷,在中斷服務(wù)程序中通過(guò)讀取RXFIFO即可。
    本文根據(jù)IEEE 802.15.4協(xié)議,定義了精簡(jiǎn)的MAC層幀格式,如圖3所示。

c.JPG

    幀控制域占一個(gè)字節(jié)。其中,幀類(lèi)型占2位,00表示同步幀,01表示數(shù)據(jù)幀,10表示確認(rèn)幀,11表示命令幀;確認(rèn)請(qǐng)求占1位,1表示接收設(shè)備在接收到數(shù)據(jù)幀或命令幀時(shí)如果判斷其為有效幀就要向發(fā)送設(shè)備反饋一個(gè)確認(rèn)
幀,0表示該接收設(shè)備不需要反饋確認(rèn)幀。幀序號(hào)唯一標(biāo)識(shí)各個(gè)幀,用于確認(rèn)幀和數(shù)據(jù)幀或命令幀的匹配。目標(biāo)地址和源地址分別用2個(gè)字節(jié)表示。由于IEEE 802.15.4規(guī)范中定義了物理服務(wù)數(shù)據(jù)單元(PSDU)的最大長(zhǎng)度為127字節(jié),而其中的8字節(jié)已經(jīng)被使用,因此有效負(fù)載(pay-load)的字節(jié)長(zhǎng)度為1~119字節(jié)。
    數(shù)據(jù)發(fā)送有3種模式:非CSMA-CA、時(shí)隙CSMA-CA和非時(shí)隙CSMA-CA。待數(shù)據(jù)按上述格式寫(xiě)入TXFIFC)后,執(zhí)行“RFST—ISTXON”啟動(dòng)CSP程序。
    以下為基于時(shí)隙CSMA-CA模式的CSP程序代碼:
   d.JPG
4.2 實(shí)驗(yàn)結(jié)果
    本網(wǎng)絡(luò)是由一個(gè)中心節(jié)點(diǎn)及10個(gè)終端節(jié)點(diǎn)組成的星狀網(wǎng)。硬件采用由CC2530制作的傳感器板,測(cè)試數(shù)據(jù)由片內(nèi)自帶的溫度傳感器提供。
    如圖4所示,中心節(jié)點(diǎn)采用輪詢(xún)的方式采集終端數(shù)據(jù),通過(guò)串口顯示到上位機(jī)軟件上。其中,a代表中心節(jié)點(diǎn)發(fā)送的命令幀;b為上傳的數(shù)據(jù)幀;c為中心節(jié)點(diǎn)發(fā)送的確認(rèn)幀。終端節(jié)點(diǎn)采用非時(shí)隙CSMA-CA的方式發(fā)送數(shù)據(jù)。

e.JPG

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

f.JPG

結(jié)語(yǔ)
    本文設(shè)計(jì)了基于CC2530的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn),并詳細(xì)介紹了兩個(gè)節(jié)點(diǎn)之間點(diǎn)對(duì)點(diǎn)通信的實(shí)現(xiàn),同時(shí)對(duì)CSMA-CA算法進(jìn)行了詳細(xì)說(shuō)明。實(shí)驗(yàn)結(jié)果表明節(jié)點(diǎn)能夠正常通信。
    本文為進(jìn)一步的上層通信協(xié)議設(shè)計(jì)提供了基礎(chǔ),具有一定的參考價(jià)值。

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