楊 歡,李紅信
(蘭州大學 信息科學與工程學院,甘肅 蘭州 730000)
一種采用LoRa技術的智能水表設計
楊 歡,李紅信
(蘭州大學 信息科學與工程學院,甘肅 蘭州 730000)
為提高水表的抄表效率及計量精度,同時針對Zigbee、紅外等無線技術在抄表方案中存在通信距離短、抗干擾能力弱的缺陷,通過對LoRa無線標準協議的研究,將MCU系統和LoRa技術相結合,設計了一種基于LoRa無線通信技術的智能水表。介紹了水表的硬件組成和功能模塊的作用,給出了通信單元和電磁閥門控制單元硬件原理圖,簡述了通信協議和節點軟件設計過程,對水表的通信距離和在定時、單播和廣播抄表方式下進行測試。測試結果表明,該水表具有通信距離遠、可靠性高和實時性強的特點。
智能水表;LoRa;SX1278;無線抄表
自動抄表 (Automatic Meter Reading,AMR)是采用通信、計算機等技術,通過專用設備對各種儀表(如水表、電表和氣表等)的數據進行主動采集和處理的系統[1]。近年來,抄表行業出現了紅外、藍牙和ZigBee技術等抄表方式,其在數據共享等方面存在很多缺陷,需要進行改進,同時隨著通信設備的復雜度的増加,這些技術已經不能滿足無線抄表要求。
低功耗廣域網絡技術(Low Power Wide Area Network,LPWAN)是一種物聯網無線接入新技術,具有低功耗、網絡擴展性強和通信距離遠等優點。LoRa(Long Range)[2]作為一種非授權頻譜的LPWAN無線通信技術,采用自適性數據速率策略,使其接收電流低達10 mA,休眠電流小于200 nA,實現了超低功耗;其次利用先進的擴頻調制技術和編碼方案,使載波頻率不斷跳變而擴展頻譜,增加了鏈路預算和更好的抗干擾性能[3],對深度衰落和多普勒頻移具有更好的穩定性[4],其接收靈敏度可達到-148 dBm[5],使其在密度較低區域的通信距離達15 km。本文將LoRa通信技術應用到無線抄表中,旨在設計一個準確可靠、方便操作的水表終端。
智能水表是無線抄表方案的最末端設備,可采集、記錄用戶的用水量,同時接收服務器指令,受服務器控制,是服務器指令的執行者。該智能水表的設計是在低功耗的原則下實現多功能。當水表接收到有效脈沖時,單片機由休眠模式轉換為工作模式,通過中斷計數該脈沖,記錄用水量。當LoRa無線通信單元接收到集中器命令時,水表進行水量等其他數據上報。當欠費時,水表通過LoRa通信單元接收關閥指令,電磁閥門實現對水表關閥。此外,通過RS485通信模塊,可以在特殊情況下實現與上位機RS485的通信功能[6],實現數據傳輸。水表組成如圖1所示,由MCU控制單元、LoRa無線通信單元、電磁閥門控制單元、脈沖輸入采集單元及其他部分組成。

圖1 水表硬件總體框圖
2.1 MCU控制單元
智能水表作為一個電池設備,需要超低的功耗,微控制的選擇決定著整個智能水表的性能和功耗。文中采用意法半導體公司基于Cortex-M3內核的32位高性能超低功耗微控制器STM32L151作為控制核心,該芯片工作頻率可達32 MHz,具有512 KB的閃存以及80 KB的SDRAM[7],性能強勁,實時性好,代碼靈活。同時該芯片低功耗運行模式、睡眠模式、低功耗睡眠模式、停止模式和待機模式5種低功耗工作模式,以及創新型自主動態電壓調節功能,方便了系統低功耗設計,可以輕松滿足無線抄表的各種需求。MCU控制單元是智能水表的控制器,起著決定性的作用。
2.2 通信單元
水表終端與上層集中器通信是無線抄表過程的關鍵,其通信性能決定著抄表過程的優劣。設計采用Semtech公司推出的低功耗半雙工高靈敏度的SX1278收發器,該收發器工作的頻率范圍為-137~1 020 MHz[8],采用LoRa擴頻調制解調技術,其傳輸距離遠遠超出使用FSK等調制解調技術,能夠極大地降低網絡部署成本,易于管理和監控[9]。同時,SX1278軟件配置具有很大的靈活性,用戶可通過程序決定擴頻調制帶寬(BW)、糾錯率(CR)和擴頻因子(SF)。此外,LoRa在選擇性和阻塞性能方面的顯著優勢,進一步提高通信可靠性。設計中STM32L151通過SX1278的SPI接口來設置寄存器實現數據的接收發送[10]。SX1278射頻模塊是無線抄表系統的通信接口,一方面和集中器進行無線通信,另一方面采和MCU控制單元進行通信,是無線抄表過程的關鍵。
由于SX1278是半雙工收發器,因此收發數據時要進行模式切換[11]。模式選擇模擬開關電路如圖2所示,其中U1為模擬開關,通過CTRL引腳和VDD引腳的高低電平來選擇天線連接的是接收電路還是發射電路。當VDD為低電平,CTRL為高電平時,RF1接通RFC,SX1278收發器進入發射模式,此時MCU系統將要發送的數據通過SPI串口寫入SX1278的FIFO中,待數據寫入完畢后,SX1278收發器將自動完成發射,實現數據的上傳;當VDD為高電平,CTRL為低電平時,RF2接通RFC,SX1278收發器進入接收模式,此時SX1278收發器將接收到的數據保存在FIFO中,收完后進行CRC校驗,待校驗通過后,會在DIO0引腳發出取數據信號,MCU即可通過SPI串口來讀取FIFO中的數據,實現服務器發下指令的接收。

