柴華芳,毛德興,陳海華,王 洋,陳富光
(寧波水表(集團(tuán))股份有限公司,浙江 寧波 315032)
為了順應(yīng)發(fā)展潮流,滿足消費(fèi)者隨著科技發(fā)展而日益增長的萬物互聯(lián)的需求,近年來,一批適合物與物之間遠(yuǎn)距離通信的無線通信技術(shù)飛速發(fā)展,如NB-IoT、CAT.1、CAT.4 等。水表行業(yè)在物聯(lián)網(wǎng)飛速發(fā)展的同時也在不斷推陳出新,從傳統(tǒng)機(jī)械表到目前技術(shù)成熟的帶電子裝置的機(jī)械表再到電子水表,水表的功能和性能都在逐步提升以滿足不同用戶需求。目前,占據(jù)國內(nèi)無線遠(yuǎn)傳水表市場首位的無線通訊技術(shù)當(dāng)屬NB-IoT。NB-IoT 是一種具有連接終端設(shè)備多、覆蓋范圍廣、性價比高、功耗低等多個優(yōu)點(diǎn)的技術(shù),其發(fā)展迅速,不易受干擾,適用性強(qiáng),深受國內(nèi)物聯(lián)網(wǎng)企業(yè)的青睞。在以往NB-IoT 無線遠(yuǎn)傳水表的方案中,一般利用NB-IoT 通信模塊外接MCU 上。此類方案中,MCU 負(fù)責(zé)接收傳感器采集的數(shù)據(jù)信息,通過UART 方式將采集的數(shù)據(jù)傳送到NB-IoT 模塊,再由通訊模塊將數(shù)據(jù)上傳至云平臺[1]。該方案通訊模組與主控制芯片分工明確,但成本較高且不便于后期維護(hù)。因此,提出將基于NBIoT 模組的OpenCPU 解決方案,讓NB-IoT 模塊不止負(fù)責(zé)通訊,還成為處理器,既有利于后期的調(diào)試和維護(hù),還能在NBIoT 模塊上同時實(shí)現(xiàn)數(shù)據(jù)采集和數(shù)據(jù)傳輸,降低電子物料的成本,降低整機(jī)功耗以提高產(chǎn)品使用年限,提高數(shù)據(jù)傳輸?shù)姆€(wěn)定性和數(shù)據(jù)信息上報的實(shí)時效率。
隨著對用戶用水量的記錄成為水表的一項(xiàng)基本功能,無線遠(yuǎn)傳水表被賦予監(jiān)控用水情況并對漏損情況產(chǎn)生告警,對用水?dāng)?shù)據(jù)的存儲和上傳等更廣泛的意義,采集和管理用戶水務(wù)信息成為水表的一項(xiàng)重要進(jìn)階功能。一般無線遠(yuǎn)傳水表采用雙芯的架構(gòu),主控制芯片與通信模塊各司其職,一起完成內(nèi)部數(shù)據(jù)處理和外部數(shù)據(jù)傳輸?shù)墓ぷ?。工作過程中,當(dāng)?shù)筋A(yù)設(shè)的數(shù)據(jù)采樣時間時,通過傳感模塊對數(shù)據(jù)進(jìn)行測量和采集,MCU 對采集的數(shù)據(jù)進(jìn)行處理,繼而喚醒并激活NB-IoT 通訊模塊,利用NB-IoT 網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸和控制指令的交互[2]。
NB-IoT 支持大規(guī)模設(shè)備連接;有良好的擴(kuò)展性和適應(yīng)性,上行峰值速率250kbps,下行峰值速率可達(dá)170kbps 以上,完美適配低速率傳輸?shù)氖袌鲂枨?;提升室?nèi)信號覆蓋性能,支持地下室和下水管道等區(qū)域的信號傳輸;減少設(shè)備的復(fù)雜性,使通訊方式便捷高效;具有降低功耗和延時的特性。因此,是一種廣泛應(yīng)用于物聯(lián)網(wǎng)中低速傳輸場景的技術(shù),具有海量連接、低時延、半雙工的優(yōu)勢。NB-IoT有兩種超低功耗模式,即PSM 與eDRX,這兩種節(jié)電模式符合低功耗的特性,可實(shí)現(xiàn)超長待機(jī),適用于供電方式為鋰電池且數(shù)據(jù)傳輸頻次中等的環(huán)境,如水表、燃?xì)獗怼㈦姳淼瘸順I(yè)務(wù)類型,此類場景中數(shù)據(jù)傳輸?shù)念l次一般為一天一次至幾天一次。NB-IoT 網(wǎng)絡(luò)憑借其顯著優(yōu)勢,已經(jīng)成為低速率傳輸需求的物聯(lián)網(wǎng)產(chǎn)品的首選技術(shù)。
OpenCPU 是一種以模塊作為主處理器的應(yīng)用方式,這個系統(tǒng)允許用戶進(jìn)行部分結(jié)構(gòu)設(shè)計、模塊設(shè)計、I/O 操作等,后來其所有的技術(shù)文檔和源碼都以共享方式在網(wǎng)上公布,成了一個開源的CPU 設(shè)計,所以命名為OpenCPU。該方案有很多優(yōu)點(diǎn),如開發(fā)難度小,靈活度更高;可以簡化研發(fā)人員對無線應(yīng)用的開發(fā)流程,加快嵌入式開發(fā)速度;具有芯片集成獨(dú)立的專用AP 及相應(yīng)的RAM/ROM,無需外置MCU,只需要增加傳感模塊和電源模塊即可,與之對應(yīng)的電源也可節(jié)??;精簡硬件結(jié)構(gòu)設(shè)計,減小終端產(chǎn)品的實(shí)際尺寸;降低產(chǎn)品成本,改善性價比,提高競爭能力;集成多種外設(shè)接口;工作溫度范圍廣;支持不同功耗模式,深度睡眠狀態(tài)時電流小于1μA,接收狀態(tài)電流約20 mA 等。OpenCPU 應(yīng)用到無線通信模組上,主要是為了使用戶可以共享模塊內(nèi)的處理器和Flash 資源。當(dāng)前較多模組企業(yè)設(shè)計的通信模組均采用了該種方式,如移遠(yuǎn)的4G 通信模組EC20、海思的Boudica150、Boudica200 等。
圖1 傳統(tǒng)無線遠(yuǎn)傳水表硬件設(shè)計方案Fig.1 Hardware design scheme of traditional wireless remote water meter
相比于普通模式下的工作模式,OpenCPU 方案中用戶只需要通過串口進(jìn)行通信模塊的控制、數(shù)據(jù)發(fā)送與接收等,避免了繁瑣的AT 指令以及頻繁的API 接口調(diào)用等,可以縮短開發(fā)周期并節(jié)省部分外圍組件成本[3]。
對于此方案的通訊模塊和主控制模塊,選取了性能優(yōu)秀的芯翼XY1100S 芯片,使數(shù)據(jù)交換更高效、快捷。這也使功能更好地集成,更利于后期調(diào)試、問題排查與維護(hù)。該設(shè)計采用OPENCPU 的解決方案,以XY1100S 作為主處理器,節(jié)約原本主控芯片的成本同時可以減小硬件部分體積。為了盡可能減少器件的變換,整體硬件結(jié)構(gòu)仍采用原有方案,減少研發(fā)周期和難度。采用該種方案,可以簡化用戶對無線應(yīng)用的開發(fā)流程,精簡硬件結(jié)構(gòu)設(shè)計,能夠有效降低產(chǎn)品成本的現(xiàn)實(shí)優(yōu)勢,從而提高方案實(shí)施的性價比,也有利于大面積的推廣應(yīng)用。對于系統(tǒng)的數(shù)據(jù)存儲與計算力,也具有很強(qiáng)的擴(kuò)展性[4]。
對于傳統(tǒng)方案的無線遠(yuǎn)傳水表設(shè)計如圖1,對于本方案的具體設(shè)計如圖2。
圖2 新無線遠(yuǎn)傳水表硬件設(shè)計方案Fig.2 Hardware design scheme of the new wireless remote water meter
基于OpenCPU 的無線遠(yuǎn)傳水表設(shè)計實(shí)現(xiàn)了數(shù)據(jù)采集、處理,與抄表平臺數(shù)據(jù)交互等功能。該方案具備可維護(hù)性和實(shí)用性,可以近端對水表進(jìn)行升級、讀取所需數(shù)據(jù),也可以在云平臺進(jìn)行遠(yuǎn)程操作,并確保與云平臺的穩(wěn)定快速通信,保證通信安全和數(shù)據(jù)加密,同時能夠適應(yīng)任何應(yīng)用場景。水務(wù)公司可以實(shí)時查詢用水?dāng)?shù)據(jù)和水表參數(shù)(如正反向計量、信噪比、通訊記錄等);設(shè)置水表參數(shù)(底數(shù)、自定上報周期等);進(jìn)行開關(guān)閥門的控制等。
為避免終端管道故障造成水資源浪費(fèi)和用水量超出實(shí)際應(yīng)用量等現(xiàn)象發(fā)生,造成用戶的損失,水表設(shè)計了自動告警功能。終端設(shè)備采集數(shù)據(jù)超過閾值即遇到故障時,自動向系統(tǒng)上報故障告警,包括過流量報警、模塊分離報警、磁干擾報警、逆流報警、過流報警等。同時,為便于水務(wù)公司掌握用戶的使用情況,默認(rèn)將數(shù)據(jù)上傳設(shè)置為一天一次的周期自動上報,記錄每日48 組數(shù)據(jù)(即半小時采樣一次),并保存30 日的用水記錄便于分析用水情況。
設(shè)計采用芯翼公司的XY1100S 芯片,XY1100S 是一款基于窄帶蜂窩物聯(lián)網(wǎng)通信協(xié)議,采用軟件無線電架構(gòu),同時對聯(lián)網(wǎng)通信和低功耗微控制器應(yīng)用有需求的高性能、高集成度的SOC 芯片,封裝尺寸為6 mm×6 mm,60 個引腳。為支持不同產(chǎn)品的需求差異,具有功耗低、高性價比的優(yōu)點(diǎn)。XY1100S 可作為低功耗主控MCU(OPENCPU)滿足智能表聯(lián)網(wǎng)的需求,使用Cortex-M3 作為應(yīng)用核處理器。為提高訪問Flash/SRAM 的效率,芯片內(nèi)部在M3 的SBUS 內(nèi)置了8KB Cache 控制器,具有完全開放的處理器內(nèi)核和獨(dú)立的內(nèi)存空間,快速地喚醒響應(yīng)時間,支持各種低功耗策略和具有低功耗的產(chǎn)品優(yōu)勢,能夠替代額外的MCU 芯片,降低客戶開發(fā)難度和節(jié)約成本。芯片內(nèi)部集成了多種通信協(xié)議,如TCP/UDP、HTTP(s)、MQTT、CoAP 等。XY1100S同時提供了豐富的外圍接口,方便用戶開發(fā),廣泛應(yīng)用于物聯(lián)網(wǎng)產(chǎn)品。
圖3 水表軟件設(shè)計部分Fig.3 Water meter software design part
2.2.1 功耗設(shè)計
該方案選擇用電池對電子裝置進(jìn)行供電,電池續(xù)航可達(dá)10 年,并且能提供非常全面的室內(nèi)覆蓋,無論是地上建筑還是地下室都可保證通訊的穩(wěn)定性和可靠性。該芯片有3 種不同的休眠狀態(tài),分別為深度休眠模式、待機(jī)模式和等待中斷模式。第一級別是WFI:等待中斷模式,CPU 停止,發(fā)生任何中斷事件都可以喚醒;第二級別是STANDBY:輕度睡眠模式,CPU 停止,外設(shè)時鐘停止,但不掉電,同時可被特殊中斷(GPI)喚醒;第三級別是DEEPSLEEP:深度睡眠模式,功耗要比輕度睡眠模式更低,CPU 停止,外設(shè)掉電,但喚醒后復(fù)位運(yùn)行。這三級低功耗狀態(tài)通過關(guān)閉外設(shè)部分、執(zhí)行SOC 電源管理接口,降低系統(tǒng)功耗。
為降低功耗,延長電池使用時間,使終端設(shè)備日常處于睡眠模式,發(fā)生內(nèi)部中斷或是外部中斷時可被喚醒。到預(yù)設(shè)的采樣時間時,模塊被喚醒,通過傳感模塊進(jìn)行用水信息采樣。到預(yù)設(shè)的數(shù)據(jù)傳輸時間時,模塊被喚醒并開始進(jìn)行數(shù)據(jù)傳輸。當(dāng)數(shù)據(jù)傳輸結(jié)束,查看應(yīng)答信息,若有閥門的操控指令,模塊根據(jù)開、關(guān)閥操作指令對閥門進(jìn)行控制,若沒收到應(yīng)答信息,模塊進(jìn)入低功耗模式。
2.2.2 軟件架構(gòu)
設(shè)計中模塊兼具主控制功能和NB-IoT 通信功能,XY1100S 的OpenCPU 解決方案有多種的軟件API 接口,例如:AT 接口、看門狗、串口通信接口、時鐘管理接口、GPIO 與總線控制接口等。因此,該芯片提供的資源完全滿足本方案所需。其集成4M Flash,用來保存數(shù)據(jù),掉電不丟失數(shù)據(jù),最少支持100000 次擦寫。軟件設(shè)計部分如圖3。
2.2.3 數(shù)據(jù)交互部分
基于OpenCPU 的無線遠(yuǎn)傳水表預(yù)設(shè)為一天一次自動上報表端數(shù)據(jù)終端設(shè)備根據(jù)離散預(yù)設(shè)的估長將區(qū)域用戶的上報時間進(jìn)行離散,當(dāng)表內(nèi)時間與離散時間相同時,水表自動將數(shù)據(jù)傳輸至平臺,同時,平臺接收數(shù)據(jù)信息后返回一個應(yīng)答。若超時未收到應(yīng)答,上報失敗,則啟動重發(fā)機(jī)制;若上報后返回應(yīng)答,則說明上報成功,表端收到應(yīng)答后對返回信息處理。
該方案中無線遠(yuǎn)傳水表支持遠(yuǎn)程操控的同時,也支持近端通過紅外讀頭對表端數(shù)據(jù)設(shè)置、讀取,對模塊內(nèi)程序升級和控制閥門操作。用磁鐵觸發(fā)干簧管,此時干簧管吸合,將紅外讀頭放置于模塊中的紅外發(fā)射管和接收管處,進(jìn)而通過PC 端軟件對水表相關(guān)信息查詢、設(shè)置等。干簧管吸合后的3 min 內(nèi),為紅外有效期,此時程序循環(huán)檢測紅外端口接收的數(shù)據(jù),校驗(yàn)數(shù)據(jù)合法性,并根據(jù)協(xié)議對數(shù)據(jù)處理。3 min 后,干簧管需重新吸合才可繼續(xù)上述操作。近端操作可便于水表長期的維護(hù)和使用。
受疫情影響,芯片供給失衡,MCU 價格上漲,導(dǎo)致產(chǎn)品整體生產(chǎn)成本提升。而基于OpenCPU 的無線遠(yuǎn)傳水表將OpenCPU 應(yīng)用于NB-IoT 模塊,讓其作為主處理器不但能解決該問題,還能使硬件設(shè)計整體成本大幅下降。無需外接MCU 即可對水表工作的相關(guān)信息進(jìn)行采集,并對這些數(shù)據(jù)進(jìn)行分析等相關(guān)處理,同時,通過NB-IoT 網(wǎng)絡(luò)與基站傳輸數(shù)據(jù),并連接綜合抄表平臺,實(shí)現(xiàn)便捷抄表,提升數(shù)據(jù)準(zhǔn)確性及遠(yuǎn)程操控閥門等。該無線遠(yuǎn)傳水表方案以實(shí)現(xiàn)水務(wù)公司用水信息采集的時效性為目標(biāo),以降低水表企業(yè)生產(chǎn)和維護(hù)成本為方向,能夠極大程度提升供水公司用水管理水平,有效地彌補(bǔ)現(xiàn)有水表的局限性,具有廣闊的應(yīng)用前景。