物聯(lián)網(wǎng)的英文名稱是“The Internet of things”,簡稱IoT,意思是“物物相連的互聯(lián)網(wǎng)”,物聯(lián)網(wǎng)的核心和基礎仍然是互聯(lián)網(wǎng),是在互聯(lián)網(wǎng)基礎上延伸和擴展的網(wǎng)絡,其用戶端延伸和擴展到了任何物品與物品之間進行信息交換和通信。近二十年,電子技術和互聯(lián)網(wǎng)絡技術的發(fā)展大大促進了水表技術的進步,從傳統(tǒng)機械水表到本地IC卡水表,從IC卡水表到總線式通信水表和無線通信水表,近幾年低功耗廣域網(wǎng)技術的進步促進了物聯(lián)網(wǎng)水表的大量應用,如圖1所示為物聯(lián)網(wǎng)水表的發(fā)展歷程。
圖1 物聯(lián)網(wǎng)水表的發(fā)展歷程
一、物聯(lián)網(wǎng)水表的誕生歷程
回首上世紀九十年代末,國內(nèi)智能水表行業(yè)借鑒電表、安防等行業(yè)經(jīng)驗,采用RS-485國際標準總線通信技術來實現(xiàn)自動抄水表的功能。2007年左右國內(nèi)部分智能水表企業(yè)開始在歐洲Mini-Bus總線電路基礎上修改后產(chǎn)生了國內(nèi)的M-Bus總線電路。但由于各企業(yè)的M-Bus總線電平處理方式有細微差別,各廠家的產(chǎn)品之間兼容性較差。另外,總線制通信技術方案由于工程布線工作量大,必須在弱電建設時介入、預留布線管道,適用于新建樓盤和小區(qū),不適用大量的舊小區(qū)改造和不方便布線的項目。
2010年左右,隨著智能抄表在水行業(yè)的廣泛應用,部分城市除了新建樓盤采用智能水表,周期更換項目也開始采用智能水表。舊小區(qū)無法布線,原有總線制通信方案的弊端暴露出來。在這種背景下小無線通信技術開始在智能水表上應用,從早期的Zigbee到RF(FSK)、LoRa等。無論哪種小無線在實際應用過程中都不可避免地出現(xiàn)信號干擾、穿透能力有限、無法保證無線水表大面積應用過程中信號的有效覆蓋和通訊穩(wěn)定性。
2013年左右,隨著中移物聯(lián)網(wǎng)成立并推出物聯(lián)網(wǎng)卡業(yè)務,GPRS流量費用得到了大幅下降,原來只用在集中器、采集器上的GPRS技術開始向智能水表終端轉移。物聯(lián)網(wǎng)水表在水務應用中趨向于簡單化,供水公司可以像普通水表一樣去安裝和維護,這為周期更換水表業(yè)務提供了一種更簡便的智能化手段。但是也存在兩個問題:一是由于水表安排位置一般在角落或者是比較密閉的管道井里,部分水表的位置基站信號并不好,在大面積使用過程中總會碰到一些點信號不好,無法保證通信的穩(wěn)定性。二是GPRS模塊功耗過大,為降低功耗不得不降低通信頻次,無法實現(xiàn)實時雙向通信,只能采取定時定向喚醒的通信方式。
2015年隨著在歐洲商用NB-IoT成功,運營商簽訂了NB-IoT技術在中國商用的戰(zhàn)略計劃,NB-IoT將在未來的物聯(lián)網(wǎng)層面上取代現(xiàn)有的GPRS通信網(wǎng)絡。NB-IoT技術更強的穿透能力、覆蓋能力、與LoRa相當?shù)牡凸哪軌蚪鉀Q上述GPRS的問題。另外,NB-IoT技術具有低功耗、廣深覆蓋、低成本、免維護等特點,應用于智慧水務方面,可以高安全、低成本的實現(xiàn)對智能水表的流量信息穩(wěn)定地實時采集、設備狀態(tài)監(jiān)測、控制指令下發(fā)等遠程操作,將采集的水表數(shù)據(jù)和狀態(tài)信息進行及時分析和處理,從而實現(xiàn)更有針對性、科學性的動態(tài)管理,提升智慧水務的管理效率和服務水平。
二、物聯(lián)網(wǎng)水表的安全問題
有網(wǎng)絡的地方就會有安全問題,尤其是基于NB-IoT技術的公網(wǎng)系統(tǒng),每個水表節(jié)點都能直接連接云端,沒有中間網(wǎng)關環(huán)節(jié),成為被攻擊的直接對象。物聯(lián)網(wǎng)水表系統(tǒng)如圖2所示,安全設計應該從終端本身著手,由下而上全方位做好安全防護,才能保證整個系統(tǒng)的安全性。物聯(lián)網(wǎng)終端的主要安全措施有增加訪問者的身份驗證和設備認證、數(shù)據(jù)存儲和傳輸采用國密算法加密等。
圖2. 物聯(lián)網(wǎng)水表系統(tǒng)
近年來,相關部門對物聯(lián)網(wǎng)水表的安全設計也提出了具體要求:物聯(lián)網(wǎng)水表管理平臺應具備擴展性、以及TB級數(shù)據(jù)量的長期存儲、安全使用能力。系統(tǒng)應具備快速處理和大量用戶并發(fā)處理能力。支持物聯(lián)網(wǎng)水表終端采用安全芯片提供加密和認證,并優(yōu)先選用國密算法和技術。
物聯(lián)網(wǎng)水表平臺設計應符合信息安全等級保護三級及云平臺安全相關要求,采用符合國家技術與法規(guī)要求的國密算法。支持國密算法及密鑰的管理與發(fā)行,支持無證書的非對稱密碼體系。支持多安全域管理、多安全應用和遠程的安全下載。支持采用無證書機制提供統(tǒng)一認證服務。支持符合國密標準的對稱與非對稱數(shù)據(jù)加密保護通信通道。支持數(shù)據(jù)加解密、簽名驗簽、隨機數(shù)生成、密鑰生成等,敏感數(shù)據(jù)加密存儲和訪問控制、快速銷毀,支持安全設備管理、安全策略配置、密鑰管理、安全事件監(jiān)測、行為安全審計。
物聯(lián)網(wǎng)水表系統(tǒng)應提供角色管理、權限管理、統(tǒng)一認證等功能。采用加解密(含對稱與非對稱密鑰、數(shù)字信封等)、簽名驗簽等安全手段。提供對重要事件的日志管理功能。根據(jù)業(yè)務需要,提供基于IP網(wǎng)絡的服務接口,需采用遠程過程調(diào)用RPC接口或Restful接口形式;提供基于NB-IoT網(wǎng)絡服務接口,需結合NB-IoT網(wǎng)絡特性進行安全設計。
三、RJM8L151系列低功耗安全MCU
鑒于物聯(lián)網(wǎng)終端設備對功耗和安全問題的迫切需求,瑞納捷電子推出了RJM8L151系列是超低功耗安全MCU,非常適用于電池供電的物聯(lián)網(wǎng)終端設備。RJM8L151系列不僅具備出色的運行和待機功耗表現(xiàn),還內(nèi)置了硬件真隨機數(shù)發(fā)生器和AES/DES/SM4硬件加密引擎。集成12位高精度逐次逼近型ADC和2通道的多功能比較器,對物聯(lián)網(wǎng)傳感器的高精度、實時檢測極為有益。RJM8L151豐富的外圍接口使擴展各種通信模塊、功能模塊更加方便。RJM8L151基于增強型哈佛架構的CPU內(nèi)核和多級流水線指令系統(tǒng),相同時鐘頻率的處理性能是傳統(tǒng)8051的3倍,采用Keil uVision4或IAR集成開發(fā)環(huán)境開發(fā)調(diào)試應用代碼。RJM8L151系列安全MCU的硬件框圖如圖3所示。
圖3 RJM8L151系列安全MCU硬件框圖
RJM8L151有4個時鐘源:內(nèi)部高速時鐘、內(nèi)部低速時鐘、外部高速時鐘和外部低速時鐘。RJM8L151的時鐘控制模塊將這幾個時鐘源通過靈活的配置分頻實現(xiàn)不同的功耗和性能需求。輔助系統(tǒng)時鐘可以使用內(nèi)部低速時鐘或外部低速時鐘實現(xiàn)低功耗的要求,主系統(tǒng)時鐘提供給RJM8L151的CPU,子系統(tǒng)時鐘為外設提供給時鐘源。多樣的時鐘資源可以降低系統(tǒng)消耗,輔助系統(tǒng)時鐘在保持低功耗的同時也可以接受外部中斷,響應外部環(huán)境的變化。使用內(nèi)部高速RC振蕩器作為主系統(tǒng)時鐘,不僅可以省去一個外部的高速晶振,同時可以快速喚醒MCU來降低功耗。
RJM8L151設計了豐富的定時模塊,包括2個16位基本定時器,1個16位通用定時器支持輸入捕獲/輸出比較/PWM輸出功能。2個16位高級定時器除了支持輸入捕獲/輸出比較/PWM輸出功能,還支持12對互補PWM輸出。1個實時時鐘RTC模塊,產(chǎn)生年、月、日、時、分、秒,并有自動閏年補償功能,采用外部32.768kHz晶振提供時鐘可使計時誤差更小。RJM8L151內(nèi)嵌15位窗口看門狗定時器,采用系統(tǒng)時鐘計時,溢出時可產(chǎn)生中斷或復位信號,待機模式下停止計數(shù)。
RJM8L151單片機的開發(fā)環(huán)境是Keil uVision4。Keil是全球領先的嵌入式系統(tǒng)開發(fā)工具供應商,uVision4是C/C++編譯器和調(diào)試器的集成開發(fā)環(huán)境(IDE)的第4版本,其中的Keil C51支持RJM8L151的開發(fā)調(diào)試,該環(huán)境集編輯,編譯,仿真于一體,支持匯編和C語言的程序設計。
RJM8L151系列MCU配備了高效的在線仿真器和下載器,既可以方便前期開發(fā)調(diào)試又為后期生產(chǎn)安裝提供了方便。RJM8L151支持標準JTAG下載和調(diào)試,可以不使用仿真器,用離線編程器就可以實現(xiàn)對內(nèi)存Flash的修改,提高了批量燒錄的效率,也為程序升級維護提供了方便。
三、基于RJM8L151的物聯(lián)網(wǎng)水表方案
基于RJM8L151的物聯(lián)網(wǎng)水表方案的硬件框如圖4所示。主要包括RJM8L151C8T6單片機、NB-IoT(或LoRa)通信模塊、水流量脈沖采集電路和傳感器(干簧管或霍爾IC)、電磁閥驅動電流、報警輸出電路、EEPROM存儲電路等,擴展模塊包括LCM顯示模組、BLE藍牙模塊和嵌入式安全模塊ESAM。基于RJM8L151的物聯(lián)網(wǎng)水表方案特點如下所述
圖4 物聯(lián)網(wǎng)水表硬件框圖
?? RJM8L151的正常工作電壓范圍是1.62V到5.5V,非常適合3.6V的鋰電池供電,可將電池能量利用率利用到,另外RJM8L151低至0.5uA的待機電流,既能保持內(nèi)部RTC的正常計時,又能保持SRAM數(shù)據(jù)不變,該性能可大大減小系統(tǒng)對電池容量尺寸的要求。RJM8L151具有6種電源管理模式,通過裁剪時鐘樹的方式關閉時鐘來實現(xiàn)不同需求的功耗。一般情況下使用內(nèi)部低速時鐘就可以完成對外部中斷的響應,同時又可以保持很低的功耗,這是同類MCU無法做到的。另外,RJM8L151從低功耗狀態(tài)喚醒小于5us,可以實現(xiàn)快速睡眠快速喚醒低占空比工作,這又極大的降低了系統(tǒng)功耗。
??RJM8L151在普通低功耗MCU的基礎上增加了硬件加密模塊和真隨機數(shù)發(fā)生器,即所謂的安全MCU。安全MCU的安全性介于通用MCU和獨立加密單元(SE)之間,在成本和功耗方面比SE有更大優(yōu)勢。安全MCU能夠實現(xiàn)基本的數(shù)據(jù)加解密和身份認證功能,非常適合物聯(lián)網(wǎng)終端的應用。
??電池電量的檢測是電池供電設備的一個重要模塊。當電池電量過低時,會導致MCU的復位,從而使設備消耗更多的電量,進一步加劇電量的損耗。同時,對電池電量的檢測行為也會增加電池的能量消耗,因此要平衡電池電量檢測的使用頻次。RJM8L151提供了7通道的12位ADC檢測外部輸入電壓,還有2通道的電壓比較器,電池電壓通過分壓電阻采樣后輸入到ADC模塊或比較器模塊。ADC模塊的工作時鐘來自CPU時鐘,基準電壓來自于內(nèi)部或外部輸入,支持單次采樣和多次采樣,并內(nèi)置了校準單元。ADC轉換過程中,為了不影響CPU執(zhí)行其它任務,可設置ADC轉換結束產(chǎn)生中斷。如果用ADC做電池電壓的檢測建議用查詢方式,根據(jù)鋰電池的放電曲線特點,電池電量檢測不必過于頻繁,每15到20分鐘檢測一次電池電量足以。某些應用中,了及時檢測到電池電壓的狀態(tài)又不增加功耗,可以結合RJM8L151的比較器和ADC模塊各自優(yōu)勢,先用比較器定性檢測電池電壓的是否低于報警閥值,再啟用ADC定量檢測電池實時電壓以確認是否啟動報警,比較器響應速度快功耗低,但只能定性比較。
??RJM8L151在工作中大部分時間處于低功耗狀態(tài),通過水流量脈沖采集電路觸發(fā)喚醒來計量用水量,也可以通過定時器定時喚醒開啟NB-IoT,向云端服務上傳水表數(shù)據(jù)。RJM8L151多達40個中斷向量入口,支持5個外部中斷輸入,30個中斷優(yōu)先級,確保每個外來信號都能被檢測到。
?? 傳統(tǒng)的IC卡水表都有本地操作的需求,LCD顯示屏是必須的。而物聯(lián)網(wǎng)水表是可以通過遠程操作讀寫水表數(shù)據(jù),所以LCD顯示屏不是必須的,方案中將LCM模組做為可選硬件,預留I2C接口做為模組的通信端口,在一些特殊應用中才予以配備。
圖5 智能水表水流量檢測
?? 智能水表的水量檢測模塊基于對干式磁傳水表的碼盤進行檢測,通過累計計數(shù)得到水量信息,如圖5所示。碼盤為對稱的黑白色,由水表的葉輪帶動,每0.001m3轉一圈。自來水的流速與水壓和管徑有很大的關系,但是高流速不會超過3m/s,轉一圈的時間多1s。碼盤上面有兩個顏色,轉一圈需要檢測4種狀態(tài),分別是全黑色、全白色、1個是黑色1個是白色和1個是白色1個是黑色。通過這4種狀態(tài)的檢測可以得到碼盤轉動一圈的完整過程。通過RJM8L151的GPIO啟動碼盤檢測電路,再通過定時器中斷掃描的方式檢測碼盤狀態(tài),定時中斷周期為100ms左右為好,這樣可以保證不會出現(xiàn)漏記的現(xiàn)象出現(xiàn)。
?? 通過對流量的檢測和轉一圈的時間做除法可以得到實時的流速,RJM8L151內(nèi)置16位的硬件除法器可以支持快速運算,并將計算出來的流速和流量信息存儲到外部EEPROM中。使用碼盤的方式同樣可以解決水表倒轉的現(xiàn)象,通過檢測碼盤的4個狀態(tài),將上一次記錄的碼盤的狀態(tài)與當前碼盤狀態(tài)比對可判斷出碼盤是正轉還是反轉,或者是沒有轉動。
?? 擴展的BLE藍牙模塊可解決現(xiàn)場調(diào)試和后期維護,也可用于水表生產(chǎn)中表號及重要參數(shù)的設置。也可以通過用戶手機APP連接藍牙模塊,讀取水表狀態(tài)和錯誤狀態(tài)。
?? 基于RJMU401的ESAM是嵌入式安全模塊,其硬件基于CPU卡芯片,安全性高,可做為電子錢包使用,存儲充值及消費金額,以及其他一 些重要的參數(shù),同時具有身份識別功能,與外部卡片進行雙向身份認證。隨著物聯(lián)網(wǎng)終端安全問題的日益突出,ESAM被廣泛應用于各種嵌入式終端實現(xiàn)數(shù)據(jù)的安全存儲、數(shù)據(jù)的加解密、終端身份的識別與認證,嵌入式軟件的版權保護、DRM數(shù)字版權的管理等功能。
四、 基于RJM8L151物聯(lián)網(wǎng)水表方案的優(yōu)勢
1、超低功耗
RJM8L151系列MCU多達6種低功耗管理模式,待機功耗低至0.35uA,待機喚醒時間低于5us。大大延長水表電池的使用壽命,實現(xiàn)水表電池在整個生命周期內(nèi)不用更換。
2、接口豐富
RJM8L151系列MCU集成4路SPI接口和4路UART接口,使外掛LoRa模塊、NB-IoT和藍牙模塊的電路設計更加靈活多樣。2路I2C接口可以外接LCD顯示驅動器和EEPROM存儲器,1路智能卡7816接口對擴展外掛ESAM模塊更加方便。
3、集成硬件加密模塊
RJM8L151系列MCU內(nèi)置對稱式分組加密算法AES和SM4,SM4符合國家密碼管理局發(fā)布的GM/T 0002-2012《SM4分組密碼算法》標準,適用于物聯(lián)網(wǎng)數(shù)據(jù)傳輸中的數(shù)據(jù)加解密
4、真隨機數(shù)發(fā)生
RJM8L151系列內(nèi)置基于數(shù)字振蕩環(huán)的8位真隨機數(shù)發(fā)生器,符合國家密碼管理局《隨機數(shù)檢測規(guī)范》標準。
5、存儲器安全
RJM8L151系列針對內(nèi)部Flash、SRAM等存儲單元設計了高強度物理防護電路,有效防止惡意代碼竊取和反向分析。