柴華芳,毛德興,陳海華,王 洋,陳富光
(寧波水表(集團)股份有限公司,浙江 寧波 315032)
為了順應發展潮流,滿足消費者隨著科技發展而日益增長的萬物互聯的需求,近年來,一批適合物與物之間遠距離通信的無線通信技術飛速發展,如NB-IoT、CAT.1、CAT.4 等。水表行業在物聯網飛速發展的同時也在不斷推陳出新,從傳統機械表到目前技術成熟的帶電子裝置的機械表再到電子水表,水表的功能和性能都在逐步提升以滿足不同用戶需求。目前,占據國內無線遠傳水表市場首位的無線通訊技術當屬NB-IoT。NB-IoT 是一種具有連接終端設備多、覆蓋范圍廣、性價比高、功耗低等多個優點的技術,其發展迅速,不易受干擾,適用性強,深受國內物聯網企業的青睞。在以往NB-IoT 無線遠傳水表的方案中,一般利用NB-IoT 通信模塊外接MCU 上。此類方案中,MCU 負責接收傳感器采集的數據信息,通過UART 方式將采集的數據傳送到NB-IoT 模塊,再由通訊模塊將數據上傳至云平臺[1]。該方案通訊模組與主控制芯片分工明確,但成本較高且不便于后期維護。因此,提出將基于NBIoT 模組的OpenCPU 解決方案,讓NB-IoT 模塊不止負責通訊,還成為處理器,既有利于后期的調試和維護,還能在NBIoT 模塊上同時實現數據采集和數據傳輸,降低電子物料的成本,降低整機功耗以提高產品使用年限,提高數據傳輸的穩定性和數據信息上報的實時效率。
隨著對用戶用水量的記錄成為水表的一項基本功能,無線遠傳水表被賦予監控用水情況并對漏損情況產生告警,對用水數據的存儲和上傳等更廣泛的意義,采集和管理用戶水務信息成為水表的一項重要進階功能。一般無線遠傳水表采用雙芯的架構,主控制芯片與通信模塊各司其職,一起完成內部數據處理和外部數據傳輸的工作。工作過程中,當到預設的數據采樣時間時,通過傳感模塊對數據進行測量和采集,MCU 對采集的數據進行處理,繼而喚醒并激活NB-IoT 通訊模塊,利用NB-IoT 網絡進行數據傳輸和控制指令的交互[2]。
NB-IoT 支持大規模設備連接;有良好的擴展性和適應性,上行峰值速率250kbps,下行峰值速率可達170kbps 以上,完美適配低速率傳輸的市場需求;提升室內信號覆蓋性能,支持地下室和下水管道等區域的信號傳輸;減少設備的復雜性,使通訊方式便捷高效;具有降低功耗和延時的特性。因此,是一種廣泛應用于物聯網中低速傳輸場景的技術,具有海量連接、低時延、半雙工的優勢。NB-IoT有兩種超低功耗模式,即PSM 與eDRX,這兩種節電模式符合低功耗的特性,可實現超長待機,適用于供電方式為鋰電池且數據傳輸頻次中等的環境,如水表、燃氣表、電表等抄表業務類型,此類場景中數據傳輸的頻次一般為一天一次至幾天一次。NB-IoT 網絡憑借其顯著優勢,已經成為低速率傳輸需求的物聯網產品的首選技術。
OpenCPU 是一種以模塊作為主處理器的應用方式,這個系統允許用戶進行部分結構設計、模塊設計、I/O 操作等,后來其所有的技術文檔和源碼都以共享方式在網上公布,成了一個開源的CPU 設計,所以命名為OpenCPU。該方案有很多優點,如開發難度小,靈活度更高;可以簡化研發人員對無線應用的開發流程,加快嵌入式開發速度;具有芯片集成獨立的專用AP 及相應的RAM/ROM,無需外置MCU,只需要增加傳感模塊和電源模塊即可,與之對應的電源也可節省;精簡硬件結構設計,減小終端產品的實際尺寸;降低產品成本,改善性價比,提高競爭能力;集成多種外設接口;工作溫度范圍廣;支持不同功耗模式,深度睡眠狀態時電流小于1μA,接收狀態電流約20 mA 等。OpenCPU 應用到無線通信模組上,主要是為了使用戶可以共享模塊內的處理器和Flash 資源。當前較多模組企業設計的通信模組均采用了該種方式,如移遠的4G 通信模組EC20、海思的Boudica150、Boudica200 等。

