于虹
(云南電網(wǎng)有限責(zé)任公司電力科學(xué)研究院,云南昆明,650217)
所謂的無線傳感器網(wǎng)絡(luò),實際就是在特定的檢測區(qū)域當(dāng)中進(jìn)行海量微型傳感器節(jié)點的設(shè)置,并利用無線通信的方式構(gòu)建一個自組織網(wǎng)絡(luò),對這種網(wǎng)絡(luò)進(jìn)行應(yīng)用,能夠?qū)ο嚓P(guān)領(lǐng)域的發(fā)展產(chǎn)生巨大的促進(jìn)作用,特別是以CC2530為基礎(chǔ),對無線溫度傳感器網(wǎng)絡(luò)進(jìn)行設(shè)計,不僅能夠提升該網(wǎng)絡(luò)的穩(wěn)定性,還能使測溫精度得到顯著的提升,這對于無線溫度傳感器網(wǎng)絡(luò)綜合效用的發(fā)揮具有非常重要的意義,因此,有必要針對相關(guān)內(nèi)容進(jìn)行深入的研究。
本設(shè)計主要是由一個ZigBee中心節(jié)點以及多個終端節(jié)點構(gòu)成的,其中,環(huán)境溫度信息的采集主要由終端節(jié)點上設(shè)置的溫度傳感器負(fù)責(zé),而中心節(jié)點在接收到相關(guān)信息以后則會向計算機(jī)進(jìn)行反饋。具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)圖
從某種程度上來講,無線傳感器網(wǎng)絡(luò)節(jié)點屬于微型嵌入式系統(tǒng),通過各節(jié)點的組合能夠為無線傳感網(wǎng)絡(luò)構(gòu)建一個基礎(chǔ)支持平臺。而本設(shè)計中的無線傳感器網(wǎng)絡(luò)終端節(jié)點硬件則主要是由獨立按鍵模塊、傳感器模塊、電源模塊、發(fā)光二極管顯示模塊、下載接口模塊以及信息收發(fā)模塊構(gòu)成。
第一,電源模塊。涉及到多個阻容元件、電池接口插針、AMS1117穩(wěn)壓芯片(輸出電壓3.3V)以及自鎖開關(guān)等內(nèi)容。
圖2 電源模塊原理圖
第二,傳感器模塊。主要應(yīng)用三位插座接口,其與溫度傳感器的接地管角、數(shù)據(jù)接口以及電源接口相連接,且電源及數(shù)據(jù)接口會與一個上拉電阻相連(5kΩ)。由于在本設(shè)計當(dāng)中,使用的是直接插入傳感器的方式,所以應(yīng)用的線路較短,并不是必須要進(jìn)行上拉電阻的連接,若測量環(huán)境較為惡劣,可以使用較長的導(dǎo)線對終端模塊以及傳感器進(jìn)行連接,以此來保證收發(fā)模塊的工作環(huán)境,為處理器的正常運(yùn)行提供支持,使芯片的使用壽命能夠得到適當(dāng)?shù)难娱L。但需要注意的是,在這種情況下,必須要連接上拉電阻。
第三,發(fā)光二極管顯示模塊涉及到分壓電阻以及發(fā)光二極管兩部分,能夠?qū)Τ绦蜻\(yùn)行工況進(jìn)行顯示。
第四,獨立按鍵模塊。該模塊以四角按鍵為主,模塊當(dāng)中設(shè)有上拉電阻,且按鍵能夠與發(fā)射模塊進(jìn)行靈活的連接,在本終端模塊當(dāng)中涉及到兩路相對獨立的按鍵電路,其中一路主要用于程序調(diào)試,另一路則用于復(fù)位。
這里的無線傳感器網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點在硬件方面主要涉及以下內(nèi)容,即:RS232串口模塊、獨立按鍵模塊、發(fā)光二極管顯示模塊、LCD液晶屏顯示模塊、下載接口模塊、CC2530發(fā)射系統(tǒng)以及電源模塊等。具體如圖3所示。
圖3 協(xié)調(diào)器節(jié)點硬件構(gòu)成圖
在電源模塊方面,協(xié)調(diào)器與終端節(jié)點的構(gòu)成大致相同,但由于協(xié)調(diào)器要根據(jù)具體要求對網(wǎng)絡(luò)當(dāng)中的信息進(jìn)行不斷的查詢,所以,需要從外部接入穩(wěn)定的電源,并且要以終端電源模塊為基礎(chǔ),加設(shè)穩(wěn)壓源接口。而協(xié)調(diào)器的獨立按鍵模塊、發(fā)光二極管顯示模塊以及下載接口模塊的原理則與終端節(jié)點相同,不同的是需要連接4只LED燈,同時也增加了3個獨立按鍵[1]。
LCD液晶模塊是以點陣液晶為主的,按照128X64的標(biāo)準(zhǔn)進(jìn)行排列,而數(shù)據(jù)傳輸則需要通過SPI總線傳輸來實現(xiàn)。
RS232串口模塊能夠?qū)τ嬎銠C(jī)以及單片機(jī)通信接口進(jìn)行連接,可以將終端節(jié)點反饋回來的溫度閾值、實時溫度以及傳感器ID等信息通過協(xié)調(diào)器上傳到計算機(jī)當(dāng)中,并由上位機(jī)監(jiān)控軟件進(jìn)行信息的顯示、分析和儲存。
導(dǎo)航按鍵以A/D讀取模式為主,其鍵值涉及到五個方向,即上、下、左、右以及中間。
軟件流程圖如圖4所示。
圖4 軟件流程圖
該項設(shè)計涉及到主程序以及數(shù)據(jù)采集子程序等方面的設(shè)計,在對傳感器節(jié)點進(jìn)行通電以后,傳感器會對底層模塊展開初始化處理,在搜索網(wǎng)絡(luò)的同時加入其中,并向協(xié)調(diào)器進(jìn)行地址信息的發(fā)送,隨后開始休眠。而休眠以后,微處理器會將射頻模塊以及傳感器模塊關(guān)閉,直到定時器中斷進(jìn)行喚醒。在定時器發(fā)出喚醒信號以后,微處理器開始進(jìn)入工作狀態(tài),在對溫度信號數(shù)據(jù)進(jìn)行采集的同時,會在簡單進(jìn)行濾波處理以后,向協(xié)調(diào)器進(jìn)行數(shù)據(jù)信息的發(fā)送。
對于數(shù)據(jù)采集方面的子程序而言,讀取MAX6675溫度數(shù)據(jù)是一項非常關(guān)鍵的工作,由于MAX6675和CC2530間是以SPI通信為主的,對數(shù)據(jù)進(jìn)行一次全面的讀取,需要消耗16個時鐘周期,而數(shù)據(jù)讀取操作主要是在SCK下降沿實現(xiàn)的。當(dāng)MAX6675的CS引腳從高電平變?yōu)榈碗娖綍r,芯片會在數(shù)據(jù)采樣的同時,進(jìn)行A/D轉(zhuǎn)換。而在CS引腳電平從低電平變?yōu)楦唠娖綍r,則A/D轉(zhuǎn)換會隨之停止,并且會將已經(jīng)完成轉(zhuǎn)換的數(shù)據(jù)向外傳輸。MAX6675的SO端口能夠進(jìn)行16位數(shù)據(jù)的輸出。其中D0位是三態(tài),D1位是MAX6675標(biāo)識符,D2位用于進(jìn)行熱電偶斷線情況的測試,D3-D14主要是溫度數(shù)據(jù),D15則沒有實際作用。而12位數(shù)據(jù)位所對應(yīng)的溫度值則包括1023.75℃的最大值和0℃的最小值。在熱電偶進(jìn)行溫度讀取時,芯片會在初始化延遲一段時間以后將AD轉(zhuǎn)換完成,隨后CS會置于0,并進(jìn)行16位數(shù)據(jù)的輸出,而通過16位數(shù)據(jù)的讀取即可獲得12位溫度數(shù)據(jù)。
在網(wǎng)絡(luò)的各節(jié)點當(dāng)中,都會涉及到一個16位的短地址和64位的長地址,其中,前者負(fù)責(zé)網(wǎng)絡(luò)設(shè)備通信,后者則負(fù)責(zé)與外部網(wǎng)絡(luò)進(jìn)行通信。而數(shù)據(jù)傳送是以主從節(jié)點方式為主的,連接計算機(jī)的即為主節(jié)點,其他節(jié)點則為從節(jié)點,通過從節(jié)點能夠?qū)⒅袛嗾埱蟀l(fā)送至主節(jié)點。
該節(jié)點程序涉及到節(jié)點的初始化、網(wǎng)絡(luò)的構(gòu)建、傳感器節(jié)點溫度數(shù)據(jù)的接收。在完成相關(guān)數(shù)據(jù)接收以后,會通過串口向主機(jī)進(jìn)行數(shù)據(jù)的發(fā)送。而協(xié)調(diào)器節(jié)點在初始化以后,會對信道進(jìn)行選擇,并對協(xié)調(diào)器地址進(jìn)行設(shè)置,同時,開始進(jìn)行無線網(wǎng)絡(luò)的監(jiān)聽,如果收到新節(jié)點加入申請,則會為節(jié)電設(shè)備安排端口,如果接收到相關(guān)數(shù)據(jù),則會在簡單處理以后經(jīng)由串口向主機(jī)發(fā)送,從而進(jìn)行深入的處理[2]。
第一,需要對協(xié)調(diào)器進(jìn)行通電,將網(wǎng)絡(luò)初始化完成,并對信道進(jìn)行優(yōu)選,為自身網(wǎng)絡(luò)選擇一個網(wǎng)絡(luò)標(biāo)識,同時按照相應(yīng)的傳輸周期,向周圍進(jìn)行數(shù)據(jù)包的發(fā)送。
第二,將終端節(jié)點通電,各節(jié)點首先會通過信道能量掃描,從周圍環(huán)境中選擇一個具有較強(qiáng)適用性的信道,并進(jìn)行網(wǎng)絡(luò)搜尋。
第三,在協(xié)調(diào)器對終端節(jié)點數(shù)據(jù)包進(jìn)行接收以后,會將一個涉及自身IEEEMAC地址的超幀發(fā)送出去。
第四,終端節(jié)點在對超幀進(jìn)行接收以后,需要保存協(xié)調(diào)器的MAC地址,同時要根據(jù)這個地址將一個數(shù)據(jù)包發(fā)送至協(xié)調(diào)器當(dāng)中,發(fā)送該數(shù)據(jù)包的主要目的就是為了對加入網(wǎng)絡(luò)進(jìn)行尋找。
第五,在協(xié)調(diào)器對Data Request進(jìn)行接收以后,會優(yōu)先通過NWK層算法進(jìn)行網(wǎng)絡(luò)短地址的分配,并將一個涵蓋其網(wǎng)絡(luò)短地址的數(shù)據(jù)包發(fā)送至終端節(jié)點,而這個數(shù)據(jù)包是借助MAC地址來進(jìn)行發(fā)送的。
第六,終端節(jié)點在收到含有網(wǎng)絡(luò)短地址的數(shù)據(jù)包以后,會對自身的短地址進(jìn)行配置,這時可以利用這個短地址與協(xié)調(diào)器展開通信,在這種情況下,終端節(jié)點就已經(jīng)完成了網(wǎng)絡(luò)的加入[3]。
將協(xié)調(diào)器程序?qū)胍粋€節(jié)點當(dāng)中作為協(xié)調(diào)器,同時,要將傳感節(jié)點程序?qū)氲綆讉€節(jié)點當(dāng)中當(dāng)做傳感器終端,通過系統(tǒng)測試,可以確定各終端均可正常加入網(wǎng)絡(luò),并且可以對數(shù)據(jù)進(jìn)行正常的收發(fā),基本可以判定系統(tǒng)是完好的[4]。
第一,無障礙傳輸距離測試。該項測試工作需要在空曠的室外環(huán)境進(jìn)行,需要先將協(xié)調(diào)器打開,并進(jìn)行無線網(wǎng)絡(luò)的構(gòu)建,然后將終端節(jié)點設(shè)備打開,將其作為電壓信息以及溫度信息的參考節(jié)點。最后將另一終端節(jié)點打開,并對其進(jìn)行移動,確定5個測試距離,在移動測試的過程中,需要借助計算機(jī)對該節(jié)點接收的數(shù)據(jù)進(jìn)行記錄和保存,并在完成測試以后,對數(shù)據(jù)進(jìn)行統(tǒng)計分析。
第二,有障礙傳輸距離測試。該項工作需要在室內(nèi)隔墻環(huán)境中進(jìn)行,測試步驟和無障礙的測試基本相同。將協(xié)調(diào)器打開以后,進(jìn)行無線網(wǎng)絡(luò)的構(gòu)建,同時要在協(xié)調(diào)器旁將一個終端節(jié)點設(shè)備打開,將其作為電壓及溫度信息的參考節(jié)點。然后將另一終端節(jié)點打開,并對其進(jìn)行移動,確定5個測試距離,并對移動過程中的節(jié)點數(shù)據(jù)接收效果展開測試,數(shù)據(jù)的記錄和保存工作由上位機(jī)來完成,且在完成測試以后要進(jìn)行數(shù)據(jù)的統(tǒng)計和分析[5]。
在進(jìn)行上述測試工作時,有隔墻的時候存在信號不強(qiáng)的情況,之所以會出現(xiàn)這種情況,可能是受到天線設(shè)計影響造成的,而本文針對終端設(shè)備應(yīng)用的天線主要是PCB天線,若對帶桿狀天氣的射頻模塊進(jìn)行應(yīng)用,則可以獲得更好的接收效果。
以CC2530為基礎(chǔ)對無線溫度傳感器網(wǎng)絡(luò)進(jìn)行設(shè)計,能夠使無線溫度傳感器網(wǎng)絡(luò)的性能得到進(jìn)一步的優(yōu)化,這對于工藝領(lǐng)域的發(fā)展具有至關(guān)重要的作用,因此,相關(guān)領(lǐng)域必須要對該項內(nèi)容進(jìn)行深入的研究,使其能夠在現(xiàn)代社會發(fā)展中發(fā)揮更大的作用。