公开/公告号CN105607922A
专利类型发明专利
公开/公告日2016-05-25
原文格式PDF
申请/专利权人 江苏林洋能源股份有限公司;冀北电力有限公司计量中心;
申请/专利号CN201510880156.8
申请日2015-12-06
分类号G06F9/445;G07F15/06;
代理机构南京天华专利代理有限责任公司;
代理人王尧
地址 226200 江苏省南通市启东市林洋路666号
入库时间 2023-12-18 15:29:29
法律状态公告日
法律状态信息
法律状态
2018-12-28
授权
授权
2016-06-22
实质审查的生效 IPC(主分类):G06F9/445 申请日:20151206
实质审查的生效
2016-05-25
公开
公开
技术领域
本发明涉及电能表的电能计量领域,具体而言是时钟免维护固件易升级智能电能表。
背景技术
目前,随着全球智能电网的不断普及,智能电网配电和用电侧的产品在电网上进一步安装使用,智能电能表作为用户与电网公司沟通的桥梁也在发挥着越来越大的作用,同时智能电能表安装后维护工作也越来越受到电力公司的重视,特别是智能表时钟维护和固件升级的维护两个方面需要深入研究,提高电网配电侧的运营效率。
智能电能表通常采用专用硬件时钟电路,其在常温23°下时钟精度误差满足<±0.5s/d,在-20℃~70℃下保证时钟精度在±0.15s/℃/d以内。但是专用时钟电路中的晶振受温度影响较大,如果未及时进行时钟温度补偿则导致时钟精度偏差较大,时间不准确,最终使费率计量失去准确性。在安装前或者系统供电停止时处于电池供电模式,此时时钟运行靠电池维持,如果在此模式下进行时钟温度补偿,则需要按照一定频率启动AD采样获取温度信息,根据温度进行补偿时钟精度;在这个过程中会增加电池功耗,从而缩短电池使用时间,带来在电能表生命周期内就需要更换电池,给现场维护带来了极大的困难。
智能电表产品的功能设计很难做到尽善尽美,尤其是固件部分,由于其功能复杂,因此在使用过程中,往往发现系统中存在某种可以修复的“BUG”,即仅通过固件的修改就可以达到目的。产品投放市场时固件没有问题,但产品长时间使用后,可能用户提出了更高的需求,或是产品固件设计上的缺陷慢慢显现,要求对产品固件进行升级。如果直接对产品进行现场点对点升级,效率低,需要大量的人员去现场维护,不但浪费了人力、财力,同时也浪费了宝贵的时间。因此十分有必要应用固件广播升级技术。
发明内容
本发明的目的是针对电能表的时钟维护和固件升级问题,提出一种时钟免维护固件易升级的智能电能表及其升级方法。
本发明的技术方案是:
一种时钟免维护固件易升级的智能电能表,它包括MCU以及与之连接的电源模块,计量模块,时钟模块,通信模块,固件升级模块,存储模块和显示模块。
一种时钟免维护固件易升级的智能电能表升级方法,它包括:
S1、固件模块化设置步骤;
S2、升级文件数据包生成步骤;
S3、严密握手连接步骤;
S4、数据升级补包步骤。
本发明的步骤S1具体为:在链接器中,根据应用需求将电表固件划分为若干个固件模块,在电表端存储器中对应于各固件模块的划分相应的存储区域,各固件模块具有相应的存储区域标识符,链接器中各固件模块与电表端存储器中的对应区域具有一一对应的映射关系。
本发明的各固件模块的区域内函数组织方法,模块区域之间相互调用的函数使用函数壳和伪指令控制各模块区域的连带关系,减少各模块区域之间连带升级。
本发明的步骤S2具体为:将需要升级的固件模块编译生成BIN文件,并在文件的开头增加升级信息,制成升级文件数据包。
本发明的步骤S3具体为:客户端与表端通过双向认证进行握手连接,当客户端和表端都对对方认证通过后才能连接成功。
本发明的步骤S4具体为::
S4-1、客户端向各电表端发送升级使能请求,各电表端启动数据升级步骤;
S4-2、客户端向各电表端发送升级信息,各电表端对接收的客户端发来的升级信息合法性进行判断,如果合法,进行升级初始化,如果不合法,放弃操作;
S4-3、升级初始化完成后,客户端向各表端广播发送升级文件数据包,并记录每个升级文件数据包的传输状态;
S4-4、各电表端接收到升级文件数据包后,更新电表端的升级文件数据包接收状态标识符;
S4-5、客户端向各电表端发送步骤S4中所述的升级文件数据包接收状态标识符的查询命令,各电表端收到查询命令后,将升级文件数据包接收状态标识符发送给客户端;
S4-6、客户端识别各电表端的升级文件数据包接收状态标识符,如果升级文件数据包的接收比率超过90%,客户端对没有接收到升级文件数据包的各电表端进行定点传输,再次发送升级文件数据包;否则,客户端再次广播升级文件数据包至所有的电表端;
S4-7、重复步骤S4-6直到所有的电表端都成功收到升级文件数据包,电表端对收到的升级文件数据包进行解析,获取升级文件数据包中的存储区域标识符,根据存储区域标识符查找对应的存储区域,对存储区域中的相应固件模块进行升级;
S4-8、电表端完成升级后,开始对文件进行检查校验,确认升级文件正确后,激活升级程序。
本发明的有益效果:
本发明所谓“无线时钟同步”即利用无线电波来传递标准时间。本设计通过“无线电接收模块”接收无线电基站发送的长波时钟短信息并把信息传输给纠错模块,由“时钟纠错对时”模块对信息进行判断处理,最后实现自动更新“时钟模块”的时间。
由于智能电表产品的功能设计很难做到尽善尽美,尤其是固件部分,由于其功能复杂,因此在使用过程中,往往发现系统中存在某种可以修复的“BUG”,即仅通过固件的修改就可以达到目的。
产品投放市场时固件没有问题,但产品长时间使用后,可能用户提出了更高的需求,或是产品固件设计上的缺陷慢慢显现,要求对产品固件进行升级。如果直接对产品进行现场点对点升级,效率低,需要大量的人员去现场维护,不但浪费了人力、财力,同时也浪费了宝贵的时间。因此十分有必要应用固件广播升级技术。
本发明设计的固件升级方案能够有效缩短固件升级时间,提高固件升级效率,同时要注重升级安全性和可靠性。
附图说明
图1是本发明的电能表原理框图。
图2是本发明无线电时钟校时模块的电路图。
图3是本发明的固件升级方法流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1所示,一种时钟免维护固件易升级智能电能表,所述的智能电能表包括电源模块,计量模块,时钟模块,通信模块,固件升级模块,存储模块,显示部分。
如图2所示时钟模块用于维护电能表时钟,包括无线电时钟接收部分和处理部分,电能表时钟纠错对时和软时钟部分。无线电时钟接收和处理部分是用于接收40~120kHz范围内的信号,其宽频点确保了时钟同步的准确性,同时对信号进行解码得到时钟信息。在无线电覆盖的区域,它都能短时间内获取基站时钟信息并更新,其不会因温度变化而导致时钟偏差,也不用担心电池寿命而维护时钟,却为超高准确的时间提供了时钟源。当无线电通信短时中断时,“时钟纠错对时”能自动做出判断,并启用表内部的软时钟模块继续工作,保证在无线电中断时段内,电能表时钟也能比较准确,当无线电波信号恢复正常时,能及时同步表内时钟,既利用了无线电波同步时钟的正确性也弥补了无线电波信号受到干扰时对电表时钟精度的影响。因此采用无线时钟同步技术方案,提高了系统时钟的精度、费率计算的精度,减少了电池的使用,不仅减少现场维护工作量,又为社会带来环保效益。
所谓“无线时钟同步”即利用无线电波来传递标准时间。本设计通过“无线电接收模块”接收无线电基站发送的长波时钟短信息并把信息传输给纠错模块,由“时钟纠错对时”模块对信息进行判断处理,最后实现自动更新“时钟模块”的时间。
如图3所示固件升级模块用于电能表内固件升级和参数更新,包括严密握手链接机制,数据补包策略,多重数据安全校验,模块独立化。
①严密握手链接机制:客户端与表端通过严密的双向认证策略进行握手连接,只有客户端和表端都对对方认证通过后才能连接成功,然后电表接收客户端发送来的升级使能开关,打开升级功能,数据传输通过双方协商的加密算法和认证进行,确保数据传输的安全。
②数据补包策略:为了提高升级效率,在绝大多数产品完成升级以后,需要结合单播传输方式。在电表和客户端之间我们定义位标识符来指示每个产品每包数据的传输情况,客户端根据网段内产品实时升级成功状态标识符,决定是再进行广播升级,还是单播升级,最终将网段内所有产品的固件数据全部完成升级。
③多重数据安全校验:电表端在升级开始时接收客户端发来的升级文件信息,判断是否合法,如果合法进行升级初始化;电表端在接收升级文件完成后,开始对文件进行检查校验,确认升级文件有效及正确后,激活升级程序。
④模块独立化:通常固件升级只需要更新表上的很小一部分固件,如果能只对其中需要更新的部分进行升级,就能减少升级内容,提高升级效率。因此我们研究了采用电表固件进行模块化设计,固件存储进行模块化管理,要点实施方法如下⑴使用“分散加载描述文件的功能”,源程序在编译前,利用开发平台自带的分散加载机制功能,按程序设计的功能模块划分多个区域,并设置区域位置及大小,功能模块之间使用固定的函数入口地址。⑵伪指令和函数壳减少更新程序的范围,功能模块划分完区域,区域之间会相互调用函数,为减少程序更新的范围,需要在不影响正常运行的前提下切断区域之间的连带更新。对需要相互调用的函数建立相应函数壳,同时使用伪指令固定函数壳在区域内的位置。⑶使用空类型指针减少更新程序的范围,函数经常需要传递各种参数,同时功能模块中还有各种变量需要使用或被其他模块调用。使用1级(或2级)空类型指针不会扩大关联区域的更新范围。
具体升级过程如下:
(1).电表固件通过分散加载机制为链接器指定映像文件的存储器映射信息,实现对映像组件分组和布局的全面控制;
(2).电表固件的区域内函数组织方法,区域之间需要相互调用的函数在固件中使用函数壳和伪指令控制区域的连带关系,减少区域之间连带升级;
(3).电表固件的区域内需要使用全局变量、数组,区域之间需要相互调用全局变量、数组,这些全局变量、数组以及区域之间相互调用的函数的参数需要变化,在电表固件中使用1级、2级甚至多级空类型指针变量控制区域的连带关系,减少区域之间连带升级;
(4).将需要升级的区域编译生成BIN文件,并在文件的开头增加升级信息,制成升级固件包;通过通信网络下载至表端;
(5).客户端与表端通过严密的双向认证策略进行握手连接,表端接收客户端发送来的升级使能开关,打开升级功能;
(6).表端接收客户端发来的升级文件信息,判断是否合法,如果合法进行升级初始化;
(7).表端开始接收客户端广播发送的升级文件数据包,并记录每个升级块的传输状态;
(8).表端收到客户端发送的状态查询命令,发送升级块的传输状态字给客户端;
(9).客户端运行数据补全策略,决定是再进行广播升级,还是定点升级;
(10).客户端开始传输数据包;
(11).表端完成升级后,开始对文件进行检查校验,确认升级文件正确后,激活升级程序。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
机译: 蓝牙低能耗通信水工智能测距系统的固件升级方法及其方法
机译: 蓝牙低能耗通信水工智能测距系统的固件升级方法及其方法
机译: 用于跟踪和升级智能电子设备中固件的设备,系统和方法