文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2013)02-0118-03
在工業(yè)生產(chǎn)中,數(shù)據(jù)采集和監(jiān)控為提高產(chǎn)品質(zhì)量、降低成本提供了信息和手段,成為工業(yè)生產(chǎn)中不可缺少的部分。與傳統(tǒng)有線數(shù)據(jù)采集系統(tǒng)相比,無線數(shù)據(jù)采集系統(tǒng)具有靈活、輕便、工作范圍大,環(huán)境適應(yīng)能力強(qiáng)等優(yōu)勢(shì)[1],解決了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)在一些特殊的環(huán)境中布線難的問題。無線采集模塊的供電和能耗一直是整個(gè)系統(tǒng)設(shè)計(jì)的重點(diǎn)。在電池供電的系統(tǒng)中,系統(tǒng)的能耗決定整個(gè)系統(tǒng)的工作時(shí)間長度,電池的更換頻率直接關(guān)系著整個(gè)系統(tǒng)的維護(hù)成本。在以收集自然能源的無源系統(tǒng)中,更低的功耗能減少無源電源的設(shè)計(jì)難度。因此,降低無線數(shù)據(jù)采集節(jié)點(diǎn)的能耗是整個(gè)系統(tǒng)設(shè)計(jì)的首要問題之一。
1 系統(tǒng)的優(yōu)化方向和方案
1.1 系統(tǒng)的優(yōu)化方向
無線數(shù)據(jù)采集的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分為樹形網(wǎng)絡(luò)、星形網(wǎng)絡(luò)和對(duì)等網(wǎng)絡(luò)三種,其中樹形網(wǎng)絡(luò)和星形網(wǎng)絡(luò)應(yīng)用比較廣泛。在這兩種網(wǎng)絡(luò)的數(shù)據(jù)采集系統(tǒng)中,數(shù)據(jù)采集模塊是非簇頭節(jié)點(diǎn)。這類節(jié)點(diǎn)受供電模塊約束較為嚴(yán)重,因此,在實(shí)現(xiàn)功能的前提下硬件設(shè)計(jì)要盡可能采用低功耗元件和簡潔的電路,以達(dá)到降低功耗的要求。在無線通信平臺(tái)已經(jīng)確定的情況下,電路設(shè)計(jì)相對(duì)固定,硬件上的優(yōu)化空間較小。
數(shù)據(jù)閱讀器這類簇頭節(jié)點(diǎn)的設(shè)計(jì)受功耗的限制相對(duì)較小,將整個(gè)系統(tǒng)的優(yōu)化重點(diǎn)放在數(shù)據(jù)收集節(jié)點(diǎn)的通信方式上相對(duì)較容易。將整個(gè)數(shù)據(jù)采集過程中的大部分工作盡可能多地安排在簇頭節(jié)點(diǎn),減少終端節(jié)點(diǎn)的通信工作時(shí)間是整體設(shè)計(jì)的優(yōu)化方向。
1.2 優(yōu)化方案
輪詢是系統(tǒng)收集數(shù)據(jù)的常用方法。在無線網(wǎng)絡(luò)中,非簇頭節(jié)點(diǎn)受到功耗的限制,除上傳數(shù)據(jù)以外,其他時(shí)間都會(huì)處于休眠狀態(tài)。為了保證握手與通信成功,簇頭節(jié)點(diǎn)會(huì)增加通信范圍內(nèi)的每個(gè)終端節(jié)點(diǎn)的詢問次數(shù),導(dǎo)致停留在單節(jié)點(diǎn)的時(shí)間變長。假設(shè)采集節(jié)點(diǎn)A和F在某一時(shí)刻同時(shí)喚醒,傳統(tǒng)輪詢機(jī)制在A點(diǎn)上傳數(shù)據(jù)完成后,F(xiàn)點(diǎn)需要?dú)v經(jīng)B、C、D、E 4個(gè)節(jié)點(diǎn)的輪詢時(shí)間才能進(jìn)行通信。將系統(tǒng)對(duì)終端節(jié)點(diǎn)的輪詢和數(shù)據(jù)傳輸功能分離,輪詢節(jié)點(diǎn)時(shí)發(fā)現(xiàn)某一節(jié)點(diǎn)需要進(jìn)行通信,將該節(jié)點(diǎn)信息通知數(shù)據(jù)采集的模塊,負(fù)責(zé)數(shù)據(jù)采集的模塊收到信息后,立即與該節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換。簇頭節(jié)點(diǎn)在進(jìn)行數(shù)據(jù)通信的同時(shí),也進(jìn)行著輪詢。若在A節(jié)點(diǎn)數(shù)據(jù)通信完成之前,輪詢已發(fā)現(xiàn)F節(jié)點(diǎn)數(shù)據(jù)需要傳輸,則系統(tǒng)在完成A節(jié)點(diǎn)的數(shù)據(jù)交換后,會(huì)立刻進(jìn)行F節(jié)點(diǎn)的通信。這種通信設(shè)計(jì)方式將提高閱讀器找尋工作狀態(tài)設(shè)備節(jié)點(diǎn)的效率[2]。尤其在系統(tǒng)中存在數(shù)據(jù)量較大的單節(jié)點(diǎn)時(shí),優(yōu)勢(shì)會(huì)更加明顯。
2 實(shí)驗(yàn)平臺(tái)的硬件結(jié)構(gòu)
2.1數(shù)據(jù)采集終端
數(shù)據(jù)采集終端結(jié)構(gòu)如圖1所示,分為無線模塊、控制芯片、Flash存儲(chǔ)、對(duì)基模塊及串口數(shù)據(jù)輸出5個(gè)部分。時(shí)基模塊用來測(cè)量無線模塊工作時(shí)間,控制芯片通過脈沖信號(hào)鎖定起始時(shí)刻和終止時(shí)刻,將時(shí)間數(shù)據(jù)讀出并存入Flash中。Flash中的實(shí)驗(yàn)數(shù)據(jù)通過串口上傳給電腦。
時(shí)基模塊能給多個(gè)采集終端提供分辨率為1 μs的時(shí)間基準(zhǔn)信息。時(shí)基模塊由硬件邏輯完成,內(nèi)部結(jié)構(gòu)圖如圖2所示,TIME_LOCK信號(hào)的下降和上升沿鎖存時(shí)間點(diǎn),其他信號(hào)為CPLD與控制芯片的通信接口。
2.2 數(shù)據(jù)閱讀器
數(shù)據(jù)閱讀器的硬件結(jié)構(gòu)如圖3所示。本設(shè)計(jì)使用了雙通信模塊來實(shí)現(xiàn)輪詢和數(shù)據(jù)接收的分離,輪詢和數(shù)據(jù)接收分別工作在兩個(gè)不同的無線信道上。通信模塊1使用CH1信道進(jìn)行握手,通信模塊2使用CH2信道接收數(shù)據(jù)。公共存儲(chǔ)區(qū)域用于存放輪詢到的節(jié)點(diǎn)信息,2個(gè)通信模塊均能對(duì)該區(qū)域存儲(chǔ)的數(shù)據(jù)進(jìn)行修改和讀取。
2.3 NRF24L01無線模塊
NRF24L01是挪威NORDIC公司生產(chǎn)的一款低成本,工作在2.4~2.5 GHz ISM頻段的射頻收發(fā)芯片[3]。芯片的操作和數(shù)據(jù)讀寫通過SPI完成。接收模式下,芯片可以同時(shí)接收相同信道下6個(gè)不同地址的信息。NRF24L01常用模式的工作電流為:(1)發(fā)射模式,功率為0 dBm時(shí),工作電流為11.3 mA;(2)接收模式,速率為2 000 kb/s,工作電流為12.3 mA;(3)Standby-I模式,工作電流為32 μA;(4)Power_down模式,工作電流為900 nA。芯片自帶的增強(qiáng)型ShockBurstTM模式使執(zhí)行雙向鏈接協(xié)議更為容易、有效,從而保證數(shù)據(jù)發(fā)送可靠性的同時(shí), 降低功耗, 實(shí)現(xiàn)在-6 dBm功率下發(fā)送數(shù)據(jù),平均工作電流可以減小到0.05 mA。
3 程序設(shè)計(jì)和細(xì)節(jié)優(yōu)化
3.1 程序設(shè)計(jì)
數(shù)據(jù)閱讀器模塊1、模塊2的程序流程如圖4所示。模塊1完成初始化后,使用信道CH1進(jìn)行輪詢操作,收到握手信號(hào)后,將記錄終端編號(hào),刷新公共存儲(chǔ)區(qū)數(shù)據(jù)。模塊2使用信道CH2收集數(shù)據(jù),控制芯片不斷循環(huán)檢測(cè)公共存儲(chǔ)區(qū)的數(shù)據(jù)更新。發(fā)現(xiàn)更新后將數(shù)據(jù)讀入,根據(jù)終端編號(hào)設(shè)置無線模塊的地址,并完成握手、數(shù)據(jù)接收和數(shù)據(jù)校驗(yàn)。
數(shù)據(jù)采集終端的程序流程如圖5所示,開機(jī)后控制芯片從內(nèi)部集成的Flash中讀出機(jī)器的無線地址,上傳數(shù)據(jù)時(shí)間間隔及數(shù)據(jù)長度等系統(tǒng)參數(shù),完成對(duì)無線模塊和定時(shí)器的初始化。主程序中控制芯片不斷對(duì)時(shí)間標(biāo)志進(jìn)行檢查,上傳數(shù)據(jù)時(shí)間到達(dá),激活時(shí)基模塊開始計(jì)時(shí),使用CH1信道發(fā)送握手信號(hào)。當(dāng)信號(hào)發(fā)送成功后,轉(zhuǎn)換使用CH2信道等待握手,握手成功后發(fā)送數(shù)據(jù)。數(shù)據(jù)傳送完成后,結(jié)束計(jì)時(shí),從時(shí)基模塊中讀取時(shí)間數(shù)據(jù)并存儲(chǔ)到Flash中。主程序?qū)?duì)RS232口進(jìn)行監(jiān)視,檢測(cè)PC機(jī)的指令。
為方便對(duì)實(shí)驗(yàn)的監(jiān)控,在PC機(jī)上針對(duì)實(shí)驗(yàn)平臺(tái)設(shè)計(jì)了控制軟件,軟件使用Delphi編譯環(huán)境完成。PC機(jī)可以通過該軟件對(duì)采集終端、數(shù)據(jù)閱讀器進(jìn)行監(jiān)控,完成系統(tǒng)參數(shù)設(shè)置以及對(duì)上傳的時(shí)間數(shù)據(jù)進(jìn)行分析。
3.2 細(xì)節(jié)優(yōu)化
從NRF24L01無線模塊的工作模式電氣參數(shù)可知,發(fā)射模式的功耗比接收模式低很多,因此數(shù)據(jù)采集終端采用主動(dòng)呼叫握手[4]方式進(jìn)一步降低功耗。數(shù)據(jù)閱讀器的輪詢模塊一次可同時(shí)監(jiān)視6個(gè)終端的握手信號(hào),縮小了輪詢周期,減少了終端的握手等待時(shí)間。在程序設(shè)計(jì)方面,合理性設(shè)計(jì)無線模塊每個(gè)單位數(shù)據(jù)發(fā)送時(shí)間間隔長度、系統(tǒng)睡眠和喚醒、優(yōu)化系統(tǒng)時(shí)鐘和工作時(shí)序、精簡指令[5]都是降低設(shè)備功耗的有效方法。
4 實(shí)驗(yàn)設(shè)計(jì)和實(shí)驗(yàn)結(jié)果
4.1 實(shí)驗(yàn)設(shè)計(jì)
實(shí)驗(yàn)僅為驗(yàn)證優(yōu)化方案能否達(dá)到縮短采集終端工作時(shí)間的效果。實(shí)驗(yàn)平臺(tái)采用51單片機(jī)作為數(shù)據(jù)閱讀器和數(shù)據(jù)采集器的控制芯片,一塊CycloneII的FPGA核心板作為時(shí)基模塊給數(shù)據(jù)采集終端提供時(shí)間測(cè)量。
實(shí)驗(yàn)中的數(shù)據(jù)采集終端節(jié)點(diǎn)為24個(gè),其中5個(gè)為實(shí)物節(jié)點(diǎn),其他為虛節(jié)點(diǎn)。實(shí)驗(yàn)完成了兩組測(cè)試,一組采用傳統(tǒng)的輪詢方式,另一組采用優(yōu)化后的輪詢方式,兩次實(shí)驗(yàn)對(duì)其中3個(gè)實(shí)物節(jié)點(diǎn)的工作時(shí)間數(shù)據(jù)進(jìn)行分析比較。
實(shí)驗(yàn)中設(shè)備的高層通信協(xié)議如圖6所示,其中幀參數(shù)包括幀長度及幀校驗(yàn)信息,校驗(yàn)方式為和校驗(yàn)。NRF24L01模塊通信設(shè)置為自動(dòng)應(yīng)答方式,啟動(dòng)自動(dòng)重發(fā)功能。數(shù)據(jù)重載次數(shù)為10次,重發(fā)時(shí)間間隔為(250+86) μs。
經(jīng)實(shí)驗(yàn)測(cè)量, 無線模塊一次性成功發(fā)送一單位幀(4 B)的時(shí)間為880 μs左右,單位幀發(fā)送失敗耗時(shí)(MAX_TR時(shí)間)約為5.65 ms。由此確定單位幀的發(fā)送耗時(shí)范圍是880 μs~5.65 ms。根據(jù)單位幀的發(fā)送時(shí)間,將輪詢分配給每個(gè)設(shè)備的握手等待時(shí)間設(shè)置為20 ms。數(shù)據(jù)采集終端的上傳時(shí)間間隔設(shè)置為3 s,每次上傳數(shù)據(jù)長度為40 B。
4.2 實(shí)驗(yàn)結(jié)果
兩次實(shí)驗(yàn)的結(jié)果如表1、表2所示。實(shí)驗(yàn)數(shù)據(jù)表明,本文提出的優(yōu)化方法降低了無線數(shù)據(jù)網(wǎng)絡(luò)中非簇頭節(jié)點(diǎn)的工作時(shí)間,減少了模塊的功耗。
參考文獻(xiàn)
[1] 趙吉清,易靈芝,王根平.無線觸發(fā)喚醒的無線數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2007,15(8):110-112.
[2] 楊旭,李德敏,張謙益. 基于nRF24L01的一種無線通信協(xié)議設(shè)計(jì)[J]. 通信技術(shù), 2011,44(7):57-59.
[3] 高正立,曹奇英. 輪詢機(jī)制在無線數(shù)據(jù)采集協(xié)議中的應(yīng)用[J]. 微計(jì)算機(jī)信息,2010,26(7-1):78-80.
[4] 唐磋,章國安,張之江,等. 基于nRF24L01的主動(dòng)式電子標(biāo)簽的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2010,26(2-2):164-165.
[5] 曾勇,楊濤,馮月暉. 基于nRF24L01的超低功耗無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用, 2008,34(7):45-
48.