李 彤,李 闖,常 成
(裝甲兵工程學(xué)院,北京 100072)
隨著各種便攜式通信設(shè)備與家用電器設(shè)備的增加,人們對短距離的無線通信提出了新的要求。一般來講,短距離無線通信技術(shù)從數(shù)據(jù)速率上可分為高速短距離無線通信和低速短距離無線通信2 類。高速短距離無線通信的最高數(shù)據(jù)速率高于100 Mbps/s,通信距離小于10 m,典型技術(shù)有UWB;低速短距離無線通信的最低數(shù)據(jù)速率低于1 Mbps/s,通信距離小于100 m,典型技術(shù)有ZigBee、IrDA、藍(lán)牙技術(shù)。高速短距離無線通信技術(shù)目前主要應(yīng)用于連接下一代便攜式消費(fèi)電器和通信設(shè)備,低速短距離無線通信技術(shù)主要用于家庭、工廠與倉庫的自動化控制、安全監(jiān)視、環(huán)境監(jiān)視、軍事行動、庫存實(shí)時(shí)跟蹤以及游戲和互動式玩具等方面的低速應(yīng)用。本文主要對低速短距離無線通信節(jié)點(diǎn)的設(shè)計(jì)進(jìn)行研究。
ZigBee 是近幾年興起的一種短距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本的雙向無線通信技術(shù)[1-6]。ZigBee 一詞源自蜜蜂群在發(fā)現(xiàn)花粉位置時(shí),通過跳Zigzag 形舞蹈來告知同伴,達(dá)到交換信息的目的。ZigBee 工作于2.4 GHz(全球流行)、915 MHz(美國)和868 MHz(歐洲)3 個(gè)頻段上,并分別具有250 kbps/s、40 kbps/s、20 kbps/s 的數(shù)據(jù)傳輸速率。它的傳輸距離在十幾米到一兩百米的范圍內(nèi),但還可以繼續(xù)增加。實(shí)際的傳輸距離必須根據(jù)發(fā)射功率的大小、應(yīng)用模式以及中繼節(jié)點(diǎn)的使用情況而定。一個(gè)ZigBee 網(wǎng)絡(luò)最多可以容納65 535 個(gè)從設(shè)備和1 個(gè)主設(shè)備,一個(gè)區(qū)域內(nèi)可以同時(shí)存在最多100 個(gè)ZigBee 網(wǎng)絡(luò)。在標(biāo)準(zhǔn)制定方面,完整的IEEE 802.15.4/ZigBee 協(xié)議由應(yīng)用層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層(包括MAC 和LLC)和物理層組成。IEEE 802.15.4 負(fù)責(zé)物理層和鏈路層標(biāo)準(zhǔn)的制定工作,而網(wǎng)絡(luò)層、應(yīng)用層和高層應(yīng)用規(guī)范則由ZigBee 聯(lián)盟制定。
ZigBee 協(xié)議的蓬勃發(fā)展源于其顯著的特點(diǎn):
1)低速率。最大只有250 kbps/s,專注于低速率傳輸應(yīng)用。
2)功耗低。一般來說,ZigBee 節(jié)點(diǎn)的供電電壓為2 ~4 V,工作模式下,電流為十幾至幾十毫安,休眠模式下電流可低至幾微安。
3)通信可靠性高,數(shù)據(jù)安全。ZigBee 采用了避免沖突的載波偵聽/沖突檢測(CSMA-CA),同時(shí)為需要固定帶寬的通信業(yè)務(wù)預(yù)留了專用時(shí)隙,避免了發(fā)送數(shù)據(jù)時(shí)的競爭和沖突。媒體接入層采用了完全確認(rèn)的數(shù)據(jù)傳輸機(jī)制,每個(gè)發(fā)送的數(shù)據(jù)包都必須等待接收方的確認(rèn)信息,因此通信可靠性高。
4)時(shí)延短。設(shè)備接入網(wǎng)絡(luò)快,通常時(shí)延都在15 ~30 ms。
5)網(wǎng)絡(luò)容量大。
6)成本低廉,工作頻段靈活。設(shè)備的復(fù)雜程度低,且ZigBee 協(xié)議免專利費(fèi),可以有效地降低設(shè)備成本。
根據(jù)ZigBee 技術(shù)的特點(diǎn),ZigBee 技術(shù)可以應(yīng)用于符合如下條件的情況:
1)傳輸數(shù)據(jù)量不大,要求設(shè)備成本低。
2)要求數(shù)據(jù)傳輸可靠性高,安全性高。
3)設(shè)備體積很小,不便放置較大的充電電池或者電源模塊。
4)地形復(fù)雜,監(jiān)測點(diǎn)多,需要較大的網(wǎng)絡(luò)覆蓋。
5)現(xiàn)有移動網(wǎng)絡(luò)的覆蓋盲區(qū)。
本研究使用的是北歐集成電路公司(NORDIC)2008年10月份推出的一款帶2.4 GHz 無線收發(fā)器nRF24L01 +和增強(qiáng)型8051 內(nèi)核的無線收發(fā)芯片nRF24LE1。nRF24LE1 是為超低功耗無線應(yīng)用設(shè)計(jì)的單片無線收發(fā)系統(tǒng),芯片內(nèi)部集成了高性能微處理器(與8051 指令兼容)、16kBFlash 存儲器、1 Kbps 數(shù)據(jù)空間(片內(nèi)RAM)、1 Kbps NV 非易失存儲器空間、512 字節(jié)NV 非易失數(shù)據(jù)存儲(擴(kuò)展壽命)、低功耗振蕩器、實(shí)時(shí)計(jì)數(shù)器、AES 硬件加密器、16 ~32 位乘法/除法協(xié)處理器(MDU)、隨機(jī)數(shù)發(fā)生器等功能模塊以及為低功耗設(shè)計(jì)的多種電源模式,支撐硬件調(diào)試和硬件支撐固件更新[7]。nRF24LE1 提供了一個(gè)理想的無線協(xié)議平臺,具有協(xié)議無縫連接、高安全性、低功耗以及高抗干擾的優(yōu)良性能。nRF24LE1 提供了SPI、2 線接口、UART、6 ~12 位ADC、PWM和一個(gè)低功耗的可作為系統(tǒng)電平喚醒的模擬比較器等外設(shè)接口,提供了3 種不同封裝形式:①具有7 個(gè)通用I/O 的超小型4 mm×4 mm 24 引腳QFN 封裝(圖1);②具有15 個(gè)通用I/O 的緊湊型5 mm×5 mm 32 引腳QFN 封裝;③具有31個(gè)通用I/O 的7 mm×7 mm 48 引腳QFN 封裝。
圖1 4 mm×4 mm 24 引腳QFN 封裝的nRF24LE1 引腳封裝形式
本文采用2 個(gè)nRF24LE1 模塊實(shí)現(xiàn)無線數(shù)據(jù)傳輸和數(shù)據(jù)接收,其中一個(gè)作為數(shù)據(jù)接收端RX,另一個(gè)作為數(shù)據(jù)發(fā)送端TX,結(jié)構(gòu)示意圖如圖2 虛線內(nèi)所示。為了便于觀察發(fā)送端發(fā)送的數(shù)據(jù)和接收端接收的數(shù)據(jù),通過串口將PC 機(jī)與nRF24LE1 模塊相連(如圖2 所示)。PC 機(jī)作為上位機(jī),通過串口將需要發(fā)送的數(shù)據(jù)發(fā)給nRF24LE1 發(fā)送端,nRF24LE1發(fā)送端通過無線發(fā)射傳輸?shù)絥RF24LE1 接收端,接收端將接收到的數(shù)據(jù)通過串口傳送到與之連接的計(jì)算機(jī)上。
nRF24LE1 有1 個(gè)串行接口(TXD 和RXD)。nRF24LE1的串口與計(jì)算機(jī)串口的電路如圖3 所示。nRF24LE1 采用3.3 V 的直流電壓供電,串行接口電平轉(zhuǎn)換芯片采用MAX3232。圖3 中CTS 和RTS 連接到nRF24LE1 的TXD和RXD。
圖2 無線通信結(jié)構(gòu)示意圖
圖3 nRF24LE1 和計(jì)算機(jī)串口的連接電路
2.2.1 數(shù)據(jù)包格式
nRF24LE1 射頻收發(fā)器內(nèi)核具有嵌入式協(xié)議引擎(增強(qiáng)型ShockBurst)。增強(qiáng)型ShockBurst 是一個(gè)以包為基礎(chǔ)的數(shù)據(jù)鏈路層,其功能包括包的自動裝配和設(shè)定裝配時(shí)間、自動應(yīng)答和自動重發(fā)。增強(qiáng)型ShockBurst 的數(shù)據(jù)包包括一個(gè)前置域、地址域、包控制域、數(shù)據(jù)載荷域和CRC 校驗(yàn)域。增強(qiáng)型ShockBurst 數(shù)據(jù)包格式如圖4 所示,最高位在左邊。
圖4 增強(qiáng)型ShockBurst 數(shù)據(jù)包格式
圖4中:前置域是一個(gè)用于同步接收解調(diào)器的位序列;地址域指的是接收機(jī)地址;包控制域包括6 位數(shù)據(jù)載荷長度、2 位PID(包標(biāo)識符)和1 位NO_ACK 標(biāo)志(無應(yīng)答標(biāo)志);數(shù)據(jù)載荷是用戶所定義的包的內(nèi)容;CRC(循環(huán)冗余校驗(yàn))是數(shù)據(jù)包中使用的錯(cuò)誤檢測機(jī)制。9 位包控制域的格式如圖5 所示,最低位在左邊。
圖5 9位包控制域的格式
圖5中:6 位的數(shù)據(jù)載荷長度用來確定數(shù)據(jù)載荷的字節(jié)長度;2位PID 域用來確定接收到的數(shù)據(jù)包是新的還是重發(fā)的;NO_ACK位用來選擇自動應(yīng)答功能。
2.2.2 射頻收發(fā)器的工作模式
射頻收發(fā)器可以配置為掉電模式(power down)、待機(jī)模式(standby)、接收模式和發(fā)射模式(RX 和TX)。射頻收發(fā)器的工作模式配置如表1 所列。
1)接收模式。接收模式是射頻收發(fā)器作為接收機(jī)時(shí)的工作模式。在接收模式,接收機(jī)將解調(diào)無線信道所接收到的信號,而且將收到并解調(diào)的數(shù)據(jù)不斷送到基帶協(xié)議處理引擎,基帶協(xié)議處理引擎將持續(xù)搜索有效的數(shù)據(jù)包。一旦發(fā)現(xiàn)有效的數(shù)據(jù)包(檢測相匹配的地址和正確的CRC 校驗(yàn)),有效的數(shù)據(jù)載荷將出現(xiàn)在RX FIFO 相應(yīng)的存儲單元中,如果RX FIFO 已滿,則所接收的數(shù)據(jù)將被丟棄。部分相關(guān)程序代碼如下:
表1 射頻收發(fā)器的工作模式配置
2)發(fā)射模式。發(fā)射模式用于發(fā)射數(shù)據(jù)包,射頻收發(fā)器將保持在發(fā)射模式,直到完成一個(gè)數(shù)據(jù)包的發(fā)送。部分相關(guān)程序代碼如下:
2.2.3 通過串口與計(jì)算機(jī)的交互
本文通過串口調(diào)試助手將待發(fā)數(shù)據(jù)傳給發(fā)送端,接收端將接受到的數(shù)據(jù)通過串口調(diào)試助手顯示到計(jì)算機(jī)顯示器上,如圖6 所示。
部分相關(guān)程序代碼如下:
圖6 接收端計(jì)算機(jī)顯示器截圖
本文介紹了基于ZigBee 協(xié)議的短距離無線通信節(jié)點(diǎn)的設(shè)計(jì),通過硬件和軟件方面的設(shè)計(jì)實(shí)現(xiàn)了兩節(jié)點(diǎn)間的無線通信。本設(shè)計(jì)可以用于無線遙控、無線監(jiān)測等領(lǐng)域,為以后通信節(jié)點(diǎn)的組網(wǎng)設(shè)計(jì)打下基礎(chǔ)。
[1]黃智偉,楊案江.超低功耗單片無線系統(tǒng)應(yīng)用入門[M].北京:北京航空航天大學(xué)出版社,2011.
[2]王欽. 基于ZigBee 技術(shù)的無線傳感網(wǎng)絡(luò)研究與實(shí)現(xiàn)[J].重慶理工大學(xué)學(xué)報(bào):自然科學(xué)版,2011,25(8):46-51.
[3]李文仲,段朝玉.短距離無線數(shù)據(jù)通信入門與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006.
[4]余成波,張一萌,張進(jìn),等.基于ZigBee 的糧庫環(huán)境監(jiān)測系統(tǒng)[J]. 重慶理工大學(xué)學(xué)報(bào):自然科學(xué)版,2010,24(10):51-55.
[5]孫彩云,李世中,李海軍.ZigBee 協(xié)議的研究及應(yīng)用[J].四川兵工學(xué)報(bào),2010(1):124-126.
[6]孫弋,韓曉冰,張衡偉,等.短距離無線通信及組網(wǎng)技術(shù)[M].西安:西安電子科技大學(xué)出版社,2008.
[7]肖林榮,應(yīng)時(shí)彥.2.4GHz 射頻收發(fā)芯片nRF24LE1 及其應(yīng)用[J].信息技術(shù),2009(12):13-16,20.