基于CC2530無(wú)線傳感網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)
2 軟件設(shè)計(jì)與實(shí)現(xiàn)
2.1 協(xié)調(diào)器節(jié)點(diǎn)程序
在網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都有一個(gè)64位的物理長(zhǎng)地址和一個(gè)16位的短地址,短地址用于本網(wǎng)絡(luò)的設(shè)備通信,而長(zhǎng)地址則可以與本網(wǎng)絡(luò)之外的其他網(wǎng)絡(luò)進(jìn)行通信。數(shù)據(jù)傳送采用主從節(jié)點(diǎn)方式,與計(jì)算機(jī)相連作為主節(jié)點(diǎn)(協(xié)調(diào)器),其他節(jié)點(diǎn)作為從節(jié)點(diǎn)(終端節(jié)點(diǎn)),從節(jié)點(diǎn)可以向主節(jié)點(diǎn)發(fā)送中斷請(qǐng)求。
協(xié)調(diào)器端程序流程如圖4所示,協(xié)調(diào)器上電后,首先進(jìn)行設(shè)備初始化,包括硬件電路初始化,寄存器初始化,協(xié)議棧初始化,操作系統(tǒng)初始化。然后進(jìn)入到執(zhí)行操作系統(tǒng),進(jìn)入無(wú)限循環(huán)的任務(wù)執(zhí)行程序中。本文引用地址:http://www.ex-cimer.com/article/159405.htm
終端程序的大體流程,終端的初始化過(guò)程和協(xié)調(diào)器類似。首先判斷節(jié)點(diǎn)是否加入一個(gè)網(wǎng)絡(luò),如果是,則可以發(fā)送所采集的信息。如果沒(méi)有加入網(wǎng)絡(luò),則判斷是否作為老節(jié)點(diǎn)加入網(wǎng)絡(luò),如果作為老節(jié)點(diǎn)加入網(wǎng)絡(luò),則終端節(jié)點(diǎn)通過(guò)保留以前加入網(wǎng)絡(luò)的地址來(lái)加入網(wǎng)絡(luò)。如果作為新的節(jié)點(diǎn)加入網(wǎng)絡(luò),則需要掃描網(wǎng)絡(luò),然后加入其中最優(yōu)秀的一個(gè)網(wǎng)絡(luò)。
2.2 組網(wǎng)
組網(wǎng)的過(guò)程主要如下:
(1)協(xié)調(diào)器首先上電,完成網(wǎng)絡(luò)的初始化,選擇一個(gè)合適的信道,并且為自己的網(wǎng)絡(luò)選擇一個(gè)PAN_ID(網(wǎng)絡(luò)標(biāo)識(shí)符),然后周期的向周圍發(fā)送beacon request的數(shù)據(jù)包。
(2)再將終端節(jié)點(diǎn)上電,終端節(jié)點(diǎn)會(huì)首先向周圍的環(huán)境做一個(gè)信道能量掃描選擇一個(gè)能量比較合適的信道進(jìn)行網(wǎng)絡(luò)搜尋。
(3)當(dāng)協(xié)調(diào)器接收到終端節(jié)點(diǎn)的beacon request數(shù)據(jù)包之后會(huì)發(fā)送一個(gè)包含自己IEEE MAC地址的超幀。
(4)終端節(jié)點(diǎn)接收到超幀之后,將協(xié)調(diào)器的MAC地址保存,并利用這個(gè)地址向協(xié)調(diào)器發(fā)送一個(gè)Association Request的數(shù)據(jù)包,此包目的是尋求加入網(wǎng)絡(luò)。
(5)當(dāng)協(xié)調(diào)器接收到Data Request之后,首先經(jīng)過(guò)NWK層的算法為其分配一個(gè)惟一的網(wǎng)絡(luò)短地址,然后向終端節(jié)點(diǎn)發(fā)送一個(gè)包含其網(wǎng)絡(luò)短地址的包,這個(gè)包是通過(guò)MAC地址發(fā)送的。
(6)當(dāng)終端節(jié)點(diǎn)接收到這個(gè)包之后,配置自己的短地址為0xXXXX,此時(shí)可用這個(gè)短地址和協(xié)調(diào)器進(jìn)行應(yīng)用層的通信,至此終端節(jié)點(diǎn)已經(jīng)成功加入到網(wǎng)絡(luò)。
2.3 數(shù)據(jù)傳輸
本研究采用了直接尋址(通用單播),用于設(shè)備間的通信。設(shè)備直接尋址必須知道接收方的短地址或者長(zhǎng)地址。
當(dāng)節(jié)點(diǎn)接收到一個(gè)單播的消息,其APS層就會(huì)激活A(yù)PSDE_DATA_indication原語(yǔ)處理消息。如果接收到的是一個(gè)確認(rèn)幀,則APS層應(yīng)該發(fā)送APSDE_DATA。
Indication原語(yǔ)來(lái)接收命令,然后將溫度信息通過(guò)APSDE-DATA.request原語(yǔ)發(fā)送回協(xié)調(diào)器,協(xié)調(diào)器同樣通過(guò)APSDE-DATA.indication原語(yǔ)來(lái)接收信息。如圖5所示。
3 系統(tǒng)測(cè)試
對(duì)網(wǎng)絡(luò)的測(cè)試,主要集中于兩個(gè)方面:功能測(cè)試,如組網(wǎng),點(diǎn)對(duì)點(diǎn)的通信,系統(tǒng)整體測(cè)試等;靜態(tài)測(cè)試,如節(jié)點(diǎn)的性能指標(biāo),程序的實(shí)現(xiàn)和數(shù)據(jù)收發(fā)的正確率等。
3.1 功能測(cè)試
首先將協(xié)調(diào)器程序燒入一個(gè)節(jié)點(diǎn)作為協(xié)調(diào)器;將傳感節(jié)點(diǎn)程序燒入幾個(gè)節(jié)點(diǎn)作為傳感器終端。經(jīng)系統(tǒng)測(cè)試,所有終端都能加入網(wǎng)絡(luò),并能進(jìn)行正常的數(shù)據(jù)收發(fā),功能測(cè)試顯示系統(tǒng)完好。
3.2 節(jié)點(diǎn)測(cè)試
3.2.1 無(wú)障礙傳輸距離測(cè)試
測(cè)試在室外空曠的環(huán)境下進(jìn)行,打開(kāi)協(xié)調(diào)器,建立無(wú)線網(wǎng)絡(luò)后,再打開(kāi)一個(gè)終端節(jié)點(diǎn)設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點(diǎn)。最后打開(kāi)另一個(gè)終端節(jié)點(diǎn),對(duì)該節(jié)點(diǎn)加以移動(dòng),分別選取5個(gè)測(cè)試距離,測(cè)試移動(dòng)中該節(jié)點(diǎn)數(shù)據(jù)接收效果,數(shù)據(jù)由計(jì)算機(jī)保存記錄,測(cè)試完畢統(tǒng)計(jì)分析數(shù)據(jù)。結(jié)果見(jiàn)表1。
3.2.2 有障礙傳輸距離測(cè)試
測(cè)試在室內(nèi)隔墻的環(huán)境下進(jìn)行測(cè)試,步驟與無(wú)障礙傳輸距離測(cè)試方法一樣。打開(kāi)協(xié)調(diào)器,建立無(wú)線網(wǎng)絡(luò)后,在協(xié)調(diào)器一旁打開(kāi)一個(gè)終端節(jié)點(diǎn)設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點(diǎn)。最后打開(kāi)另一個(gè)終端節(jié)點(diǎn),對(duì)該節(jié)點(diǎn)加以移動(dòng),分別選取5個(gè)測(cè)試距離,測(cè)試移動(dòng)中該節(jié)點(diǎn)數(shù)據(jù)接收效果,數(shù)據(jù)由上位機(jī)軟件保存記錄,測(cè)試完畢統(tǒng)計(jì)分析數(shù)據(jù),如表1所示。
在進(jìn)行無(wú)障礙傳輸距離測(cè)試和障礙傳輸距離測(cè)試,在有墻相隔的時(shí)候信號(hào)不強(qiáng),這與天線設(shè)計(jì)有關(guān),本文終端設(shè)備的天線為PCB天線,如果使用帶桿狀天氣的射頻模塊,接收效果就能夠更好。
4 結(jié)論
隨著計(jì)算成本的下降以及微處理器體積越來(lái)越小,無(wú)線傳感器網(wǎng)絡(luò)開(kāi)始投入使用,如環(huán)境的監(jiān)測(cè)和保護(hù)、醫(yī)療護(hù)理、目標(biāo)跟蹤,本文所采用的基于CC2530無(wú)線傳感網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)方案不失為一種較為高效、節(jié)能、抗干擾能力強(qiáng)的廉價(jià)組網(wǎng)方案。提高該無(wú)線網(wǎng)絡(luò)的傳輸距離、增強(qiáng)網(wǎng)絡(luò)的自愈能力,提高ZigBee和Wi—Fi及其他2.4 GHz系統(tǒng)的共存時(shí)的互不干擾能力,將該方案推向工業(yè)現(xiàn)場(chǎng)是今后研究的重點(diǎn)。
評(píng)論