圖2 模式選擇模擬開關電路
2.3 電磁閥門控制單元
智能水表中,控制閥口是實現控制用水的關鍵部分。目前主要有電磁水表、超聲水表、射流水表和渦街水表等類型[12]。電磁閥因其靈敏度高、功耗低和可靠性好[13]優點,在實際中得到廣泛應用。設計中通過電磁閥對水表進行控制,其控制電路如圖3所示。電磁閥控制電路中,STM32L151芯片的P6.6和P6.7引腳控制閥門的正反轉動。從圖中可以看出,當P6.7引腳輸入低電平,P6.6引腳輸入高電平時,開關SW1閉合,打開電磁閥,反之,則關閉電磁閥,進而實現對水表終端的控制。

圖3 電磁閥門控制電路
3.1 通信協議設計
協議是通信過程中保證收發雙方能可靠通信的約定。設計中,無線抄表方式分為定時抄表、單播和廣播抄表。在抄表中,服務器通過集中器下發滿足水表通信規約的DL/T645-2007協議指令,數據傳輸中對數據進行循環冗余校驗CRC校驗確保數據準確無誤[14]。所有水表設備收到喚醒碼并對地址進行比對,若地址不符則繼續休眠,若地址符合,則該水表立即喚醒進入工作狀態,集中器接著發送抄表或其他指令到該水表,該水表收到指令后再向集中器返回數據,隨即進入休眠狀態以降低能耗[15],由此完成一次通信。讀寫水表報文格式如表1所示,其中表地址即設備號,根據每個SX1278射頻模塊分配給各個水表節點獨一無二的設備地址,由5 Byte非字母的十六進制數表示,低字節在前高字節在后。控制字1低6 等于為0x1時表示此條指令讀水表數據數據,等于0x04時表示此條指令為向水表寫入數據;第7位為應答標志等于0表示正常應答;第8位表示傳輸方向,等于0表示集中器發出命令,等于1表示水表返回指令。有效數據用于返回水表應答數據,主要包括設備狀態字、流量數據、計量數據類型和RTC時鐘等信息。結束符固定為0x16,表示一幀數據的結束。
表1 讀寫水表報文格式

起始符表地址控制字2控制字1幀序號數據域長度數據域起始符1Byte5Byte1Byte1Byte1Byte1Byte1Byte數據標識D0數據標識D1有效數據上行信號強度下行信號強度CS校驗結束符1Byte1Byte22Byte1Byte1Byte1Byte1Byte
3.2 水表節點軟件設計
水表節點主要完成對流量數據的采集,同時通過LoRa網絡對數據進行上報及接收集中器指令。主程序中,為保證事件響應的時效性,各分支程序的執行依靠標志位進行,當查詢到UART或者LoRa數據時,由硬件產生一個中斷,中斷程序收集數據,設置任務狀態標志位,等到主程序到了這個分支再做進一步處理[16]。總體上講,定時器每隔100 ms循環掃描一次整個系統的狀態字,當發現有狀態字被置位,立刻開始執行任務。為了防止程序陷入死循環,在程序延遲和容易發生死循環的程序段加入看門狗監聽復位程序[17]。當程序發生死機后,看門狗復位寄存器一直累計,當累加的次數大于 1 000 次之后,MCU 默認程序發生死循環,迅速發送一個低電平脈沖使單片機自動復位。整個水表平時處在掉電狀態,當有中斷信號時,將從睡眠狀態下喚醒,執行程序,水表節點軟件工作流程如圖4所示。

圖4 LoRa終端無線模塊程序流程
4.1 通信距離測試
LoRa的傳輸距離對于整個抄表系統具有重要參考價值,為此在樓宇內對集中器和水表節點之間的有效傳輸距離進行了數據收發測試。設備天線發射功率20 dBm、射頻中心頻率為 470 MHz,測試中將水表置于10樓,集中器通過RS232接口和PC連接,在各樓層進行測試。測試結果如表2所示,水表和集中器在穿透3層樓后仍可保證100%通信,相對其他無線技術,通信距離有很大提升。
表2 集中器和水表有效傳輸距離測試結果

