一种表计升级方法技术

技术编号:30500023 阅读:43 留言:0更新日期:2021-10-27 22:32
一种表计升级方法,通过服务端获取升级包传输块大小;接着服务端识别升级包大小并将升级包大小下发给表计;当升级包大小不超过表计中预留空间时,则将升级包按照传输块大小进行划分,且通过服务端将每个传输块进行加密和添加校验信息,并将加密后的传输块和校验信息组成传输帧传输至表计;另外,表计对接收到的传输帧进行解密和校验,当所有传输帧均校验成功后,则表计将所有解密后的传输帧存放至升级包传输存储区;表计对升级包传输存储区的内容进行校验,当校验成功后,则表计按照激活方式启动执行升级激活;程序运行跳转至Boot。本方法操作简单,灵活性强,能进行不同大小的升级包升级,避免了现有技术中升级包大小固定而出现的升级限制。的升级限制。

【技术实现步骤摘要】
一种表计升级方法


[0001]本专利技术涉及表计领域,特别涉及一种表计升级方法。

技术介绍

[0002]表计为根据用户用的需求生产出来不同类型的计量装置,分为电表、水表和煤气表,分别用于计量用电量、用水量和煤气使用量,表计作为一种能准确计量的装置,随时功能的不断更新则需要不定期的对表计内的程序模块进行升级更新。
[0003]现有技术中表计出厂后只能对固定大小的程序进行升级,而不能对程序空间扩大或缩小的程序进行升级,因此表计出厂后如果碰到对程序空间变化的程序进行升级时,则只能通过将表计返厂进行更改硬件或重新设置,才能满足程序升级的要求。
[0004]同时,现有技术中升级包传输块大小不允许设置修改,只允许读取,因此针对于固定大小的程序升级时,程序只能以固定的升级包传输块大小进行传输,但由于升级包在传输过程中,不同的通讯模块传输速度不一样,如果不论什么通讯模块均只能按照统一传输块大小进行传输时,这种传输方式的传输效率较低且传输速率较低,并不适用。因此需要进一步改进。

技术实现思路

[0005]本专利技术所要解决的技术问题是针对现有技术的现状,提供一种能满足程序空间大小可变,同时传输块的大小可变(适应不同通讯长度的硬件)以提高升级包传输效率和速率的表计升级方法。
[0006]本专利技术解决上述技术问题所采用的技术方案为:一种表计升级方法,其特征在于:所述服务端与表计之间通讯连接,用于通过服务端给表计传输升级包进而对表计进行升级,所述表计升级方法包括以下步骤:
[0007]步骤1、通过服务端获取表计中存储的升级包传输块大小;
[0008]步骤2、通过服务端采集待传输的升级包并识别待传输的升级包大小,之后,服务端将识别的待传输的升级包大小下发给表计;
[0009]步骤3、通过表计判断待传输的升级包大小是否超过表计中预留的升级包存储空间,如是,则表计拒绝服务端的升级请求,结束;如否,则转入步骤4;其中,表计中预留的升级包存储区包括升级包传输存储区、程序运行存储区和升级包备份存储区;
[0010]步骤4、在服务端将待传输的升级包按照步骤1中获取的传输块大小进行划分,得到多个划分后的传输块;
[0011]步骤5、通过服务端将每个传输块进行加密和添加校验信息,并将加密后的传输块和校验信息组成传输帧,之后服务端将所有传输帧传输至表计;
[0012]步骤6、表计对接收到的传输帧进行解密和校验,当所有传输帧均校验成功后,则表计将所有解密后的传输帧存放至升级包传输存储区;
[0013]步骤7、表计对升级包传输存储区的内容进行校验,当校验成功后,则等待激活;
[0014]步骤8、表计按照激活方式启动执行升级激活;
[0015]步骤9、程序运行跳转至Boot,Boot执行包括以下步骤:
[0016]步骤9

1、再次校验升级传输存储区的内容,并判断升级传输存储区的内容是否校验成功,如是,则并转入步骤9

2;如否,则升级失败,结束;
[0017]步骤9

2、将升级包传输存储区的升级包搬运至程序运行存储区,并校验程序运行存储区的内容,并判断程序运行存储区的内容是否校验成功,如是,则并转入步骤9

3;如否,则升级失败,结束;
[0018]步骤9

3、将程序运行存储区的升级包搬运至升级包备份存储区,备份完成后,跳转进入App,检验升级后的软件版本号,并判断升级后的软件版本号是否正确,如是,则升级完成,如否,则升级失败,结束。
[0019]作为改进,所述步骤1中的升级包传输块大小设置支持两种模式:厂内模式和厂外模式,在厂内模式时通过通讯更改升级包传输块大小,更改的升级包传输块大小要与硬件相适配;厂外模式时不允许更改传输块的大小。通过将升级包传输块大小设置成大小可变,因此可适应不同的硬件要求。
[0020]进一步的,所述升级包传输块大小设置时需要满足以下三个条件:(1)、升级包传输块大小需要小于通讯模块的收发帧最大长度;(2)、受限于通讯帧的长度;(3)、需要等于Flash的页大小或Flash的页大小与升级包传输块大小之间的比值为正整数。
[0021]本方案中,所述步骤2中采集的升级包为加密的升级包;服务端采集主站上待传输的升级包后还包括以下步骤:
[0022]步骤2

