点击“蓝字”关注我们
物联网的英文名称是“The Internet of things”,简称IoT,意思是“物物相连的互联网”,物联网的核心和基础仍然是互联网,是在互联网基础上延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间进行信息交换和通信。最近二十年,电子技术和互联网络技术的发展大大促进了水表技术的进步,从传统机械水表到本地IC卡水表,从IC卡水表到总线式通信水表和无线通信水表,最近几年低功耗广域网技术的进步促进了物联网水表的大量应用,如图1所示为物联网水表的发展历程。
图1 物联网水表的发展历程
回首上世纪九十年代末,国内智能水表行业借鉴电表、安防等行业经验,采用RS-485国际标准总线通信技术来实现自动抄水表的功能。2007年左右国内部分智能水表企业开始在欧洲Mini-Bus总线电路基础上修改后产生了国内的M-Bus总线电路。但由于各企业的M-Bus总线电平处理方式有细微差别,各厂家的产品之间兼容性较差。另外,总线制通信技术方案由于工程布线工作量大,必须在弱电建设时介入、预留布线管道,适用于新建楼盘和小区,不适用大量的旧小区改造和不方便布线的项目。
2010年左右,随着智能抄表在水行业的广泛应用,部分城市除了新建楼盘采用智能水表,周期更换项目也开始采用智能水表。旧小区无法布线,原有总线制通信方案的弊端暴露出来。在这种背景下小无线通信技术开始在智能水表上应用,从早期的Zigbee到RF(FSK)、LoRa等。无论哪种小无线在实际应用过程中都不可避免地出现信号干扰、穿透能力有限、无法保证无线水表大面积应用过程中信号的有效覆盖和通讯稳定性。
2013年左右,随着中移物联网成立并推出物联网卡业务,GPRS流量费用得到了大幅下降,原来只用在集中器、采集器上的GPRS技术开始向智能水表终端转移。物联网水表在水务应用中趋向于简单化,供水公司可以像普通水表一样去安装和维护,这为周期更换水表业务提供了一种更简便的智能化手段。但是也存在两个问题:一是由于水表安排位置一般在角落或者是比较密闭的管道井里,部分水表的位置基站信号并不好,在大面积使用过程中总会碰到一些点信号不好,无法保证通信的稳定性。二是GPRS模块功耗过大,为降低功耗不得不降低通信频次,无法实现实时双向通信,只能采取定时定向唤醒的通信方式。
2015年随着华为在欧洲商用NB-IoT成功,华为与三大运营商签订了NB-IoT技术在中国商用的战略计划,NB-IoT将在未来的物联网层面上取代现有的GPRS通信网络。NB-IoT技术更强的穿透能力、覆盖能力、与LoRa相当的低功耗能够解决上述GPRS的问题。另外,NB-IoT技术具有低功耗、广深覆盖、低成本、免维护等特点,应用于智慧水务方面,可以高安全、低成本的实现对智能水表的流量信息稳定地实时采集、设备状态监测、控制指令下发等远程操作,将采集的水表数据和状态信息进行及时分析和处理,从而实现更有针对性、科学性的动态管理,提升智慧水务的管理效率和服务水平。
有网络的地方就会有安全问题,尤其是基于NB-IoT技术的公网系统,每个水表节点都能直接连接云端,没有中间网关环节,成为被攻击的直接对象。物联网水表系统如图2所示,安全设计应该从终端本身着手,由下而上全方位做好安全防护,才能保证整个系统的安全性。物联网终端的主要安全措施有增加访问者的身份验证和设备认证、数据存储和传输采用国密算法加密等。
图2. 物联网水表系统
近年来,相关部门对物联网水表的安全设计也提出了具体要求:物联网水表管理平台应具备扩展性、以及TB级数据量的长期存储、安全使用能力。系统应具备快速处理和大量用户并发处理能力。支持物联网水表终端采用安全芯片提供加密和认证,并优先选用国密算法和技术。
物联网水表平台设计应符合信息安全等级保护三级及云平台安全相关要求,采用符合国家技术与法规要求的国密算法。支持国密算法及密钥的管理与发行,支持无证书的非对称密码体系。支持多安全域管理、多安全应用和远程的安全下载。支持采用无证书机制提供统一认证服务。支持符合国密标准的对称与非对称数据加密保护通信通道。支持数据加解密、签名验签、随机数生成、密钥生成等,敏感数据加密存储和访问控制、快速销毁,支持安全设备管理、安全策略配置、密钥管理、安全事件监测、行为安全审计。
物联网水表系统应提供角色管理、权限管理、统一认证等功能。采用加解密(含对称与非对称密钥、数字信封等)、签名验签等安全手段。提供对重要事件的日志管理功能。根据业务需要,提供基于IP网络的服务接口,需采用远程过程调用RPC接口或Restful接口形式;提供基于NB-IoT网络服务接口,需结合NB-IoT网络特性进行安全设计。
鉴于物联网终端设备对功耗和安全问题的迫切需求,瑞纳捷电子推出了RJM8L151系列是超低功耗安全MCU,非常适用于电池供电的物联网终端设备。RJM8L151系列不仅具备出色的运行和待机功耗表现,还内置了硬件真随机数发生器和AES/DES/SM4硬件加密引擎。集成12位高精度逐次逼近型ADC和2通道的多功能比较器,对物联网传感器的高精度、实时检测极为有益。RJM8L151丰富的外围接口使扩展各种通信模块、功能模块更加方便。RJM8L151基于增强型哈佛架构的CPU内核和多级流水线指令系统,相同时钟频率的处理性能是传统8051的3倍,采用Keil uVision4或IAR集成开发环境开发调试应用代码。RJM8L151系列安全MCU的硬件框图如图3所示。
图3 RJM8L151系列安全MCU硬件框图
RJM8L151有4个时钟源:内部高速时钟、内部低速时钟、外部高速时钟和外部低速时钟。RJM8L151的时钟控制模块将这几个时钟源通过灵活的配置分频实现不同的功耗和性能需求。辅助系统时钟可以使用内部低速时钟或外部低速时钟实现低功耗的要求,主系统时钟提供给RJM8L151的CPU,子系统时钟为外设提供给时钟源。多样的时钟资源可以降低系统消耗,辅助系统时钟在保持低功耗的同时也可以接受外部中断,响应外部环境的变化。使用内部高速RC振荡器作为主系统时钟,不仅可以省去一个外部的高速晶振,同时可以快速唤醒MCU来降低功耗。
RJM8L151设计了丰富的定时模块,包括2个16位基本定时器,1个16位通用定时器支持输入捕获/输出比较/PWM输出功能。2个16位高级定时器除了支持输入捕获/输出比较/PWM输出功能,还支持12对互补PWM输出。1个实时时钟RTC模块,产生年、月、日、时、分、秒,并有自动闰年补偿功能,采用外部32.768kHz晶振提供时钟可使计时误差更小。RJM8L151内嵌15位窗口看门狗定时器,采用系统时钟计时,溢出时可产生中断或复位信号,待机模式下停止计数。
RJM8L151单片机的开发环境是Keil uVision4。Keil是全球领先的嵌入式系统开发工具供应商,uVision4是C/C++编译器和调试器的集成开发环境(IDE)的第4版本,其中的Keil C51支持RJM8L151的开发调试,该环境集编辑,编译,仿真于一体,支持汇编和C语言的程序设计。
RJM8L151系列MCU配备了高效的在线仿真器和下载器,既可以方便前期开发调试又为后期生产安装提供了方便。RJM8L151支持标准JTAG下载和调试,可以不使用仿真器,用离线编程器就可以实现对内存Flash的修改,提高了批量烧录的效率,也为程序升级维护提供了方便。
基于RJM8L151的物联网水表方案的硬件框如图4所示。主要包括RJM8L151C8T6单片机、NB-IoT(或LoRa)通信模块、水流量脉冲采集电路和传感器(干簧管或霍尔IC)、电磁阀驱动电流、报警输出电路、EEPROM存储电路等,扩展模块包括LCM显示模组、BLE蓝牙模块和嵌入式安全模块ESAM。基于RJM8L151的物联网水表方案特点如下所述
图4 物联网水表硬件框图
▶▶ RJM8L151的正常工作电压范围是1.62V到5.5V,非常适合3.6V的锂电池供电,可将电池能量利用率利用到极致,另外RJM8L151低至0.5uA的待机电流,既能保持内部RTC的正常计时,又能保持SRAM数据不变,该性能可大大减小系统对电池容量尺寸的要求。RJM8L151具有6种电源管理模式,通过裁剪时钟树的方式关闭时钟来实现不同需求的功耗。一般情况下使用内部低速时钟就可以完成对外部中断的响应,同时又可以保持很低的功耗,这是同类MCU无法做到的。另外,RJM8L151从低功耗状态唤醒小于5us,可以实现快速睡眠快速唤醒低占空比工作,这又极大的降低了系统功耗。
▶▶RJM8L151在普通低功耗MCU的基础上增加了硬件加密模块和真随机数发生器,即所谓的安全MCU。安全MCU的安全性介于通用MCU和独立加密单元(SE)之间,在成本和功耗方面比SE有更大优势。安全MCU能够实现基本的数据加解密和身份认证功能,非常适合物联网终端的应用。
▶▶电池电量的检测是电池供电设备的一个重要模块。当电池电量过低时,会导致MCU的复位,从而使设备消耗更多的电量,进一步加剧电量的损耗。同时,对电池电量的检测行为也会增加电池的能量消耗,因此要平衡电池电量检测的使用频次。RJM8L151提供了7通道的12位ADC检测外部输入电压,还有2通道的电压比较器,电池电压通过分压电阻采样后输入到ADC模块或比较器模块。ADC模块的工作时钟来自CPU时钟,基准电压来自于内部或外部输入,支持单次采样和多次采样,并内置了校准单元。ADC转换过程中,为了不影响CPU执行其它任务,可设置ADC转换结束产生中断。如果用ADC做电池电压的检测建议用查询方式,根据锂电池的放电曲线特点,电池电量检测不必过于频繁,每15到20分钟检测一次电池电量足以。某些应用中,了及时检测到电池电压的状态又不增加功耗,可以结合RJM8L151的比较器和ADC模块各自优势,先用比较器定性检测电池电压的是否低于报警阀值,再启用ADC定量检测电池实时电压以确认是否启动报警,比较器响应速度快功耗低,但只能定性比较。
▶▶RJM8L151在工作中大部分时间处于低功耗状态,通过水流量脉冲采集电路触发唤醒来计量用水量,也可以通过定时器定时唤醒开启NB-IoT,向云端服务上传水表数据。RJM8L151多达40个中断向量入口,支持5个外部中断输入,30个中断优先级,确保每个外来信号都能被检测到。
▶▶ 传统的IC卡水表都有本地操作的需求,LCD显示屏是必须的。而物联网水表是可以通过远程操作读写水表数据,所以LCD显示屏不是必须的,方案中将LCM模组做为可选硬件,预留I²C接口做为模组的通信端口,在一些特殊应用中才予以配备。
图5 智能水表水流量检测
▶▶ 智能水表的水量检测模块基于对干式磁传水表的码盘进行检测,通过累计计数得到水量信息,如图5所示。码盘为对称的黑白色,由水表的叶轮带动,每0.001m3转一圈。自来水的流速与水压和管径有很大的关系,但是最高流速不会超过3m/s,转一圈的时间最多1s。码盘上面有两个颜色,转一圈需要检测4种状态,分别是全黑色、全白色、1个是黑色1个是白色和1个是白色1个是黑色。通过这4种状态的检测可以得到码盘转动一圈的完整过程。通过RJM8L151的GPIO启动码盘检测电路,再通过定时器中断扫描的方式检测码盘状态,定时中断周期为100ms左右为好,这样可以保证不会出现漏记的现象出现。
▶▶ 通过对流量的检测和转一圈的时间做除法可以得到实时的流速,RJM8L151内置16位的硬件除法器可以支持快速运算,并将计算出来的流速和流量信息存储到外部EEPROM中。使用码盘的方式同样可以解决水表倒转的现象,通过检测码盘的4个状态,将上一次记录的码盘的状态与当前码盘状态比对可判断出码盘是正转还是反转,或者是没有转动。
▶▶ 扩展的BLE蓝牙模块可解决现场调试和后期维护,也可用于水表生产中表号及重要参数的设置。也可以通过用户手机APP连接蓝牙模块,读取水表状态和错误状态。
▶▶ 基于RJMU401的ESAM是嵌入式安全模块,其硬件基于CPU卡芯片,安全性高,可做为电子钱包使用,存储充值及消费金额,以及其他一 些重要的参数,同时具有身份识别功能,与外部卡片进行双向身份认证。随着物联网终端安全问题的日益突出,ESAM被广泛应用于各种嵌入式终端实现数据的安全存储、数据的加解密、终端身份的识别与认证,嵌入式软件的版权保护、DRM数字版权的管理等功能。
1、超低功耗
RJM8L151系列MCU多达6种低功耗管理模式,待机功耗低至0.35uA,待机唤醒时间低于5us。大大延长水表电池的使用寿命,实现水表电池在整个生命周期内不用更换。
2、接口丰富
RJM8L151系列MCU集成4路SPI接口和4路UART接口,使外挂LoRa模块、NB-IoT和蓝牙模块的电路设计更加灵活多样。2路I2C接口可以外接LCD显示驱动器和EEPROM存储器,1路智能卡7816接口对扩展外挂ESAM模块更加方便。
3、集成硬件加密模块
RJM8L151系列MCU内置对称式分组加密算法AES和SM4,SM4符合国家密码管理局发布的GM/T 0002-2012《SM4分组密码算法》标准,适用于物联网数据传输中的数据加解密
4、真随机数发生器
RJM8L151系列内置基于数字振荡环的8位真随机数发生器,符合国家密码管理局《随机数检测规范》标准。
5、存储器安全
RJM8L151系列针对内部Flash、SRAM等存储单元设计了高强度物理防护电路,有效防止恶意代码窃取和反向分析。
长按识别二维码关注我们
朋友会在“发现-看一看”看到你“在看”的内容