集中器所在樓層通信成功率/%信號強度/dBm8100-467100-516100-59594-75470-88330-101
4.2 流量數據采集測試
抄表的成功率是設備性能優良的重要指標。設計中測試了單播抄表、定時抄表和廣播抄表,主要包括喚醒、抄表和休眠3個過程。設計中對水表進行單播抄表,一共抄收200次,平均抄收成功率達到99.5%。定時抄表時,設定設備每天下午2:00定時上報參數,測試10天,測試成功率100%。廣播抄表實現對一個集中器下面所有水表設備進行遠程統一管理,設計中對5塊水表同時分別下發凍結指令、校時/實時時間查詢指令、讀取設備信息指令等指令,一共抄收100次,抄收成功率達到100%。
本文從實際應用出發,分析了LoRa技術的原理和優勢,針對現存無線抄表技術的特點,設計了基于LoRa技術的智能水表。該水表工作在433 MHz,和ZigBee等無線技術不在一個頻段,因此收到的干擾很小。同時由于ZigBee等無線技術通信頻率相對較高,信號在空中衰減較快,導致傳播距離不遠,而LoRa技術在相同發射頻率下,通信距離能夠顯著增加。從實驗結果可知,水表運行狀態良好,能很好地滿足無線智能抄表的需求,為構建智能抄表方案提供了一種有效的解決方案。
[1] 姜啟.智能水表抄表系統的研究與設計[D].貴陽:貴州大學,2009:1-3.
[2] 孫曼,張乃謙,金立標.基于LoRa標準的MAC層協議研究[J].電視技術,40(10):77-81.
[3] LEWARK U J,ANTES J.Link Buget Analysis Forfuture E-band Gigabit Satellite Communicate Links[J].CEAS SpaceJournal,2013(4):42-46.
[4] MOHAMED Aref,AXEL Sikora.2014 2nd International Symposium on Technology and Applications(IDAACS-SWS)[C]∥Offenburg,2014:19-23.
[5] 龔天平.LoRa技術實現遠距離、低功耗無線數據傳輸[J].電子世界,2016,82(10):115-117.
[6] 鄭子含,劉高平.基于ADE7755的單相電子式電能表設計[J].微計算機信息,2012,28(4):59-61.
[7] JOSEPH Y.Cortex-M3權威指南[M].宋巖,譯.北京:北京航空航天大學出版社,2009:17-20.
[8] 付河.SX1276的LoRa與FSK技術在室內定位中的應用研究[J].單片機與嵌入式系統應用,2016(10):57-61.
[9] 王洋,溫向明,路兆銘.新興物聯網技術—LoRa[J].信息通信技術,2017(2):55-59.
[10] 孫麗,孫順遠.曲房低功耗無線溫濕度檢測系統設計與應用[J].測控技術,2017,36(5):29-32.
[11] 王瑞,李躍忠.基于SX1278的水表端無線抄表控制器[J].電子質量,2015(12):67-74.
[12] 姚靈.電子水表傳感與信號處理技術[J].自動化儀表,2009(3):1-5
[13] 馮靜.基于PIC16F84的電磁閥式IC卡水表設計研究[J].電子工程師,2008(11):75-77.
[14] 趙太飛,陳倫斌,袁麓.基于LoRa的智能抄表系統設計與實現[J].計算機測量與控制,2016.24(9):298-301.
[15] 羅貴英.基于LoRa的水表抄表系統設計與實現[D].杭州:浙江工業大學,2016.
[16] 郭曉.基于GPRS和MBUS遠程無線抄表系統的設計與實現[D].天津:河北工業大學,2016.
[17] 賈明偉.基于休眠調度的無線傳感器網絡高能效數據收集機制研究[D].南京:南京郵電大學,2016.
DesignonIntelligentWaterMeterBasedonLoRaTechnology
YANG Huan,LI Hong-xin
(SchoolofInformationScienceandEngineering,LanzhouUniversity,LanzhouGansu730000,China)
In order to improve the efficiency and accuracy of water meter,at the same time taking into consideration the defects of Zigbee and infrared wireless technology in meter reading scheme including short communication distance and weak anti-interference capability,an intelligent water meter based on LoRa wireless communication technology is designed based on research of LoRa wireless standard protocol and by combining the MCU system and LoRa modulation technology.First the hardware structure of the water meter and the function of function modules are introduced.The hardware principle diagram of the communication unit and the electromagnetic valve control unit are given.Secondly,the communication protocol and node software design process are described briefly.Finally,the communication distance of the water meter and the method of timing,unicast and broadcast meter reading are tested.The test results show that the water meter has the advantages of long communication distance,high reliability and real-time performance.
smart meter;LoRa;SX1278;wireless meter reading
10.3969/j.issn.1003-3106.2017.12.17
楊歡,李紅信.一種采用LoRa技術的智能水表設計[J].無線電工程,2017,47(12):75-78.[YANG Huan,LI Hongxin.Design on Intelligent Water Meter Based on LoRa Technology[J].Radio Engineering,2017,47(12):75-78.]
TP216.1
A
1003-3106(2017)12-0075-04
2017-08-20
楊歡男,(1990—),碩士研究生。主要研究方向:無線傳感器網絡。
李紅信男,(1968—),博士,碩士生導師,副教授。主要研究方向:工業自動化、工業通信網絡。