1、对加密的升级包进行解密;
[0023]步骤2

2、对解密后的升级包进行完整性校验,校验成功后则转入到步骤2

3;
[0024]步骤2

3、计算解密后且完整的升级包大小;
[0025]步骤2

4、将解密后的升级包增加设备类型和软件版本号后作为待传输的升级包。
[0026]为了使Boot能获取检验和升级程序的大小,所述步骤2中将待传输的升级包大小存储在表计的EEPROM中。
[0027]进一步的,所述步骤3中的所述升级包传输存储区和升级包备份存储区存放于外置于MCU的两个Flash内,所述程序运行存储区存放于MCU内置的Flash内。
[0028]为了在升级被打断时提高升级效率,所述步骤4中对升级包划分后,还得到每个传输块的块序号。标记传输块的序号可用于断点续传,如果升级传输过程被打断,可通过未响应传输块的序号继续被打断的升级包传输流程。
[0029]进一步的,所述步骤5中表计每接收到一个传输帧后,对接收的传输帧进行解密和校验,并在校验成功后将位图置位一个字节;在所有传输块传输完成后,通过表计对位图进行检查,以确定所有的传输块是否传输完成。
[0030]进一步的,所述步骤8中激活方式包括命令激活或定时激活;其中,命令激活通过发送执行激活命令,表计可进行升级激活;定时激活通过预设激活时间,当表计内部时间运行达到激活时间后,表计可进行升级激活。
[0031]进一步的,所述步骤9中升级包传输存储区的内容为升级传输存储区的首地址至升级包总大小地址对应的内容,所述程序运行存储区的内容为程序运行存储区的首地址至升级包总大小地址对应的内容,所述升级包备份存储区的内容为升级包备份存储区的首地
址至升级包总大小地址对应的内容;其中升级包总大小地址从EEPROM中存储的升级包大小的绝对地址获取。
[0032]与现有技术相比,本专利技术的优点在于:通过将升级包设置成大小可变,实现了软件升级的兼容性和拓展性,另外,将传输块大小也设置成大小可变,以适应不同类型的通讯模块,提高了传输速率和传输效率。因此本方法避免了现有技术中升级包大小固定和传输块大小固定而出现的升级限制,本方法的操作简单,灵活性强,能进行不同大小的升级包升级。
具体实施方式
[0033]以下结合实施例对本专利技术作进一步详细描述。
[0034]服务端与表计之间通讯连接,用于通过服务端给表计传输升级包进而对表计进行升级;其中,服务端可以为主本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种表计升级方法,其特征在于:所述服务端与表计之间通讯连接,用于通过服务端给表计传输升级包进而对表计进行升级;所述表计升级方法包括以下步骤:步骤1、通过服务端获取表计中存储的升级包传输块大小;步骤2、通过服务端采集待传输的升级包并识别待传输的升级包大小,之后,服务端将识别的待传输的升级包大小下发给表计;步骤3、通过表计判断待传输的升级包大小是否超过表计中预留的升级包存储空间,如是,则表计拒绝服务端的升级请求,结束;如否,则转入步骤4;其中,表计中预留的升级包存储区包括升级包传输存储区、程序运行存储区和升级包备份存储区;步骤4、在服务端将待传输的升级包按照步骤1中获取的传输块大小进行划分,得到多个划分后的传输块;步骤5、通过服务端将每个传输块进行加密和添加校验信息,并将加密后的传输块和校验信息组成传输帧,之后服务端将所有传输帧传输至表计;步骤6、表计对接收到的传输帧进行解密和校验,当所有传输帧均校验成功后,则表计将所有解密后的传输帧存放至升级包传输存储区;步骤7、表计对升级包传输存储区的内容进行校验,当校验成功后,则等待激活;步骤8、表计按照激活方式启动执行升级激活;步骤9、程序运行跳转至Boot,Boot执行包括以下步骤:步骤9

1、再次校验升级传输存储区的内容,并判断升级传输存储区的内容是否校验成功,如是,则并转入步骤9

2;如否,则升级失败,结束;步骤9

2、将升级包传输存储区的升级包搬运至程序运行存储区,并校验程序运行存储区的内容,并判断程序运行存储区的内容是否校验成功,如是,则并转入步骤9

3;如否,则升级失败,结束;步骤9

3、将程序运行存储区的升级包搬运至升级包备份存储区,备份完成后,跳转进入App,检验升级后的软件版本号,并判断升级后的软件版本号是否正确,如是,则升级完成,如否,则升级失败,结束。2.根据权利要求1所述的表计升级方法,其特征在于:所述步骤1中的升级包传输块大小设置支持两种模式:厂内模式和厂外模式,在厂内模式时通过通讯更改升级包传输块大小,更改的升级包传输块大小要与硬件相适配;厂外模式时不允许更改传输块的大小。3.根据权利要求1或2所述的表计升级方法,其特征在于:所述升级包传...

【专利技术属性】
技术研发人员:沈晓虎伊文君郭园
申请(专利权)人:宁波三星医疗电气股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1