Processing

Please wait...

Settings

Settings

Goto Application

1. CN110031054 - Gas meter intelligent controller and firmware updating and starting method thereof

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ ZH ]
燃气表智能控制器及其固件升级启动方法


技术领域
本发明涉及仪器仪表中控制器领域,尤其涉及一种燃气表智能控制器及其固件升级启动方法。
背景技术
随着计算机和物联网通信技术的快速发展,目前越来越多的家用智能燃气表取代了家用机械燃气表,给燃气公司进行表具管理带来很大的便利,可以说家用智能燃气表的功能已经不仅仅是计量数据的采集和显示,它还涉及表具异常状态信息的监测,燃气消费信息的管理,数据的发送和控制命令的接收和处理,这是一套完整的计算机软硬件系统,任何环节的变动都可能涉及到表具内部固件程序的更改,而在表具10年的使用寿命周期中,这种变动是极可能发生的。目前市面上现有的家用智能燃气表要么根本不支持固件升级,要么是没有安全备份机制的固件升级方式,一旦升级过程中出现异常,比如,启动程序部分被破坏或有异常,表具将无法启动,只能换表,这对燃气公司而言,更换成千上万的表具,将是噩耗。
发明内容
针对上述现有技术中的不足,本发明提供一种燃气表智能控制器及其固件升级启动方法,通过设置主备启动分区和CPLD的配合可实现对MCU固件的安全升级,可极大减低家用智能燃气表进行固件升级所带来的高风险。
为了实现上述目的,本发明提供一种燃气表智能控制器,包括一壳体、一输出设备以及设置于所述壳体内的一MCU、一累加器、一CPLD、一闪存模块和一通讯模组;所述累加器、所述CPLD、所述通讯模组和所述输出设备连接所述MCU;所述闪存模块连接所述MCU。
优选地,所述闪存模块形成一分区控制信息存储区、一第一固件存储区和一第二固件存储区;所述CPLD分别连接所述分区控制信息存储区、所述第一固件存储区和所述第二固件存储区;所述CPLD包括一定时器,所述分区控制信息存储有一当前启动分区信息和一当前备份分区信息;所述第一固件存储区和所述第二固件存储区用于存储固件文件;所述当前启动分区信息包括所述第一固件存储区的地址信息,所述当前备份分区信息包括所述第二固件存储区的地址信息;或所述当前启动分区信息包括所述第二固件存储区的地址信息,所述当前备份分区信息包括所述第一固件存储区的地址信息。
优选地,还包括至少一控制按钮,所述控制按钮连接所述MCU。
优选地,所述输出设备包括显示屏,所述显示屏固定于所述壳体外。
优选地,所述通讯模组与一燃气后台服务器通信连接。
优选地,所述通讯模组包括全网通模组,所述全网通模组的型号包括NB86-G。
本发明的一种基于本发明所述的燃气表智能控制器的固件升级启动方法,包括步骤:
S1:所述CPLD自所述分区控制信息存储区中获取所述当前启动分区信息;
S2:根据所述当前启动分区信息访问一当前启动分区并启动所述定时器;当所述当前启动分区信息包括所述第一固件存储区的地址时,所述第一固件存储区为所述当前启动分区;当所述当前启动分区信息包括所述第二固件存储区的地址时,所述第二固件存储区为所述当前启动分区;
S3:所述CPLD自所述当前启动分区调用所述固件文件并利用所述固件文件启动所述MCU;
S4:判断所述MCU是否正常启动;如正常,关闭所述定时器并进入步骤S5,如未正常启动,当所述定时器超时时,将所述当前启动分区信息作为新的所述当前备份分区信息,同时将所述当前备份分区信息作为新的所述当前启动分区信息;返回步骤S1;
S5:当所述MCU接收到一固件升级指令时,所述CPLD根据所述当前备份分区信息访问一当前备份分区;当所述当前备份分区信息包括所述第一固件存储区的地址时,所述第一固件存储区为所述当前备份分区;当所述当前备份分区信息包括所述第二固件存储区的地址时,所述第二固件存储区为所述当前备份分区;
S6:通过所述通讯模组下载固件升级镜像并保存至所述当前备份分区作为所述固件文件;
S7:修改所述当前启动分区信息,将所述当前启动分区信息作为新的所述当前备份分区信息,同时将所述当前备份分区信息作为新的所述当前启动分区信息;
S8:返回步骤S1。
本发明由于采用了以上技术方案,使其具有以下有益效果:
CPLD的采用为实现MCU可以相同的地址范围访问闪存模块的任一分区提供了硬件基础。闪存模块形成分区控制信息存储区、第一固件存储区和第二固件存储区,实现了相互独立的主启动区和备用启动区;通过分区的闪存模块和CPLD的配合,为实现在发生异常启动时自动切换启动区和恢复提供了硬件基础;安全可靠。本发明的一种的固件升级启动方法,其通过在闪存模块中设置分区控制信息存储区、第一固件存储区和第二固件存储区并配合CPLD,实现在发生启动异常时自动切换当前启动分区,实现MCU的正常安全启动和固件的安全升级和恢复,安全可靠;大幅度降低了家用智能燃气表进行固件升级时的风险。
附图说明
图1为本发明实施例的燃气表智能控制器的结构示意图;
图2为本发明实施例的固件升级启动方法的流程图。
具体实施方式
下面根据附图1和图2,给出本发明的较佳实施例,并予以详细描述,使能更好地理解本发明的功能、特点。
请参阅图1,本发明实施例的一种燃气表智能控制器,包括一壳体1、一输出设备2以及设置于壳体1内的一MCU3、一累加器4、一CPLD5、一闪存模块6和一通讯模组7;累加器4、CPLD5、通讯模组7和输出设备2连接MCU3;闪存模块6连接MCU3。
CPLD5的采用为实现MCU3可以相同的地址范围访问闪存模块6的任一分区提供了硬件基础;启动阶段闪存模块6的地址线和数据线由CPLD5控制并输出给MCU3,使闪存模块6的分区地址信息对MCU3不可见。
其中,闪存模块6形成一分区控制信息存储区61、一第一固件存储区62和一第二固件存储区63;CPLD5分别连接分区控制信息存储区61、第一固件存储区62和第二固件存储区63;CPLD5包括一定时器,分区控制信息存储有一当前启动分区信息和一当前备份分区信息;第一固件存储区62和第二固件存储区63用于存储固件文件;当前启动分区信息包括第一固件存储区62的地址信息,当前备份分区信息包括第二固件存储区63的地址信息;或当前启动分区信息包括第二固件存储区63的地址信息,当前备份分区信息包括第一固件存储区62的地址信息。
闪存模块6形成分区控制信息存储区61、第一固件存储区62和第二固件存储区63,实现了相互独立的主启动区和备用启动区;通过分区的闪存模块6和CPLD5的配合,为实现在发生异常启动时自动切换启动区和恢复提供了硬件基础;安全可靠。
本实施例中,还包括至少一控制按钮8,控制按钮8连接MCU3。输出设备2包括显示屏,显示屏固定于壳体1外。显示屏可采用LCD显示屏。
显示屏用于数据和控制菜单的显示,控制按钮8用于对控制器的控制。
通讯模组7与一燃气后台服务器通信连接,为实现与燃气后台服务器信息交互提供了硬件基础。
本实施例中,通讯模组7包括全网通模组,全网通模组的型号包括NB86-G。CPLD5的型号包括Coolrunner XPLA3。闪存模块6的型号AT25DF041B。
请参阅图1和图2,本发明的一种基于本发明的燃气表智能控制器的固件升级启动方法,包括步骤:
S1:CPLD5自分区控制信息存储区61中获取当前启动分区信息;
S2:根据当前启动分区信息访问一当前启动分区并启动定时器;当当前启动分区信息包括第一固件存储区62的地址时,第一固件存储区62为当前启动分区;当当前启动分区信息包括第二固件存储区63的地址时,第二固件存储区63为当前启动分区;
S3:CPLD5自当前启动分区调用固件文件并利用固件文件启动MCU3;
S4:判断MCU3是否正常启动;如正常,关闭定时器并进入步骤S5,如未正常启动,当定时器超时时,将当前启动分区信息作为新的当前备份分区信息,同时将当前备份分区信息作为新的当前启动分区信息;返回步骤S1;
S5:当MCU3接收到一固件升级指令时,CPLD5根据当前备份分区信息访问一当前备份分区;当当前备份分区信息包括第一固件存储区62的地址时,第一固件存储区62为当前备份分区;当当前备份分区信息包括第二固件存储区63的地址时,第二固件存储区63为当前备份分区;
S6:通过通讯模组7下载固件升级镜像并保存至当前备份分区作为固件文件;
S7:修改当前启动分区信息,将当前启动分区信息作为新的当前备份分区信息,同时将当前备份分区信息作为新的当前启动分区信息;
S8:返回步骤S1。
本发明的一种的固件升级启动方法,其通过在闪存模块6中设置分区控制信息存储区61、第一固件存储区62和第二固件存储区63并配合CPLD5,实现在发生启动异常时自动切换当前启动分区,实现MCU3的正常安全启动和固件的安全升级和恢复,安全可靠;大幅度降低了家用智能燃气表进行固件升级时的风险。
以上结合附图实施例对本发明进行了详细说明,本领域中普通技术人员可根据上述说明对本发明做出种种变化例。因而,实施例中的某些细节不应构成对本发明的限定,本发明将以所附权利要求书界定的范围作为本发明的保护范围。