基于CC2530的短距離無線通信系統(tǒng)的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
隨著半導(dǎo)體技術(shù)、無線通信技術(shù)的迅猛發(fā)展,短距離無線通信需求不斷增加。目前,短距離無線通信的技術(shù)標(biāo)準(zhǔn)包括 WiFi 技術(shù)、藍(lán)牙技術(shù)、ZigBee 技術(shù)。其中,ZigBee 技術(shù)具有低速率、低功耗、靈活組網(wǎng)等特點(diǎn),被廣泛應(yīng)用于無線傳感器網(wǎng)絡(luò)領(lǐng)域。TI 公司設(shè)計(jì)生產(chǎn)的 CC2530 是一個(gè)滿足ZigBee 技術(shù)標(biāo)準(zhǔn)的系統(tǒng)級SoC 芯片,TI 公司還開發(fā)出基于CC2530 芯片,符合 ZigBee 技術(shù)標(biāo)準(zhǔn)的軟件包 Z-Stack 協(xié)議棧[1-3]。Z-Stack 協(xié)議棧是一個(gè)復(fù)雜的軟件包,僅為用戶提供應(yīng)用函數(shù)接口,用戶無法靈活實(shí)現(xiàn)數(shù)據(jù)通信。因此,本文詳細(xì)說明了CC2530 的無線射頻參數(shù)、數(shù)據(jù)傳輸的幀格式及數(shù)據(jù)收發(fā)的流程控制,用戶可以開發(fā)適合自己工程應(yīng)用的無線通信系統(tǒng)。
1 硬件設(shè)計(jì)
1.1 CC2530處理器
CC2530 內(nèi)部主要包含增強(qiáng)型 8051 微控制器、無線數(shù)據(jù)收發(fā)器以及其他相關(guān)模塊,其具有高集成度、低電壓、低功耗等特點(diǎn) [4]。其中,無線數(shù)據(jù)收發(fā)器支持 IEEE 802.15.4 協(xié)議, 通信頻率為 2.4 GHz,傳輸速率為 250 kbps,非常適用于短距離無線通信。由于無線通信采用直接序列擴(kuò)頻技術(shù),具有抗噪聲干擾等優(yōu)點(diǎn),因此,即使發(fā)射信號功率較低也能實(shí)現(xiàn)準(zhǔn)確的數(shù)據(jù)通信。
1.2 外設(shè)電路
CC2530的電路系統(tǒng)如圖 1所示。CC2530芯片的引腳包含P0端口、P1 端口、P2端口、XOSC_Q1和 XOSC_Q1晶振引腳、RESET_N復(fù)位引腳、RF_N和 RF_P射頻信號引腳以及電源 VDD 和 GND 等[5-6],外設(shè)由天線、時(shí)鐘、復(fù)位系統(tǒng)、電源等組成。
2 軟件設(shè)計(jì)
為了實(shí)現(xiàn)無線數(shù)據(jù)傳輸,需要對 CC2530 芯片進(jìn)行編程控制,包含載波頻率的選擇、發(fā)射功率的控制、通信數(shù)據(jù)幀格式的設(shè)置、數(shù)據(jù)收發(fā)過程的控制等。
2.1 載波頻率和輸出功率
根據(jù) IEEE802.15.4—2006協(xié)議規(guī)定 [7],CC2530芯片內(nèi)部可選擇 16個(gè)載波頻率進(jìn)行數(shù)據(jù)傳輸,頻率范圍在 2.405~2.480GHz之間,中心頻率間步長為 5MHz,通道編號 k為11 ~26。通道 k 的實(shí)際頻率表達(dá)見式(1):
fc= 2 405+5(k-11),k∈[11,26](1)
為了得到通 道 k 的頻率, 通 過寄 存器 REQCTRL. FREQ[6 :0] 的 7 位數(shù)可以設(shè)置頻率,頻率設(shè)置見式(2):
FREQCTRL.FREQ=11+5(k-11),k∈[11,26](2)
在滿足一定通信距離的條件下,為了降低功耗,應(yīng)盡可能選擇較低的發(fā)射功率,由 TXPOWER 寄存器控制輸出不同的發(fā)射功率。發(fā)射功率設(shè)置見表 1 所列。
2.2 通信數(shù)據(jù)幀格式
CC2530 芯片收發(fā)的數(shù)據(jù)支持 IEEE 802.15.4—2006 的幀格式 [8],IEEE 802.15.4—2006 的幀格式如圖 2 所示。幀引導(dǎo)序列和幀開始定界符(SFD)構(gòu)成的同步頭(SHR)是 CC2530 芯片硬件自動(dòng)生成的無線通信同步信息,PHY 頭(PHY)和PHY 數(shù)據(jù)服務(wù)單元(PSDU)(MAC 協(xié)議數(shù)據(jù)單元)是軟件編程的有效數(shù)據(jù),開發(fā)人員參考 IEEE 802.15.4—2006 幀格式的內(nèi)容說明來設(shè)置相應(yīng)的參數(shù)。
2.3 數(shù)據(jù)收發(fā)過程
數(shù)據(jù)發(fā)送過程如圖 3 所示 [9]。
(1) 按照幀長度、MAC頭和 MAC負(fù)載的先后順序,使用 RFD寄存器將它們寫入數(shù)據(jù)緩沖器TX_FIFO中,TX_ FIFO最多可以存放 128 B 數(shù)據(jù),且一次只能產(chǎn)生一幀 ;
(2) CPU向無線收發(fā)器發(fā)出STXON或 STXONCCA選通指令,無線收發(fā)器將 TX_FIFO中的數(shù)據(jù)全部輸出;
(3) 在成功發(fā)送一個(gè)完整的數(shù)據(jù)幀后,產(chǎn)生 TX_DONE中斷信號。
數(shù)據(jù)接收過程如圖 4 所示。
(4) CPU向無線收發(fā)器發(fā)出SRXON選通指令,無線收發(fā)器準(zhǔn)備接收數(shù)據(jù) ;
(5) 在接收一幀數(shù)據(jù)的過程中, 幀引導(dǎo)序列和幀開始定界符 SFD不會(huì)寫入數(shù)據(jù)緩沖器 RX_FIFO, 只有幀長度、MAC頭和 MAC負(fù)載的有效數(shù)據(jù)會(huì)寫入 RX_FIFO中;
(6) 在準(zhǔn)確接收一幀數(shù)據(jù)后,產(chǎn)生 RXOK中斷信號。
3 通信抗干擾性設(shè)計(jì)
在無線通信過程中,極易受各種各樣的電磁波干擾,例如自然界的雷電干擾、電器設(shè)備故障干擾、地面電磁環(huán)境干擾等,這些干擾嚴(yán)重影響通信質(zhì)量。CC2530 芯片采用直接序列擴(kuò)頻(DSSS)技術(shù)和循環(huán)冗余校驗(yàn)(CRC)算法,可以保證數(shù)據(jù)傳輸的可靠性。
圖3 數(shù)據(jù)發(fā)送過程圖4 數(shù)據(jù)接收過程
直接序列擴(kuò)頻技術(shù)是一種增加發(fā)射信號帶寬的通信技術(shù) [10],發(fā)射后的擴(kuò)頻信號與發(fā)射前原始信號的頻帶寬度之比范圍為 10 ~100。接收數(shù)據(jù)時(shí),經(jīng)過解擴(kuò)處理降低干擾信號的功率譜密度,可有效抑制干擾信號。同時(shí)也能夠有效抑制相鄰信道的干擾,阻塞假象頻率的信號。
循環(huán)冗余檢查(CRC)算法是數(shù)據(jù)通信領(lǐng)域中最常用的檢錯(cuò)糾錯(cuò)方法。CC2530 芯片支持IEEE 802.15.4-2006 幀格式, 在幀結(jié)構(gòu)中 MAC 協(xié)議數(shù)據(jù)單元的幀尾包含一個(gè) 16 位的幀校驗(yàn)序列(FCS),F(xiàn)CS 是基于ITU-T 標(biāo)準(zhǔn)的 16 位循環(huán)冗余校驗(yàn)(CRC)算法。在發(fā)送數(shù)據(jù)時(shí),F(xiàn)CS 由硬件自動(dòng)生成,在接收數(shù)據(jù)時(shí),F(xiàn)CS 由硬件自動(dòng)驗(yàn)證。如果傳輸?shù)臄?shù)據(jù)受到干擾, FCS 驗(yàn)證出錯(cuò),接收的數(shù)據(jù)不會(huì)寫入 RX_FIFO 中。
4 結(jié) 語
綜上所述,本系統(tǒng)可以靈活設(shè)計(jì)無線射頻參數(shù)和無線通信數(shù)據(jù)幀,控制數(shù)據(jù)收發(fā)過程。實(shí)驗(yàn)表明,整個(gè)系統(tǒng)具有功耗低、抗干擾性強(qiáng)、軟件設(shè)計(jì)靈活等特點(diǎn),非常適用于智能家居監(jiān)控、農(nóng)業(yè)大棚的溫濕度監(jiān)測、路燈照明的智能控制等領(lǐng)域。