基于AT86RF230 ZigBee的WPAN網(wǎng)絡(luò)設(shè)備設(shè)計(jì)
關(guān)鍵詞 ZigBee IEEE802.15.4 WPAN AT86RF230
2002年英國(guó)Invensys、日本三菱電氣、美國(guó)Motorola三家公司宣布組成ZigBee技術(shù)聯(lián)盟,共同研究ZigBee技術(shù)。IEEE也于2003年制定了針對(duì)LR-WPAN(LowRate Wireless Personal Area Networks)的IEEE 802.15.4-2003無(wú)線規(guī)范,定義了一種新的無(wú)線設(shè)備的物理層和MAC層,并致力于開發(fā)一種可應(yīng)用在固定、便攜或移動(dòng)設(shè)備上的,低成本、低功耗和低速率的無(wú)線連接技術(shù),其目標(biāo)功能是自動(dòng)化控制,采用DSSS擴(kuò)頻技術(shù),有效覆蓋范圍根據(jù)不同速率可達(dá)0~300 m。
IEEE 802.15.4—2003協(xié)議共規(guī)定了27個(gè)通信信道:868 MHz有1個(gè),速率為20 kbps;915 MHz有l(wèi)O個(gè),速率為40 kbps;2.45 GHz有16個(gè),速率為250 khps。支持星形、樹形和網(wǎng)狀3種拓?fù)浣Y(jié)構(gòu),按照功能劃分網(wǎng)絡(luò)中有完全功能(FFD)和簡(jiǎn)化功能(RFD)兩種不同類型的設(shè)備。為了簡(jiǎn)化協(xié)議,IEE:E 802.15.4—2003滿足OSI參考模型,規(guī)定了物理層和MAC層,每一層完成自身所規(guī)定的任務(wù),并向上層提供服務(wù)任務(wù)接口。協(xié)議中數(shù)據(jù)通信方式可分為直接數(shù)據(jù)傳送和間接數(shù)據(jù)傳送兩種,并且以數(shù)據(jù)幀的形式打包發(fā)送出去。網(wǎng)絡(luò)可以在超幀和非超幀的模式下工作,為了提高其可靠性采用了CSMA/CA的媒質(zhì)訪問控制機(jī)制、確認(rèn)幀的應(yīng)答方式和CRC-16 ITU的校驗(yàn)機(jī)制,并可以加入一些數(shù)據(jù)加密和安全控制模式。出于低功耗、低成本考慮,物理層只有14條服務(wù)原語(yǔ),MAC層有35條原語(yǔ)。與藍(lán)牙相比,這些原語(yǔ)只是它的1/3。
1 硬件電路設(shè)計(jì)
一般情況下IEEE802.15.4網(wǎng)絡(luò)設(shè)備的基本構(gòu)成如圖l所示。系統(tǒng)的電源通常由電池提供,也可以由穩(wěn)壓模塊供給。RF收發(fā)芯片負(fù)責(zé)射頻信號(hào)的產(chǎn)生和接收解調(diào),其基準(zhǔn)時(shí)鐘由外部高精度的晶體振蕩器提供;同時(shí)要實(shí)現(xiàn)一些物理層和MAC層的基本功能,例如編解碼、信道選擇、功率控制、接收機(jī)能量檢測(cè)(RSSI)、鏈路質(zhì)量指示(LQI)、空閑信道評(píng)估(CCA)和硬件CRC校驗(yàn)等。在實(shí)現(xiàn)這些基本功能的前提下,RF芯片應(yīng)該盡量做到低功耗、高靈敏度和較小封裝。微控制器要有豐富的資源來完成對(duì)RF芯片的控制,以及對(duì)傳感器、各類應(yīng)用接口和用戶接口的實(shí)時(shí)響應(yīng)。通常協(xié)議棧需要占用32 KB左右的存儲(chǔ)空間。
1.1 AT86RF230性能和內(nèi)部結(jié)構(gòu)
Atmcl公司的AT86RF230是與ZigBee/IEEE802.15.4兼容的無(wú)線射頻收發(fā)芯片。它工作在2.4 GHz ISM頻段,擁有104dB鏈路預(yù)算,-101 dB的接收靈敏度和3 dB的傳輸功率,從而減少網(wǎng)絡(luò)中所需節(jié)點(diǎn)設(shè)備的總數(shù),大大降低了IEEE 802.15.4系統(tǒng)的組網(wǎng)成本。所有RF關(guān)鍵器件(除了天線、晶振、去耦電容外)都集成在一塊芯片中,封裝形式采用32引腳、5 mm×5mm×0.9mm大小的QFN封裝。由該芯片所構(gòu)成的設(shè)備僅需6個(gè)外部組件,功能框圖如圖2所示。終端節(jié)點(diǎn)通常是電池供電,發(fā)射模式下電流消耗為17 mA,接收模式下為15 mA,睡眠模式下僅為O.7μA;工作電壓可達(dá)1.8~3.6V,內(nèi)部有集成的1.8V LDO。AT86RF230內(nèi)部有35個(gè)可以通過SPI控制時(shí)序訪問的8位寄存器,工作時(shí)有8個(gè)基本狀態(tài)(可以根據(jù)需要擴(kuò)展為14個(gè))。片內(nèi)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的緩沖分別為129字節(jié)和130字節(jié),正好可以滿足IEEE802.15.4協(xié)議規(guī)定的最大幀長(zhǎng)度127字節(jié)的要求。發(fā)送時(shí)需要加2字節(jié)的CRCl6校驗(yàn)碼,接收時(shí)還要多加1字節(jié)的鏈路質(zhì)量指示。
1.2 網(wǎng)絡(luò)設(shè)備的硬件電路構(gòu)成
硬件主要部分原理圖如圖3所示,模塊的數(shù)字接口為ATmega128l與AT86RF230之間的SPI接口以及其他4條控制線。AT-megal28l是Atmel公司的8位高性能的AVR單片機(jī)。其基本特征有:采用RISC構(gòu)架,具有135條指令,工作在16MHz時(shí)吞吐率可達(dá)16MIPS;片內(nèi)具有128 KB Flash、4 KB片內(nèi)E2PROM和8 KB SRAM,可以通過ISP或JTAG下載程序;工作頻率最高可達(dá)16 MHz,工作電壓為l.8~5.5V,掉電模式下只有O.1μA的工作電流。在本設(shè)計(jì)中ATmegal281工作于內(nèi)部為8 MHz的振蕩頻率下。如果要采用與AT86RF230同步的外部時(shí)鐘信號(hào),那么CLKM引腳應(yīng)接到ATmegal281的XTAL1腳上,并且熔絲位要設(shè)置為外部時(shí)鐘。AT86RF230的各種工作狀態(tài)中斷信號(hào)由IRQ腳控制,這里接到ATmegal28l的ICPl腳產(chǎn)生捕獲中斷,因?yàn)椴东@中斷可通過設(shè)置噪聲消除方式來減少外界的干擾,從而提高中斷的可靠性。有關(guān)AT86RF230寄存器SPI讀寫時(shí)序、狀態(tài)轉(zhuǎn)換圖及各種中斷控制的具體方法可以參閱參考文獻(xiàn)。還需注意,AT86RF230所接外部晶振X1的長(zhǎng)期工作頻率穩(wěn)定度要小于等于40 ppm,并根據(jù)晶振和芯片的驅(qū)動(dòng)能力選擇合適的負(fù)載電容。
對(duì)于模擬部分設(shè)計(jì),為了降低其他部分的干擾,提高RF性能,需要采取抗干擾措施。例如,模擬電源輸入端增加磁珠或電感;AT86RF230模擬地和數(shù)字地要分開布線,并在一點(diǎn)接地;為了減小分布參數(shù)的影響,鋪地要盡可能大,并且要適當(dāng)打上過孔;濾波用的電容也要盡量靠近芯片。另外,要注意阻抗匹配,AT86RF230天線端口為2路100Ω的差分輸出,可直接接差分饋電的天線,但缺點(diǎn)是阻抗匹配和測(cè)試都比較困難,一般可以用巴倫把2路100Ω的差分輸出變換成一路50Ω輸出,然后接各類單端饋電的天線。在控制RF信號(hào)輸出腳PCB導(dǎo)線的阻抗時(shí),可以采用圖4所示的模型。
根據(jù)選定參數(shù)使用Agilent公司提供的免費(fèi)軟件Ap-pCAD,進(jìn)入Passive Circuits界面選擇相應(yīng)模型。本設(shè)計(jì)選用Coplanar Waveguide模型,輸入?yún)?shù)后便可計(jì)算出饋線的特性阻抗。若根據(jù)計(jì)算結(jié)果設(shè)計(jì)出的饋線實(shí)際測(cè)試情況阻抗達(dá)不到50Ω,則可以通過增加電感L2,及相應(yīng)電容C1或C2來實(shí)現(xiàn)50Ω匹配。天線選型方面既可選用雙端100Ω的差分天線,也可選用50Ω的單端天線,只要按需增建雙端到單端變換的巴倫即可。使用偶板子或F型的PCB天線,優(yōu)點(diǎn)是可以獲得相對(duì)較高的增益,抗干擾能力強(qiáng);片狀天線體積小,但增益不高,易受干擾。
2 軟件設(shè)計(jì)
軟件開發(fā)環(huán)境為AVRSTUDIO+AVRGCC。這兩個(gè)軟件均是免費(fèi)的。軟件設(shè)計(jì)主要包括射頻驅(qū)動(dòng)、外圍電路控制和ZigBee協(xié)議棧設(shè)計(jì)3個(gè)部分?;贗EEE802.15.4協(xié)議的WPAN網(wǎng)絡(luò)中的協(xié)調(diào)器和網(wǎng)絡(luò)節(jié)點(diǎn)的軟件流程基本相同,只是網(wǎng)絡(luò)協(xié)調(diào)器要承擔(dān)網(wǎng)絡(luò)建立的功能,網(wǎng)絡(luò)節(jié)點(diǎn)則要承擔(dān)一些控制或測(cè)量的功能。為了與其他ZigBee產(chǎn)品相兼容,軟件設(shè)計(jì)必須嚴(yán)格遵守IEEE 802.15.4協(xié)議。本設(shè)計(jì)建立的網(wǎng)絡(luò)拓?fù)涫欠浅瑤Y(jié)構(gòu)的星形網(wǎng)絡(luò),具體軟件流程如圖5所示。
基本過程為:網(wǎng)絡(luò)協(xié)調(diào)器首先初始化WPAN信息數(shù)據(jù)庫(kù),建立ZigBee網(wǎng)絡(luò),分配網(wǎng)絡(luò)ID號(hào)和16位網(wǎng)絡(luò)地址,初始化鄰居設(shè)備表,然后等待其他節(jié)點(diǎn)連接;網(wǎng)絡(luò)節(jié)點(diǎn)上電后,初始化內(nèi)部資源、網(wǎng)絡(luò)節(jié)點(diǎn)的WPAN信息數(shù)據(jù)庫(kù),發(fā)送掃描信號(hào)請(qǐng)求連接,連接成功后,記錄下網(wǎng)絡(luò)ID和分配好的16位網(wǎng)絡(luò)地址,按功能設(shè)定向協(xié)調(diào)器發(fā)送信息。因?yàn)榫W(wǎng)絡(luò)節(jié)點(diǎn)一般為電池供電,所以在空閑時(shí)要進(jìn)入休眠節(jié)能狀態(tài)。外圍電路控制主要是針對(duì)傳感器、開關(guān)等器件的控制,可根據(jù)不同需求對(duì)軟件進(jìn)行相應(yīng)的修改。
3 測(cè)試結(jié)果及總結(jié)
對(duì)ZigBee/IEEE 802.15.4網(wǎng)絡(luò)設(shè)備性能評(píng)估,主要是測(cè)試它的發(fā)射功率、頻譜的相位噪聲、臨近信道干擾和通信距離等。因?yàn)锳T86RF230沒有純載波的輸出模式,只能通過測(cè)試調(diào)制信號(hào)頻譜來分析輸出功率和最大增益點(diǎn)對(duì)應(yīng)頻偏。圖6為第11信道2.405 GHz的調(diào)制信號(hào)輸出頻譜,從中可以看出最大功率所對(duì)應(yīng)的頻點(diǎn)。在空曠環(huán)境中測(cè)試,距離150 m時(shí)通信的誤碼率可小于1%。系統(tǒng)在發(fā)射狀態(tài)下耗電為23.7 mA,接收時(shí)為21.78mA,休眠狀態(tài)下僅為2.5μA。實(shí)驗(yàn)結(jié)果證明,本文設(shè)計(jì)的基于AT86RF230收發(fā)器的WPAN網(wǎng)絡(luò)設(shè)備具有容錯(cuò)性高、性能優(yōu)越、超低功耗、價(jià)格低廉的優(yōu)點(diǎn),能夠滿足多種場(chǎng)合實(shí)際需求。通過不斷完善軟硬件設(shè)計(jì),相信本系統(tǒng)的各項(xiàng)性能指標(biāo)還可進(jìn)一步提升。