圖1 傳統無線遠傳水表硬件設計方案Fig.1 Hardware design scheme of traditional wireless remote water meter
相比于普通模式下的工作模式,OpenCPU 方案中用戶只需要通過串口進行通信模塊的控制、數據發送與接收等,避免了繁瑣的AT 指令以及頻繁的API 接口調用等,可以縮短開發周期并節省部分外圍組件成本[3]。
對于此方案的通訊模塊和主控制模塊,選取了性能優秀的芯翼XY1100S 芯片,使數據交換更高效、快捷。這也使功能更好地集成,更利于后期調試、問題排查與維護。該設計采用OPENCPU 的解決方案,以XY1100S 作為主處理器,節約原本主控芯片的成本同時可以減小硬件部分體積。為了盡可能減少器件的變換,整體硬件結構仍采用原有方案,減少研發周期和難度。采用該種方案,可以簡化用戶對無線應用的開發流程,精簡硬件結構設計,能夠有效降低產品成本的現實優勢,從而提高方案實施的性價比,也有利于大面積的推廣應用。對于系統的數據存儲與計算力,也具有很強的擴展性[4]。
對于傳統方案的無線遠傳水表設計如圖1,對于本方案的具體設計如圖2。

圖2 新無線遠傳水表硬件設計方案Fig.2 Hardware design scheme of the new wireless remote water meter
基于OpenCPU 的無線遠傳水表設計實現了數據采集、處理,與抄表平臺數據交互等功能。該方案具備可維護性和實用性,可以近端對水表進行升級、讀取所需數據,也可以在云平臺進行遠程操作,并確保與云平臺的穩定快速通信,保證通信安全和數據加密,同時能夠適應任何應用場景。水務公司可以實時查詢用水數據和水表參數(如正反向計量、信噪比、通訊記錄等);設置水表參數(底數、自定上報周期等);進行開關閥門的控制等。
為避免終端管道故障造成水資源浪費和用水量超出實際應用量等現象發生,造成用戶的損失,水表設計了自動告警功能。終端設備采集數據超過閾值即遇到故障時,自動向系統上報故障告警,包括過流量報警、模塊分離報警、磁干擾報警、逆流報警、過流報警等。同時,為便于水務公司掌握用戶的使用情況,默認將數據上傳設置為一天一次的周期自動上報,記錄每日48 組數據(即半小時采樣一次),并保存30 日的用水記錄便于分析用水情況。
設計采用芯翼公司的XY1100S 芯片,XY1100S 是一款基于窄帶蜂窩物聯網通信協議,采用軟件無線電架構,同時對聯網通信和低功耗微控制器應用有需求的高性能、高集成度的SOC 芯片,封裝尺寸為6 mm×6 mm,60 個引腳。為支持不同產品的需求差異,具有功耗低、高性價比的優點。XY1100S 可作為低功耗主控MCU(OPENCPU)滿足智能表聯網的需求,使用Cortex-M3 作為應用核處理器。為提高訪問Flash/SRAM 的效率,芯片內部在M3 的SBUS 內置了8KB Cache 控制器,具有完全開放的處理器內核和獨立的內存空間,快速地喚醒響應時間,支持各種低功耗策略和具有低功耗的產品優勢,能夠替代額外的MCU 芯片,降低客戶開發難度和節約成本。芯片內部集成了多種通信協議,如TCP/UDP、HTTP(s)、MQTT、CoAP 等。XY1100S同時提供了豐富的外圍接口,方便用戶開發,廣泛應用于物聯網產品。

