(南通大學(xué)電子信息學(xué)院,江蘇 南通 226019)
在物聯(lián)網(wǎng)技術(shù)與城市化進(jìn)程快速發(fā)展的大背景下,傳統(tǒng)全機(jī)械式燃?xì)獗碚鸩奖恍率饺細(xì)獗硭〈诖诉^程中無線抄表技術(shù)有了較大的發(fā)展。這種新興抄表系統(tǒng)克服了傳統(tǒng)人工抄表方式存在的諸多弊端。如抄表方便,避免入戶抄表給用戶帶來麻煩[1],同時提高了燃?xì)夤镜墓芾硇???梢姛o線抄表技術(shù)具有很好的發(fā)展前景。
新式燃?xì)獗砉?jié)點一般采用電池供電,容量有限,同時膜式燃?xì)獗硎褂脡勖话阋鬄?~10年[2]。對于成千上萬的節(jié)點而言,經(jīng)常性入戶更換電池是完全不可行的??梢姽?jié)點的低功耗設(shè)計是目前無線抄表系統(tǒng)中最棘手的關(guān)鍵技術(shù)之一。本文介紹了一款5位直讀式燃?xì)獗頂?shù)據(jù)采集節(jié)點。從節(jié)點的軟硬件著手,達(dá)到低功耗設(shè)計要求,使節(jié)點使用壽命達(dá)到3~5年。
管道燃?xì)庥脩艏抑邪惭b的燃?xì)獗頂?shù)據(jù)采集節(jié)點通過無線傳感器網(wǎng)絡(luò)將數(shù)據(jù)傳至采集器,采集器將數(shù)據(jù)傳給集中器,集中器通過3G移動網(wǎng)絡(luò)或互聯(lián)網(wǎng)將數(shù)據(jù)傳至監(jiān)控中心(傳輸方式根據(jù)安裝環(huán)境而定),監(jiān)控中心將抄取的數(shù)據(jù)進(jìn)行處理后,向用戶發(fā)送收費短信。燃?xì)獗頍o線抄表系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
低功耗設(shè)計是無線抄表系統(tǒng)設(shè)計中的關(guān)鍵技術(shù)之一,它是衡量整個系統(tǒng)的重要性能指標(biāo)。因此,必須在節(jié)點設(shè)計的各個層面上采用適當(dāng)?shù)募夹g(shù),綜合應(yīng)用不同的設(shè)計方法,達(dá)到在降低節(jié)點功耗的同時仍保持節(jié)點的良好性能。但這兩者是相互矛盾的。因此,在制定系統(tǒng)設(shè)計方案時,需充分考慮節(jié)點的技術(shù)指標(biāo)和參數(shù),以便在性能理想的情況下達(dá)到降低節(jié)點功耗的目標(biāo)。
對任一個嵌入式系統(tǒng)來說,系統(tǒng)設(shè)計一般包括硬件和軟件設(shè)計兩部分。燃?xì)獗頂?shù)據(jù)采集節(jié)點的低功耗設(shè)計也不例外,即從節(jié)點的硬件和軟件方面進(jìn)行詳細(xì)分析。
2.1.1 節(jié)點的硬件低功耗設(shè)計
在實現(xiàn)節(jié)點相同功能的情況下,硬件電路的設(shè)計方案往往有多種,然而各方案的功耗也是不盡相同的。因此,在設(shè)計時需充分考慮影響節(jié)點低功耗設(shè)計的各種因素。具體可通過以下低功耗設(shè)計方法進(jìn)行設(shè)計。
① 盡量選擇使用CMOS邏輯電路(如微控制器MCU的選擇,外圍電路設(shè)計)。因為CMOS電路具有功耗低、集成度高、輸入電流低等優(yōu)點。
② 選擇具有低功耗、片內(nèi)資源相對豐富的MCU。在不影響節(jié)點整體性能的前提下,使用較低的電壓和相對低的頻率。理論依據(jù)動態(tài)功耗計算公式:
Pd=CTU2f
(1)
式中:Pd為芯片的動態(tài)功耗;CT為芯片的負(fù)載電容;U為芯片的工作電壓;f為芯片的工作頻率。
具體可采用動態(tài)電壓調(diào)節(jié)(dynamic voltage supply,DVS)[3]技術(shù)來動態(tài)改變MCU的工作電壓與工作頻率,使MCU滿足節(jié)點可靠運行的需求。還可結(jié)合使用動態(tài)功率管理(dynamic power management,DPM)技術(shù)來進(jìn)一步減少節(jié)點能耗。
③ 外圍電路的設(shè)計不僅要選擇低功耗的電子元件,還需充分考慮上拉/下拉電阻阻值。如在保證正常驅(qū)動后級電路的情況下,上拉電阻阻值需盡可能的大;在多數(shù)情況下處于低電平的信號,則考慮使用下拉電阻。以及根據(jù)實際情況對器件的懸空腳進(jìn)行接電源或接地處理。
④ 在電路設(shè)計上盡量不要使用多余的外設(shè)器件??墒褂肕CU內(nèi)部的資源來完成一些外設(shè)器件的功能(如時鐘芯片、A/D轉(zhuǎn)換芯片等),達(dá)到降低節(jié)點功耗的目的。
⑤ 在無線模塊的設(shè)計上選用工作狀態(tài)與靜態(tài)消耗電流都較小、收發(fā)電流穩(wěn)定的射頻芯片[4]。同時,需考慮其具有傳輸距離遠(yuǎn)、穿墻能力強(qiáng)、數(shù)據(jù)傳輸可靠等特點。
⑥ 節(jié)點上不要焊接指示燈,如無線模塊工作指示燈、電源指示燈等。一個貼片式封裝的LED正常工作需10 mA左右的電流。若指示燈常亮是無法實現(xiàn)節(jié)點低功耗的。
⑦ 在保證節(jié)點性能的情況下,使用集成度高、質(zhì)量可靠的元件,減少節(jié)點電路中的元件數(shù)量,從而達(dá)到減少功耗的作用。
2.1.2 節(jié)點的軟件低功耗設(shè)計
充分考慮了節(jié)點硬件電路的低功耗設(shè)計之后,軟件低功耗設(shè)計的作用也是不容小覷的。具體需注意以下事項。
① 盡量多地使用宏定義來代替子程序[5],可減少MCU的操作。即宏定義在程序編譯時展開,MCU順序執(zhí)行指令;而調(diào)用子程序過程中,MCU會將當(dāng)前變量寄存器的值進(jìn)行存入和彈出堆棧處理。
② 采用中斷方式代替查詢方式,減少MCU不間斷訪問I/O寄存器的時間,使MCU大部分時間處于休眠狀態(tài)。同時,中斷方式可使MCU在工作與休眠狀態(tài)之間自如切換。
③ 根據(jù)節(jié)點數(shù)據(jù)傳輸特性,配置無線射頻芯片的參數(shù)(如收發(fā)頻率、傳輸速率、工作模式等),使無線模塊的性能和功耗達(dá)到最佳。
④ 程序代碼編寫中數(shù)據(jù)類型使用方面,盡量使用短的數(shù)據(jù)類型。如盡可能使用8位字符型數(shù)據(jù)代替16位整型數(shù)據(jù)。
⑤ 對系統(tǒng)程序進(jìn)行合理優(yōu)化,減少程序代碼冗余度,以便減少一些不必要的操作來提高代碼效率。
⑥ 在節(jié)點程序代碼中,要嚴(yán)格控制節(jié)點中各模塊的工作、休眠以及關(guān)閉的時間來降低功耗。
燃?xì)獗頂?shù)據(jù)采集節(jié)點硬件結(jié)構(gòu)框圖如圖2所示。其主要包括電源管理部分、MCU控制部分、無線模塊部分、JTAG接口部分以及光電直讀模塊部分。整個節(jié)點具有結(jié)構(gòu)簡單、計量精確、誤差小、功耗低等優(yōu)點。
圖2 節(jié)點硬件結(jié)構(gòu)框圖
2.2.1 微控制器單元
對整個節(jié)點而言,MCU是節(jié)點功率消耗的主要來源之一,選擇一款適合節(jié)點的MCU則顯得相當(dāng)重要。因此,需要從多個方面加以綜合考慮。
本設(shè)計綜合考慮節(jié)點的功耗和性能后,選用的是TI公司推出的MSP430系列單片機(jī)。該系列單片機(jī)是一款具有集成度高、片內(nèi)資源豐富、功耗極低等技術(shù)特點的16位單片機(jī)。本文所述節(jié)點使用的是MSP430F2272系列單片機(jī)[6],工作電壓范圍為1.8~3.6 V,有5種低功耗模式可供選擇,在1 MHz、2.2 V活動狀態(tài)下消耗電流僅270 μA,待機(jī)模式下僅0.7 μA,而在休眠狀態(tài)下則降至0.1 μA;集成了豐富的片內(nèi)外設(shè),如看門狗、定時器A/B、10位A/D以及4個8位并行端口等。
2.2.2 光電直讀模塊
節(jié)點的采集部分選用的是近幾年新興的直讀技術(shù)。具體工作原理是通過表內(nèi)的光電直讀模塊,利用紅外線對帶有透光槽的字輪進(jìn)行非接觸式掃描,得到與字輪讀數(shù)相對應(yīng)的狀態(tài)編碼,然后將其進(jìn)行相應(yīng)譯碼,得到與字輪窗口上相一致的數(shù)值。這種直讀技術(shù)具有計量準(zhǔn)確、誤差小、不受電磁場干擾等優(yōu)點。此外,在該過程中使用了一種絕對式編碼技術(shù)[7]。節(jié)點光電模塊模型圖如圖3所示。
圖3 節(jié)點光電模塊模型圖
節(jié)點光電直讀模塊主要由貼片式封裝的紅外發(fā)射管與對應(yīng)型號的紅外接收管組成,兩者均勻分布在線路板上的360°圓周的正反面上,字輪上開有一定規(guī)則的透光槽。當(dāng)節(jié)點接收到抄表指令時,均勻分布的5個發(fā)射管將會循環(huán)點亮,同時對接收管的狀態(tài)進(jìn)行檢測。根據(jù)接收管是否接收到紅外光信號,對相應(yīng)的位置1或0。具體使用的是一種海明距離為1的絕對式編碼方式來記錄字輪轉(zhuǎn)動時的位置[8],并結(jié)合使用一種超前進(jìn)位的編碼方式來解決進(jìn)位時的誤差問題。該節(jié)點設(shè)計選用的紅外發(fā)射管工作電流為10 mA,接收管接收紅外的反應(yīng)時間為30 ms。
2.2.3 無線模塊部分
考慮節(jié)點安裝地點的特殊性,對無線模塊的穿墻能力和傳輸數(shù)據(jù)的可靠性有很高的要求,并且其功耗問題也是值得關(guān)注的重點。因此,無線模塊的射頻芯片選擇了素有“距離之王,穿墻之王”之稱的Si4432芯片[9]。Si4432是Silicon Labs公司推出的EZRadioPRO系列中一款高性能的無線ISM射頻芯片,具有集成度高、功耗低、工作頻段多等特點。其內(nèi)置分集式天線和支持跳頻;具有自動喚醒定時器、電池低電量探測器以及自動數(shù)據(jù)包處理等[10];工作的頻率范圍為240~930 MHz,空曠地通信距離可達(dá)2 000 m;功耗極低,發(fā)射電流僅為27 mA(+11 dBm),接收電流為18.5 mA;接收靈敏度達(dá)到-118 dBm,最大發(fā)射功率可達(dá)+20 dBm。Si4432與MCU之間是以SPI總線連接,可根據(jù)設(shè)計需求來配置相關(guān)寄存器,使其達(dá)到最佳的收發(fā)狀態(tài)。
繪制基于Si4432無線模塊的PCB板時,要充分考慮走線之間的感性效應(yīng),選擇封裝小、質(zhì)量高的電感、電容等,并處理好接入電源的濾波性能。這些操作對無線模塊的功耗與性能將產(chǎn)生很大的影響。
2.2.4 電源管理部分
5位直讀式燃?xì)獗頂?shù)據(jù)采集節(jié)點使用的是3.6 V的電池供電,電源管理芯片使用的是日本精工公司生產(chǎn)的S-T111B33。
芯片具有高達(dá)±1.0%精度的輸出電壓。在工作狀態(tài)下,電流損耗在50~90 μA;在關(guān)閉狀態(tài)下,電流損耗低至0.1~1.0 μA。芯片內(nèi)置電源開/關(guān)控制電路,可以確保電池具有很長的工作壽命。芯片具有很好的紋波抑制作用,在1.0 kHz下可達(dá)80 dB。外圍電路非常簡單,可減少不必要的外圍元件的損耗,并可為無線模塊的工作提供穩(wěn)定的供電電源。
2.2.5 電池電壓監(jiān)測
對于電池供電的節(jié)點來說,判斷何時更換電池顯得非常重要,因此需對電池電壓進(jìn)行嚴(yán)格監(jiān)測。對于該節(jié)點而言,電池電壓的監(jiān)測并不需很高的實時性,可以選擇MCU內(nèi)部的A/D轉(zhuǎn)換來定時采集電池電壓。通過程序內(nèi)部設(shè)定的正常工作電壓值來進(jìn)行兩者之間的對比。如采集到的電池電壓值在設(shè)定的范圍之外,MCU會退出低功耗模式,向采集節(jié)點發(fā)送欠壓指令,再通過集中器,利用3G移動網(wǎng)絡(luò)或互聯(lián)網(wǎng)傳至監(jiān)控中心,最終將需要更換電池的節(jié)點編號發(fā)送給工作人員。
對于整個無線抄表系統(tǒng)的低功耗設(shè)計而言,節(jié)點的軟件低功耗設(shè)計作用很大。通過軟件可適時控制外圍模塊處于不同狀態(tài)。如控制何時打開光電直讀模塊進(jìn)行掃描、掃描次數(shù)以及無線模塊何時工作、何時關(guān)閉等。燃?xì)獗頂?shù)據(jù)采集節(jié)點的主要功能是與采集器或手持式抄表器進(jìn)行數(shù)據(jù)和操作指令的交換。節(jié)點上電后,首先初始化節(jié)點,經(jīng)相關(guān)網(wǎng)絡(luò)注冊完成后,啟動MCU內(nèi)部定時器A,MCU進(jìn)入休眠狀態(tài)。在設(shè)定時間到來時,初始化無線模塊,使其處于接收狀態(tài)。當(dāng)接收到抄表指令后,節(jié)點進(jìn)行光電模塊掃描,譯碼后的數(shù)據(jù)通過無線模塊傳至手抄器或者采集器。當(dāng)節(jié)點收到抄表成功的確認(rèn)信息時,停止向無線模塊供電,再次啟動定時器,進(jìn)入到低功耗模式。具體工作流程如圖4所示。
圖4 節(jié)點工作流程圖
通過理論計算以及對5位直讀式燃?xì)獗頂?shù)據(jù)采集節(jié)點的現(xiàn)場測試,分析得出了各模塊在不同狀態(tài)下的能量損耗情況,具體如表1所示。
節(jié)點在工作狀態(tài)下的電流損耗為IA:
IA≈(410 μA+580 μA)/2+(50 mA+100 mA)/2+30 mA+(55 μA+95 μA)/2=105.570 mA
(2)
節(jié)點在休眠狀態(tài)下的電流損耗為IS:
IS≈(1.0 μA+1.6 μA)/2+0.5 μA+1.2 μA+20 μA=23 μA
以每個月抄表一次為例進(jìn)行分析(異常狀況這里不予考慮)。節(jié)點定時喚醒時間到,數(shù)據(jù)通過無線模塊傳至手持式抄表器或采集器耗費的時間約為3.5 s。傳輸完成后節(jié)點會立刻進(jìn)入休眠狀態(tài),MCU運行在低功耗模式,無線模塊處于關(guān)閉狀態(tài)。
工作狀態(tài)下的能量消耗為:
EA=105.570 mA×3.5 s=0.102 6 mAh
(3)
休眠狀態(tài)下的能量消耗為:
ES≈23 μA×(24×30)h=16.56 mAh
(4)
除上面的能量消耗需考慮之外,還需考慮電池電壓監(jiān)測部分的功耗。一般對電池電壓的A/D采樣需耗費800 ms,電流消耗IA/D≈430 μA。以每月采樣60次為例,則需要的能量消耗為:
EA/D=800 ms×430 μA×60=0.005 7 mAh
(5)
以上3個部分的能量消耗綜合為:
EALL=EA+ES+EA/D=16.668 3 mAh
(6)
由此可知,每個節(jié)點一年的能量消耗為:
E=EALL×12=200.019 6 mAh
(7)
根據(jù)節(jié)點的設(shè)計要求,選擇一節(jié)電壓為3.6 V、容量為1 000 mAh的電池為節(jié)點供電。通過上述數(shù)據(jù)分析可知,節(jié)點可以正常使用3.5~5年。
表1 節(jié)點各模塊的能量損耗測量情況
本設(shè)計給出了5位直讀式燃?xì)獗頂?shù)據(jù)采集節(jié)點低功耗設(shè)計的方法,并通過對節(jié)點的實際能量消耗情況的分析得出如下結(jié)論。該5位直讀式燃?xì)獗頂?shù)據(jù)采集節(jié)點不僅結(jié)構(gòu)簡單、數(shù)據(jù)采集精確、數(shù)據(jù)傳輸可靠,而且具有功耗超低、使用壽命長等特點,符合節(jié)點低功耗設(shè)計的要求。目前,設(shè)計的燃?xì)獗頂?shù)據(jù)采集節(jié)點已在南通市中南世紀(jì)花城小區(qū)進(jìn)行現(xiàn)場測試,實際測試情況也證明了以上功能優(yōu)點。下一步的目標(biāo)是,在不影響節(jié)點性能的情況下,能耗方面能夠再有所突破。
[1] 趙勇,蘇顯渝.光電直讀式無線自動抄表預(yù)收費系統(tǒng)[J].光電工程,2010,37(12):147-150.
[2] 國家質(zhì)量監(jiān)督檢驗檢疫總局.JJG 577-2005 中華人民共和國國家計量檢定規(guī)程[S].2005-12-20.
[3] 張季姬,袁明亮,章堅武.無線傳感器網(wǎng)絡(luò)節(jié)點低功耗的研究[J].杭州電子科技大學(xué)學(xué)報,2007,27(3):29-32.
[4] 崔洋,姜宇,鐘麗鴻,等.數(shù)字遠(yuǎn)傳燃?xì)獗淼牡凸脑O(shè)計與實現(xiàn)[J].傳感技術(shù)學(xué)報,2010,23(2):209-214.
[5] 鄭朝霞.無線傳感器網(wǎng)絡(luò)節(jié)點芯片關(guān)鍵技術(shù)的研究與實現(xiàn)[D].武漢:華中科技大學(xué),2008.
[6] Texas Instruments.MSP430x22x2 family user’s guide[EB/OL].[2012-05-28].http://www.ti.com/lit/ds/symlink/msp430f2272.pdf.
[7] 陳蓉素,李志明.一種新型的字輪數(shù)字識別方法及自動抄表系統(tǒng)[J].電測與儀表,2007,44(8):28-36.
[8] 呂冬華,林賢賢,馮軍,等.基于WSN的燃?xì)獗碜詣映硐到y(tǒng)設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(3):161-163.
[9] 李正民,王建輝,劉偉偉.基于Si4432的無線射頻通信模塊的設(shè)計與實現(xiàn)[J].測控技術(shù),2012,31(4):40-43.
[10]Silicon Labs.SI4430/31/32 ISM transceiver data-sheet[M].Silicon Labs,2010.