MRF24J40的ZigBee網(wǎng)絡(luò)分析及在電氣監(jiān)測中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:對(duì)于電力系統(tǒng),在線監(jiān)測的困難在于絕緣和強(qiáng)電磁噪聲。ZigBee無線通信技術(shù)為電氣監(jiān)測提供了新思路。根據(jù)協(xié)議棧應(yīng)用層的工作原理構(gòu)造相應(yīng)的原語結(jié)構(gòu),實(shí)現(xiàn)協(xié)調(diào)器網(wǎng)絡(luò)建立和終端設(shè)備的網(wǎng)絡(luò)連接。協(xié)調(diào)器建立的終端設(shè)備綁定表,能夠間接地將收發(fā)設(shè)備聯(lián)系在一起。在通過ZENA網(wǎng)絡(luò)分析儀器的綁定測試和電壓有效值、頻率采樣電路proteus仿真后,將硬件電路與ZigBee網(wǎng)絡(luò)結(jié)合起來,實(shí)現(xiàn)了電氣參數(shù)的在線監(jiān)測。
關(guān)鍵詞:ZigBee;MRF24J40;綁定;無線監(jiān)測
引言
ZigBee是一種專注于低功耗、低成本、低復(fù)雜度、低速率的近程無線網(wǎng)絡(luò)通信技術(shù)。ZigBee的組網(wǎng)能力強(qiáng),廣泛應(yīng)用于無線傳感網(wǎng)、嵌入式的自動(dòng)控制和遠(yuǎn)程控制領(lǐng)域。ZigBee的協(xié)議棧由一組子層構(gòu)成,由下至上依次是物理層、介質(zhì)接人控制子層(MAC)、網(wǎng)絡(luò)層、應(yīng)用層,并與單片機(jī)配合完成數(shù)據(jù)包裝收發(fā)、校驗(yàn)、各種網(wǎng)絡(luò)拓?fù)洹⒙酚捎?jì)算等復(fù)雜功能。
隨著用戶對(duì)電器智能化的要求越來越高,ZigBee技術(shù)需要傳輸更多的電氣參量和現(xiàn)場參量,其中電壓有效值和頻率是確保電氣系統(tǒng)穩(wěn)定運(yùn)行的重要參數(shù)。有線傳輸布線麻煩,會(huì)使電器結(jié)構(gòu)復(fù)雜、成本增加、使用不方便,而采用ZigBee技術(shù)能夠很好地解決這方面問題。
本文以Microchip公司的PIC18LF4620為核心,硬件收發(fā)電路采用MRF24J40芯片,結(jié)合ZENA網(wǎng)絡(luò)分析儀器對(duì)ZigBee設(shè)備間的綁定和數(shù)據(jù)請求進(jìn)行監(jiān)控,測試終端將電氣參數(shù)發(fā)往其他設(shè)備。
1 ZigBee協(xié)議棧結(jié)構(gòu)和原理
ZigBee協(xié)議棧的分層結(jié)構(gòu)中,最下面的兩層是介質(zhì)接入控制子層(MAC)和物理層,這兩層是由IEEE 802.15.4定義的,而上面的網(wǎng)絡(luò)層和應(yīng)用層才是由ZigBee聯(lián)盟定義的。網(wǎng)絡(luò)層(NWK)負(fù)責(zé)設(shè)備到設(shè)備的通信,并負(fù)責(zé)網(wǎng)絡(luò)中設(shè)備初始化、消息路由和網(wǎng)絡(luò)發(fā)現(xiàn);而應(yīng)用支持子層(APS)可使用NWK提供的服務(wù),實(shí)現(xiàn)數(shù)據(jù)傳送和安全等服務(wù)。此外應(yīng)用層還可以通過ZigBee設(shè)備對(duì)象(ZDO)進(jìn)行網(wǎng)絡(luò)層配置和訪問,提供設(shè)備發(fā)現(xiàn)、服務(wù)發(fā)現(xiàn)和綁定管理服務(wù)。用戶程序則通過240個(gè)端點(diǎn)與APS對(duì)接,實(shí)現(xiàn)用戶功能。實(shí)現(xiàn)ZigBee任務(wù)的關(guān)鍵就是在應(yīng)用層或者ZDO層中配置原語,單片機(jī)的任務(wù)就是不斷地執(zhí)行各種ZigBee協(xié)議棧任務(wù)。
2 ZigBee硬件和軟件設(shè)計(jì)
2.1 ZigBee硬件設(shè)計(jì)
ZigBee相關(guān)的硬件設(shè)計(jì)包括兩方面:一是以MRF24J40和PIC18LF4620為核心的射頻電路;二是提供ZigBee網(wǎng)絡(luò)分析的ZENA電路板。
MRF24J40的硬件電路包含去耦電路、平衡-不平衡變換電路和時(shí)鐘振蕩電路。與單片機(jī)相連的則是4線的串行SPI接口,它有中斷、喚醒和復(fù)位功能。用戶應(yīng)用程序通過端點(diǎn)服務(wù)接口傳到APS,再依次往下傳至物理層,最后通過SPI控制MRF24J40將數(shù)據(jù)通過天線以電磁波形式發(fā)送出去,接收方的天線收到數(shù)據(jù)后則將數(shù)據(jù)逐層向上傳遞,請求應(yīng)用層處理。在進(jìn)行組網(wǎng)時(shí)至少需要3個(gè)這樣的最小系統(tǒng)板,其中一個(gè)作為協(xié)調(diào)器,另兩個(gè)作為終端設(shè)備或路由器。
ZENA電路板的核心是PIC18LF2550和MRF24J40,MRF24J40用于接收空氣中的電磁波并傳給單片機(jī)處理,最終通過USB傳輸?shù)接?jì)算機(jī)中。而ZENA網(wǎng)絡(luò)監(jiān)視窗口就是該USB對(duì)接的界面,這樣通過天線接收到的數(shù)據(jù)被還原成幀的形式顯示出來,由此就可以判斷ZigBee設(shè)備發(fā)送的數(shù)據(jù)是否正確。
2.2 ZigBee軟件設(shè)計(jì)
ZigBee協(xié)議棧是通過下層的服務(wù)完成自己的功能,同時(shí)對(duì)上層提供服務(wù)。網(wǎng)絡(luò)通信是在對(duì)等的層次上進(jìn)行的,而這些服務(wù)是設(shè)備中的實(shí)體通過發(fā)送服務(wù)原語來實(shí)現(xiàn)的。原語中又包含很多參數(shù),構(gòu)造應(yīng)用層的程序其實(shí)也就是對(duì)該服務(wù)相關(guān)的原語參數(shù)進(jìn)行賦值。綁定的原語為:
APSME-BIND.request{SrcAddr,SrcEndpoint,Clusterld,DstAddrMode,DstAddr,DstEndpoint}。
該原語最前面的APSME表示這是一個(gè)APS服務(wù)原語,因此在執(zhí)行ZigBee任務(wù)時(shí)將被送到APS.c文件執(zhí)行。原語里的參數(shù)依次表示發(fā)送該原語設(shè)備的源地址、哪個(gè)端點(diǎn)發(fā)送該原語的、哪個(gè)簇標(biāo)識(shí)符與目的設(shè)備綁定、目的地址模式是64位物理地址還是16位網(wǎng)絡(luò)短地址、目的設(shè)備的地址值,以及將被送到目的設(shè)備的哪個(gè)端點(diǎn)執(zhí)行。因此要向某設(shè)備發(fā)送綁定請求,首先要定義好使用哪個(gè)端點(diǎn)和簇ID來執(zhí)行,并且要知道自己和對(duì)方的地址,對(duì)各參數(shù)賦值完畢后就令currentPremitive=APSME_BIND_request,設(shè)備就成功發(fā)送綁定請求了,并等待后續(xù)響應(yīng)。
3 電壓采樣電路和測頻電路
由于電力線路是高電壓的交流電,而PIC18LF4620只能采樣小于3.3 V的直流電壓,因此線路的電壓都要經(jīng)過變壓器或互感器降壓后再經(jīng)過絕對(duì)值線路整流。本文選用電流型的精密微型電壓互感器HPT304,互感器應(yīng)用電路如圖1所示。通過運(yùn)算放大器輸出,二次負(fù)載基本為0。被測的輸入電壓VIN通過限流電阻RIN限流,產(chǎn)生的0~2 mA電流通過微型電壓互感器。HPT304感應(yīng)出相同的0~2 mA。通過運(yùn)算放大器可以調(diào)節(jié)反饋電阻R值在輸出端得到所要求的電壓輸出,而電容C及電阻r是用來補(bǔ)償相位差的。限流電阻RIN要有足夠大的功率。
絕對(duì)值線路的作用是將交流變成直流,線路簡單、容易實(shí)現(xiàn)。絕對(duì)值線路和絕對(duì)值線路仿真波形如圖2和圖3所示。圖2放大倍數(shù)是R2/R1 =5,選用的兩個(gè)運(yùn)算放大器最好是同在一個(gè)芯片上,這樣出來的半波才會(huì)對(duì)稱。
用單片機(jī)算出交流電壓的有效值,也必須先測出交流電壓的頻率,再根據(jù)頻率確定每一個(gè)點(diǎn)的采樣周期。這樣計(jì)算的有效值才不會(huì)隨頻率的變化而變化。測頻電路和測頻電路輸出波形如圖4和圖5所示。
電壓有效值表達(dá)式為:
式中:N為每個(gè)電源周期采樣點(diǎn)數(shù),uk為電壓第k點(diǎn)的采樣值。本文N為64。輸入波形與采樣脈沖如圖6所示。
4 測試結(jié)果
本文的綁定實(shí)驗(yàn)采用間接綁定的方法,即由協(xié)調(diào)器來建立綁定表,兩終端節(jié)點(diǎn)分別向協(xié)調(diào)器請求綁定。請求綁定的終端設(shè)備要給協(xié)調(diào)器發(fā)送數(shù)據(jù)請求,不過請求的簇為0x20,且端點(diǎn)為ZDO(0x00),因此該請求到達(dá)協(xié)調(diào)器后會(huì)進(jìn)入ZDO處理綁定請求任務(wù)。從節(jié)點(diǎn)綁定的ZENA分析圖可以看到,應(yīng)用層最后面的AF數(shù)據(jù)幀包含了終端節(jié)點(diǎn)請求綁定的所有信息,如果兩設(shè)備的輸入簇和輸出簇對(duì)應(yīng),模板標(biāo)識(shí)符也一樣,就能在協(xié)調(diào)器中建立綁定表。這里的輸入簇和輸出簇都是Test模板的緩沖請求簇(0x1C)。需要說明的是,當(dāng)兩個(gè)終端設(shè)備分別向協(xié)調(diào)器請求綁定后,協(xié)調(diào)器還要分別發(fā)送UnBind_req和Bind_req給各終端,并根據(jù)給出的響應(yīng)設(shè)置標(biāo)志位,當(dāng)所有的工作完成后才能給請求綁定的設(shè)備發(fā)送簇(ID為end_device_bind_rsp)完成綁定。由于篇幅所限這里直接給出綁定的結(jié)果,協(xié)調(diào)器串口輸出如圖7所示。
綁定成功后,終端設(shè)備只需標(biāo)明簇標(biāo)識(shí)符就可以將數(shù)據(jù)通過協(xié)調(diào)器發(fā)送給綁定表中對(duì)應(yīng)輸入簇的設(shè)備。協(xié)調(diào)器收到終端采樣數(shù)據(jù),該數(shù)據(jù)為電網(wǎng)頻率和有效值,在下一個(gè)工作周期內(nèi),協(xié)調(diào)器就會(huì)將數(shù)據(jù)根據(jù)綁定表傳遞給目的設(shè)備,目的設(shè)備收到數(shù)據(jù)后就能進(jìn)行分析和處理,實(shí)現(xiàn)對(duì)現(xiàn)場的監(jiān)控。值得一提的是,由于ZigBee協(xié)議棧本身的限制,數(shù)據(jù)最快也只能0.5s更新一次。
結(jié)語
本文組建了ZigBee無線網(wǎng)絡(luò),并由協(xié)調(diào)器統(tǒng)一管理綁定表,實(shí)現(xiàn)了電壓有效值和頻率的遠(yuǎn)程監(jiān)控,經(jīng)過ZENA分析測試,網(wǎng)絡(luò)運(yùn)行穩(wěn)定。以PIC18LF4620為核心的單片機(jī)系統(tǒng)功能強(qiáng)大、性價(jià)比高,適合用于電氣監(jiān)測系統(tǒng)。
本文的創(chuàng)新點(diǎn)在于深入分析協(xié)議棧應(yīng)用層原理,提供了使用Microchip ZigBee協(xié)議棧進(jìn)行網(wǎng)絡(luò)綁定的方法,并將電氣在線監(jiān)測和無線網(wǎng)絡(luò)結(jié)合在一起,具有一定的推廣應(yīng)用價(jià)值。