圖3 水表軟件設計部分Fig.3 Water meter software design part
2.2.1 功耗設計
該方案選擇用電池對電子裝置進行供電,電池續航可達10 年,并且能提供非常全面的室內覆蓋,無論是地上建筑還是地下室都可保證通訊的穩定性和可靠性。該芯片有3 種不同的休眠狀態,分別為深度休眠模式、待機模式和等待中斷模式。第一級別是WFI:等待中斷模式,CPU 停止,發生任何中斷事件都可以喚醒;第二級別是STANDBY:輕度睡眠模式,CPU 停止,外設時鐘停止,但不掉電,同時可被特殊中斷(GPI)喚醒;第三級別是DEEPSLEEP:深度睡眠模式,功耗要比輕度睡眠模式更低,CPU 停止,外設掉電,但喚醒后復位運行。這三級低功耗狀態通過關閉外設部分、執行SOC 電源管理接口,降低系統功耗。
為降低功耗,延長電池使用時間,使終端設備日常處于睡眠模式,發生內部中斷或是外部中斷時可被喚醒。到預設的采樣時間時,模塊被喚醒,通過傳感模塊進行用水信息采樣。到預設的數據傳輸時間時,模塊被喚醒并開始進行數據傳輸。當數據傳輸結束,查看應答信息,若有閥門的操控指令,模塊根據開、關閥操作指令對閥門進行控制,若沒收到應答信息,模塊進入低功耗模式。
2.2.2 軟件架構
設計中模塊兼具主控制功能和NB-IoT 通信功能,XY1100S 的OpenCPU 解決方案有多種的軟件API 接口,例如:AT 接口、看門狗、串口通信接口、時鐘管理接口、GPIO 與總線控制接口等。因此,該芯片提供的資源完全滿足本方案所需。其集成4M Flash,用來保存數據,掉電不丟失數據,最少支持100000 次擦寫。軟件設計部分如圖3。
2.2.3 數據交互部分
基于OpenCPU 的無線遠傳水表預設為一天一次自動上報表端數據終端設備根據離散預設的估長將區域用戶的上報時間進行離散,當表內時間與離散時間相同時,水表自動將數據傳輸至平臺,同時,平臺接收數據信息后返回一個應答。若超時未收到應答,上報失敗,則啟動重發機制;若上報后返回應答,則說明上報成功,表端收到應答后對返回信息處理。
該方案中無線遠傳水表支持遠程操控的同時,也支持近端通過紅外讀頭對表端數據設置、讀取,對模塊內程序升級和控制閥門操作。用磁鐵觸發干簧管,此時干簧管吸合,將紅外讀頭放置于模塊中的紅外發射管和接收管處,進而通過PC 端軟件對水表相關信息查詢、設置等。干簧管吸合后的3 min 內,為紅外有效期,此時程序循環檢測紅外端口接收的數據,校驗數據合法性,并根據協議對數據處理。3 min 后,干簧管需重新吸合才可繼續上述操作。近端操作可便于水表長期的維護和使用。
受疫情影響,芯片供給失衡,MCU 價格上漲,導致產品整體生產成本提升。而基于OpenCPU 的無線遠傳水表將OpenCPU 應用于NB-IoT 模塊,讓其作為主處理器不但能解決該問題,還能使硬件設計整體成本大幅下降。無需外接MCU 即可對水表工作的相關信息進行采集,并對這些數據進行分析等相關處理,同時,通過NB-IoT 網絡與基站傳輸數據,并連接綜合抄表平臺,實現便捷抄表,提升數據準確性及遠程操控閥門等。該無線遠傳水表方案以實現水務公司用水信息采集的時效性為目標,以降低水表企業生產和維護成本為方向,能夠極大程度提升供水公司用水管理水平,有效地彌補現有水表的局限性,具有廣闊的應用前景。