CN112433746A - 远程变速率升级燃气表***、方法及燃气表***、方法 - Google Patents
远程变速率升级燃气表***、方法及燃气表***、方法 Download PDFInfo
- Publication number
- CN112433746A CN112433746A CN202011333533.3A CN202011333533A CN112433746A CN 112433746 A CN112433746 A CN 112433746A CN 202011333533 A CN202011333533 A CN 202011333533A CN 112433746 A CN112433746 A CN 112433746A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- gas meter
- data packet
- upgrade
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/544—Remote
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种远程变速率升级燃气表***、方法及燃气表的***、方法,主要包括:接收集中器下发的唤醒帧;接收所述集中器下发的升级命令帧;接收所述集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;接收所述集中器下发的升级数据包,并利用所述升级数据包完成升级。通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度。
Description
技术领域
本发明涉及燃气表升级技术领域,特别涉及一种远程变速率升级燃气表***、方法及燃气表***、方法。
背景技术
随着计算机和物联网通信技术的快速发展,目前越来越多的家用智能燃气表取代了家用机械燃气表,给燃气公司进行表具管理带来很大的便利,可以说家用智能燃气表的功能已经不仅仅是计量数据的采集和显示,它还涉及表具异常状态信息的监测,表具升级版本更新,燃气消费信息的管理,数据的发送和控制命令的接收和处理,这是一套完整的计算机软硬件***。
目前我国现有的无线远传和远程升级功能的燃气表一般都是通过燃气表通过一定的通信速度发送数据,其通信范围较窄,传输时间较长,且升级速度较慢。
发明内容
(一)发明目的
为克服上述现有技术存在的至少一种缺陷,通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度,本发明公开了以下技术方案。
(二)技术方案
作为本发明的第一方面,本发明公开了一种燃气表的远程变速率升级方法,包括:包括以下步骤:
接收集中器下发的唤醒帧;
接收集中器下发的升级命令帧;
接收集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
接收集中器下发的升级数据包,并利用所述升级数据包完成升级。
在一种可能的实施方式中,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号。
在一种可能的实施方式中,所述接收集中器下发的升级命令帧之后,还包括:
根据所述升级命令帧的版本号判断燃气表是否需要升级,具体包括:
对比当前软件版本号是否在所述升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态。
在一种可能的实施方式中,所述进入接收状态之后,还包括:
设置升级超时时间。
在一种可能的实施方式中,所述自动切换扩频因子,为:降低所述扩频因子。
在一种可能的实施方式中,所述自动切换扩频因子之后,还包括:
开始升级倒计时。
在一种可能的实施方式中,所述接收集中器下发的升级数据包,为:每隔设定时间接收所述集中器下发的一包所述升级数据包。
在一种可能的实施方式中,所述接收集中器下发的升级数据包之后,还包括:
对比当前所述升级数据包校验值是否与燃气表校验值一致,若是,则将当前的所述升级数据包标记为成功包;若否,则当前的所述升级数据包直接丢弃。
在一种可能的实施方式中,所述将当前的所述升级数据包标记为成功包之后,还包括:
将当前所述升级数据包存储至备份区。
在一种可能的实施方式中,所述接收集中器下发的升级数据包之后,还包括:
对比所有的所述升级数据包的校验值是否与整个升级数据包的校验值一致,若是,则在备份区标记升级标志;若否,且未超过超时时间,则进行接收补发操作。
在一种可能的实施方式中,所述接收补发操作,具体包括:
再次接收集中器下发的唤醒帧;
再次接收集中器下发的升级命令帧;
再次接收集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
再次接收集中器下发的升级数据包,直至所述升级数据包全部接收完成。
在一种可能的实施方式中,所述再次接收集中器下发的升级数据包之后,还包括:
判断所述升级数据包是否为已标记为成功包的升级数据包,若是,则对所述升级数据包不处理,若否,则对未标记为成功包的升级数据包进行校验。
在一种可能的实施方式中,所述对未标记为成功包的升级数据包进行校验,具体包括:
对比未标记为成功包的升级数据包的校验值是否与燃气表校验值一致,若是,则将未标记为成功包的升级数据包标记为成功包;若否,则将未标记为成功包的升级数据包直接丢弃。
作为本发明的第二方面,本发明还公开了一种燃气表的远程变速率升级***,包括:集中器和燃气表,所述燃气表包括接收唤醒帧模块、接收升级命令帧模块、接收同步帧模块、接收升级数据包模块和扩频模块;
所述接收唤醒帧模块用于接收集中器下发的唤醒帧;
所述接收升级命令帧模块用于接收集中器下发的升级命令帧;
所述接收同步帧模块用于接收集中器下发的同步帧;
所述扩频模块用于自动切换扩频因子;
所述接收升级数据包模块用于接收集中器下发的升级数据包,并利用所述升级数据包完成升级。
在一种可能的实施方式中,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号。
在一种可能的实施方式中,所述燃气表还包括:判断模块,所述判断模块用于根据所述升级命令帧的版本号判断燃气表自身是否需要升级,具体包括:
对比当前软件版本号是否在所述升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态。
在一种可能的实施方式中,所述燃气表还包括:计时模块,所述计时模块用于在所述燃气表进入接收状态之后,设置升级超时时间。
在一种可能的实施方式中,所述所述扩频模块用于自动降低扩频因子。
在一种可能的实施方式中,所述计时模块还用于在所述燃气表自动切换扩频因子之后,开始升级倒计时。
在一种可能的实施方式中,所述所述接收升级数据包模块每隔设定时间接收所述集中器下发的一包所述升级数据包。
在一种可能的实施方式中,所述燃气表还包括校验模块,所述校验模块用于对比当前所述升级数据包校验值是否与燃气表校验值一致,若是,则将当前的所述升级数据包标记为成功包;若否,则当前的所述升级数据包直接丢弃。
在一种可能的实施方式中,所述燃气表还包括备份区,所述备份区用于存储被标记为成功包的升级数据包。
在一种可能的实施方式中,所述校验模块还用于对比所有的所述升级数据包的校验值是否与整个升级数据包的校验值一致,若是,则在备份区标记升级标志;若否,且未超过超时时间,则进行接收补发操作。
在一种可能的实施方式中,所述接收补发操作,具体包括:
所述接收唤醒帧模块再次接收集中器下发的唤醒帧;
所述接收升级命令帧模块再次接收集中器下发的升级命令帧;
所述接收同步帧模块再次接收集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
所述接收升级数据包模块再次接收集中器下发的升级数据包,直至所述升级数据包全部接收完成。
在一种可能的实施方式中,判断模块还用于判断所述升级数据包是否为已标记为成功包的升级数据包,若是,则对所述升级数据包不处理,若否,则对未标记为成功包的升级数据包进行校验。
在一种可能的实施方式中,所述校验模块还用于对比未标记为成功包的升级数据包的校验值是否与燃气表校验值一致,若是,则将未标记为成功包的升级数据包标记为成功包;若否,则将未标记为成功包的升级数据包直接丢弃。
作为本发明的第三方面,本发明还公开了一种远程变速率升级燃气表的方法,包括以下步骤:
拆分升级文件为若干个升级数据包;
向燃气表发送唤醒帧;
向所述燃气表发送同步帧,以便使所述燃气表自动切换扩频因子;
向所述燃气表发送升级数据包,以使所述燃气表完成升级。
在一种可能的实施方式中,所述向燃气表发送唤醒帧之后,还包括:
向燃气表发送升级命令帧,以使所述燃气表根据所述升级命令帧判断所述燃气表自身是否需要升级。
在一种可能的实施方式中,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号。
在一种可能的实施方式中,所述向所述燃气表发送升级数据包,为:每隔设定时间向所述燃气表发送一包所述升级数据包。
作为本发明的第四方面,本发明还公开了一种远程变速率升级燃气表的***,包括:包括集中器和燃气表,所述集中器包括拆分升级文件模块、唤醒帧发送模块、同步帧发送模块和升级数据包发送模块;
所述拆分升级文件模块用于将升级文件拆分为若干个升级数据包;
所述唤醒帧发送模块用于向所述燃气表发送唤醒帧;
所述同步帧发送模块用于向所述燃气表发送同步帧,以便使所述燃气表自动切换扩频因子;
所述升级数据包发送模块用于向所述燃气表发送升级数据包,以使所述燃气表完成升级。
在一种可能的实施方式中,所述集中器还包括:升级命令帧模块;
所述升级命令帧模块用于向燃气表发送升级命令帧,以使所述燃气表根据所述升级命令帧判断所述燃气表自身是否需要升级。
在一种可能的实施方式中,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号。
在一种可能的实施方式中,所述升级数据包发送模块用于每隔设定时间向所述燃气表发送一包所述升级数据包。
(三)有益效果
本发明公开的一种远程变速率升级燃气表***、方法及燃气表***、方法,具有如下有益效果:
1、集中器向燃气表下发同步帧,燃气表接收到同步帧后自动降低扩频因子,在保持其他无线参数不变的情况下,提高传输速率,减少传输时间。
2、通过集中器发送数据,燃气表只接受执行数据,在同样的无线射频参数条件大,增加传输距离。
3、集中器向燃气表下发升级命令帧,燃气表接收到升级命令帧后,根据升级命令帧的版本号判断自身是否需要升级,使其燃气表快速的作出选择,减少燃气表的唤醒功耗。
4、集中器将升级包打包成若干个升级数据包,在将升级数据包依次发送给燃气表,避免升级包过大,导致传输时间过长。
5、将接收到的升级数据包的校验码与燃气表的校验码进行对比,确定该数据包是否是该燃气表升级需要的升级数据包,避免燃气表升级失败。
附图说明
以下参考附图描述的实施例是示例性的,旨在用于解释和说明本发明,而不能理解为对本发明的保护范围的限制。
图1是本发明公开的一种燃气表的远程变速率升级放方法的流程图;
图2是本发明公开的一种燃气表的远程变速率升级方法中对单包升级数据包进行校验的流程图;
图3是本发明公开的一种燃气表的远程变速率升级方法中对所有升级数据包进行校验的流程图;
图4是本发明公开的一种燃气表的远程变速率升级***的示意图;
图5是本发明公开的一种远程变速率升级燃气表的方法的流程图;
图6是本发明公开的一种远程变速率升级燃气表的方法的另一个流程图;
图7是本发明公开的一种远程变速率升级燃气表的***的示意图。
附图标记:800、集中器;810、唤醒帧发送模块;820、升级命令帧发送模块;830、同步帧发送模块;840、升级数据包发送模块;850、拆分升级文件模块;900、燃气表;910、接收唤醒帧模块;920、接收升级命令帧模块;930、接收同步帧模块;940、接收升级数据包模块;950、扩频模块;960、判断模块;970、计时模块;980、校验模块;990、备份区。
具体实施方式
为使本发明实施的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行更加详细的描述。
需要说明的是:在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本发明一部分实施例,而不是全部的实施例,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明保护范围的限制。
下面参考图1-3详细描述本发明公开的一种燃气表的远程变速率升级方法的第一实施例。本实施例主要应用于燃气表升级,通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度。
如图1所示,本实施例主要包括以下步骤:
S100、接收集中器下发的唤醒帧;
S200、接收集中器下发的升级命令帧;
S300、接收集中器下发的同步帧,并响应同步帧自动切换扩频因子;
S400、接收集中器下发的升级数据包,并利用升级数据包完成升级。
在步骤S100中,接收集中器下发的唤醒帧,燃气表被唤醒帧唤醒后,一直处于接收状态,等待接收其他数据。
在步骤S200中,接收集中器下发的升级命令帧之前,***将升级文件发送至集中器,集中器将升级文件拆分成若干个升级数据包,便于输送,提高数据效率。
其中,升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,升级版本号还包括升级开始版本号和升级结束版本号。
在步骤S200中,接收集中器下发的升级命令帧,燃气表接收到升级命令帧后,根据升级命令帧的版本号燃气表判断自身是否需要升级,具体包括:
通过对比燃气表当前软件版本号是否在升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态。比如,燃气表当前软件版本号是2.1,升级命令帧的版本号为2.0、2.1、2.2,该燃气表的当前软件版本号在升级开始版本号和升级结束版本号之间,则该燃气表便处于接收状态。
在燃气表进入接收状态之后,燃气表设置升级超时时间,该升级超时时间是为了限定燃气表在一定时间内完成接收升级数据包。
在步骤S300、接收集中器下发的同步帧,并响应同步帧自动切换扩频因子。
具体的,燃气表在接收到集中器下发的同步帧后,燃气表自动降低扩频因子,在保持其他无线参数不变的情况下,可以提高传输速率。根据扩频因子大的信道对应低传输速率,扩频因子小的信道对应高传输速率的原则,燃气表接收到同步帧后,自动降低扩频因子,为后续传输升级包做出准备,但是由于扩频因子越小,传输距离越短,因此不能大幅度的降低扩频因子。
燃气表在自动切换扩频因子后,开始进行升级倒计时,且燃气表一直处于接收数据帧的状态。
在步骤S400、接收集中器下发的升级数据包,并利用升级数据包完成升级,其中,燃气表将接收到的升级数据包合成升级文件,并利用bootloader引导程序完成升级。
进一步,燃气表每隔设定时间接收集中器下发的一包升级数据包,该设定时间可以是300ms也可以400ms,可根据实际情况随机设定。燃气表按照一定间隔依次接收升级数据包,避免通信拥堵。
如图2所示,在一种实施方式中,在燃气表接收到其中一包升级数据包后,燃气表对当前接收到的升级数据包进行校验,判断当前升级数据包是否为本燃气表需要的升级数据包,若当前升级数据包为本燃气表需要的升级数据包,则标记当前升级数据包为成功包,若不是,则直接丢弃当前升级数据包。
其中,判断当前升级数据包是否为本燃气表需要的升级数据包的方法是将当前升级数据包的校验值与本燃气表的校验值进行对比,若升级数据包的校验值与本燃气表的校验值一致,则判定当前升级数据包为本燃气表需要的升级数据包。
燃气表将升级数据包标记为成功包后,将升级数据包存储至燃气表的备份区,等待燃气表执行升级数据包进行升级。
如图3所示,在一种实施方式中,燃气表等待所有升级数据包接收完成后,对所有升级数据包进行校验,具体的是,当燃气表存储的已标记为成功包的升级数据包的总数量与升级数据包总数量相同时,对所有升级数据包总体做最终校验,判断当前已标记所有升级数据包是否为整个升级数据包,若是,则在备份区标记升级标志,若不是,则进行接收补发操作。
对所有升级数据包总体做最终校验,具体是,将当前已标记所有升级数据包的校验值与整个升级数据包的校验值进行对比,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值一致,则在备份区标记升级标志,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值不一致,,且未超过升级超时时间,则燃气表进行接收补发操作。
在一种实施方式中,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值一致,则在备份区标记升级标志,升级数据包也存储至相应的flash区(存储器区),MCU(单片机)复位,由boot区(***引导文件区)的引导代码将backup区(备份区)的升级代码拷贝至app区域(软件区域),待拷贝完成,则跳转到app区域执行代码。
在一种实施方式中,升级数据包解析后生成的升级代码。
在一种实施方式中,燃气表接收补发操作,具体是,在当前已标记所有升级数据包的校验值与整个升级数据包的校验值不一致时,且燃气表为达到设置的升级超时时间,则燃气表进入第二接收阶段。
在一种实施方式中,第二接收阶段为:再次接收集中器下发的唤醒帧;
再次接收集中器下发的升级命令帧;
再次接收集中器下发的同步帧,并响应同步帧自动切换扩频因子;
再次接收集中器下发的升级数据包;
燃气表对第二次接收到的升级数据包进行判断,若第二次接收到的升级数据包是已被标记为成功包,则不处理该升级数据包,且燃气表处于接收状态;若第二接收到的升级数据包为被标记为成功包,则对该升级数据包进行校验,若校验一致,则将校验成功的升级数据包存储至备份区,若校验不一致,则直接丢弃,直至将所有升级数据包接收完毕。
其中,对第二次升级数据包的校验如同上述所说的对升级数据包的校验方式相同,均采用校验算法为CRC16,也可采用其他方式校验。
下面参考图4详细描述,基于同一发明构思,本发明实施例还提供了一种燃气表的远程变速率升级***的第一实施例。由于该***所解决问题的原理与前述一种燃气表的远程变速率升级方法相似,因此该***的实施可以参见前述方法的实施,重复之处不再赘述。
本实施例主要应用于燃气表升级,通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度。
如图4所示,本实施例主要包括集中器800和燃气表900,燃气表900包括接收唤醒帧模块910、接收升级命令帧模块920、接收同步帧模块930、接收升级数据包模块940和扩频模块950;
接收唤醒帧模块910用于接收集中器800下发的唤醒帧,;
接收升级命令帧模块920用于接收集中器800下发的升级命令帧;
接收同步帧模块930用于接收集中器800下发的同步帧;
扩频模块950用于自动切换扩频因子;
接收升级数据包模块940用于接收集中器800下发的升级数据包,并利用升级数据包完成升级。
在一种实施方式中,接收唤醒帧模块910接收集中器800下发的唤醒帧,燃气表900被唤醒帧唤醒后,一直处于接收状态,等待接收其他数据。
在一种实施方式中,升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,升级版本号包括升级开始版本号和升级结束版本号。其中,在集中器800下发的升级命令帧之前,***将升级***打包成若干个升级数据包,便于输送,提高数据效率。
在一种实施方式中,燃气表900还包括:判断模块960,判断模块960用于根据升级命令帧的版本号判断燃气表900自身是否需要升级,具体包括:
对比当前软件版本号是否在升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态。比如,燃气表900当前软件版本号是2.1,升级命令帧的版本号为2.0、2.1、2.2,该燃气表900的当前软件版本号在升级开始版本号和升级结束版本号之间,则该燃气表900便处于接收状态。
在一种实施方式中,燃气表900还包括:计时模块970,计时模块970用于在燃气表900进入接收状态之后,设置升级超时时间。该升级超时时间是为了限定燃气表900在一定时间内完成接收升级数据包。
在一种实施方式中,扩频模块950用于自动降低扩频因子,提高通信速率。
燃气表900自动降低扩频因子,在保持其他无线参数不变的情况下,可以提高传输速率。根据扩频因子大的信道对应低传输速率,扩频因子小的信道对应高传输速率的原则,燃气表900接收到同步帧后,自动降低扩频因子,为后续传输升级包做出准备,但是由于扩频因子越小,传输距离越短,因此不能大幅度的降低扩频因子。
在一种实施方式中,计时模块970还用于在燃气表900自动切换扩频因子之后,开始升级倒计时。
在一种实施方式中,接收升级数据包模块940每隔设定时间接收集中器800下发的一包升级数据包。
其中,燃气表900每隔设定时间接收集中器800下发的一包升级数据包,该设定时间可以是300ms也可以400ms,可根据实际情况随机设定。燃气表900按照一定间隔依次接收升级数据包,避免通信拥堵。
在一种实施方式中,燃气表900还包括校验模块980,校验模块980用于对比当前升级数据包校验值是否与燃气表900校验值一致,若是,则将当前的升级数据包标记为成功包;若否,则当前的升级数据包直接丢弃。
具体的,在燃气表900接收到其中一包升级数据包后,燃气表900对当前接收到的升级数据包进行校验,判断当前升级数据包是否为本燃气表900需要的升级数据包,若当前升级数据包为本燃气表900需要的升级数据包,则标记当前升级数据包为成功包,若不是,则直接丢弃当前升级数据包。
其中,判断当前升级数据包是否为本燃气表900需要的升级数据包的方法是将当前升级数据包的校验值与本燃气表900的校验值进行对比,若升级数据包的校验值与本燃气表900的校验值一致,则判定当前升级数据包为本燃气表900需要的升级数据包。
燃气表900将升级数据包标记为成功包后,将升级数据包存储至燃气表900的备份区990,等待燃气表900执行升级数据包进行升级。
在一种实施方式中,燃气表900还包括备份区990,备份区990用于存储被标记为成功包的升级数据包。校验模块980还用于对比所有的升级数据包的校验值是否与整个升级数据包的校验值一致,若是,则在备份区990标记升级标志;若否,且未超过超时时间,则进行接收补发操作。
具体的,燃气表900等待所有升级数据包接收完成后,对所有升级数据包进行校验,具体的是,当燃气表900存储的已标记为成功包的升级数据包的总数量与升级数据包总数量相同时,对所有升级数据包总体做最终校验,判断当前已标记所有升级数据包是否为整个升级数据包,若是,则在备份区990标记升级标志,若不是,则进行接收补发操作。
对所有升级数据包总体做最终校验,具体是,将当前已标记所有升级数据包的校验值与整个升级数据包的校验值进行对比,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值一致,则在备份区990标记升级标志,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值不一致,则燃气表900进行接收补发操作。
在一种实施方式中,若当前已标记所有升级数据包的校验值与整个升级数据包的校验值一致,则在备份区990标记升级标志,升级数据包也存储至相应的flash区(存储器区),MCU(单片机)复位,由boot区(***引导文件区)的引导代码将backup区(备份区990)的升级代码拷贝至app区域(软件区域),待拷贝完成,则跳转到app区域执行代码。
在一种实施方式中,升级数据包解析后生成的升级代码。
在一种实施方式中,接收补发操作,具体包括:
接收唤醒帧模块910再次接收集中器800下发的唤醒帧;
接收升级命令帧模块920再次接收集中器800下发的升级命令帧;
接收同步帧模块930再次接收集中器800下发的同步帧,并响应同步帧自动切换扩频因子;
接收升级数据包模块940再次接收集中器800下发的升级数据包,直至升级数据包全部接收完成。
在一种实施方式中,判断模块960还用于判断升级数据包是否为已标记为成功包的升级数据包,若是,则对升级数据包不处理,若否,则对未标记为成功包的升级数据包进行校验。
在一种实施方式中,校验模块980还用于对比未标记为成功包的升级数据包的校验值是否与燃气表900校验值一致,若是,则将未标记为成功包的升级数据包标记为成功包;若否,则将未标记为成功包的升级数据包直接丢弃。
具体的,补发操作为燃气表900判断当前已标记所有升级数据包的校验值与整个升级数据包的校验值不一致时,且燃气表900为达到设置的升级超时时间,则燃气表900进入第二接收阶段。
第二接收阶段为:再次接收集中器800下发的唤醒帧;
再次接收集中器800下发的升级命令帧;
再次接收集中器800下发的同步帧,并响应同步帧自动切换扩频因子;
再次接收集中器800下发的升级数据包;
燃气表900对第二次接收到的升级数据包进行判断,若第二次接收到的升级数据包是已被标记为成功包,则不处理该升级数据包,且燃气表900处于接收状态;若第二接收到的升级数据包为被标记为成功包,则对该升级数据包进行校验,若校验一致,则将校验成功的升级数据包存储至备份区990,若校验不一致,则直接丢弃,直至将所有升级数据包接收完毕。
其中,对第二次升级数据包的校验如同上述所说的对升级数据包的校验方式相同,均采用校验算法为CRC16,也可采用其他方式校验。
下面参考图5和图6详细描述,基于同一发明构思,本发明实施例还提供了一种远程变速率升级燃气表的方法的第一实施例。由于该***所解决问题的原理与前述一种燃气表的远程变速率升级方法相似,因此该***的实施可以参见前述方法的实施,重复之处不再赘述。
本实施例主要应用于燃气表升级,通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度。
如图5和图6所示,本实施例主要包括以下步骤:
S510、拆分升级文件为若干个升级数据包;
S500、向燃气表发送唤醒帧;
S600、向燃气表发送同步帧,以便使燃气表自动切换扩频因子;
S700、向燃气表发送升级数据包,以使燃气表完成升级。
在步骤S510、拆分升级文件为若干个升级数据包,具体的,集中器接收***发送的升级文件,并将升级文件拆分成若干个升级数据包,便于输送,提高数据效率。
其中在步骤S500、向燃气表发送唤醒帧之后,还向燃气表发送升级命令帧,以使燃气表根据升级命令帧判断燃气表自身是否需要升级。
在步骤S600、向燃气表发送同步帧,中升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,升级版本号包括升级开始版本号和升级结束版本号。
在步骤S600、向燃气表发送同步帧,以便使燃气表自动切换扩频因子,之前,
S610、向燃气表发送升级命令帧,以使燃气表根据升级命令帧判断燃气表自身是否需要升级。
S700、向燃气表发送升级数据包中,集中器每隔设定时间向燃气表发送一包升级数据包。
具体解释为:向燃气表发送唤醒帧,燃气表接收唤醒帧后,处于接收状态;
其次向燃气表发送升级命令帧,燃气表接收到升级命令帧帧后,判断燃气表自身是否需要升级,若需要升级,则燃气表进入接收状态,若不需要升级,则燃气表进入睡眠状态;
再次向燃气表发送同步帧,燃气表接收到同步帧后,自动切换扩频因子;
最后向燃气表发送升级数据包,燃气表接收到升级数据包后完成升级。
下面参考图7详细描述,基于同一发明构思,本发明实施例还提供了一种远程变速率升级燃气表的***的第一实施例。由于该***所解决问题的原理与前述一种远程变速率升级燃气表的方法相似,因此该***的实施可以参见前述方法的实施,重复之处不再赘述。
本实施例主要应用于燃气表升级,通过燃气表自动切换接收升级数据包的扩频因子,实现了变速率接收升级包,减少接收升级数据包的通信时间,提高了升级的通信速度。
如图7所示,本实施例主要包括集中器800和燃气表900,集中器800包括唤醒帧发送模块810、同步帧发送模块830、升级数据包发送模块840和拆分升级文件模块850;
拆分升级文件模块850用于将升级文件拆分为若干个升级数据包;
唤醒帧发送模块810用于向燃气表900发送唤醒帧;
同步帧发送模块830用于向燃气表900发送同步帧,以便使燃气表900自动切换扩频因子;
升级数据包发送模块840用于向燃气表900发送升级数据包,以使燃气表900完成升级。
在一种可能实施方式中,集中器接收***发送的升级文件,拆分升级文件模块850将升级文件拆分成若干个升级数据包,便于输送,提高数据效率。
在一种可能实施方式中,集中器800还包括升级命令帧模块,升级命令帧模块用于向燃气表900发送升级命令帧,以使燃气表900根据升级命令帧判断燃气表900自身是否需要升级。
在一种可能实施方式中,升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,升级版本号包括升级开始版本号和升级结束版本号。
在一种可能实施方式中,升级数据包发送模块840用于每隔设定时间向燃气表900发送一包升级数据包。
具体的,集中器800的唤醒帧发送模块810向燃气表900发送唤醒帧,燃气表900接收唤醒帧后,处于接收状态;
其次升级命令帧发送模块820向燃气表900发送升级命令帧,燃气表900接收到升级命令帧帧后,判断燃气表900自身是否需要升级,若需要升级,则燃气表900进入接收状态,若不需要升级,则燃气表900进入睡眠状态;
再次同步帧发送模块830向燃气表900发送同步帧,燃气表900接收到同步帧后,自动切换扩频因子;
最后升级数据包发送模块840向燃气表900发送升级数据包,燃气表900接收到升级数据包后完成升级。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种燃气表的远程变速率升级方法,其特征在于,包括以下步骤:
接收集中器下发的唤醒帧;
接收所述集中器下发的升级命令帧;
接收所述集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
接收所述集中器下发的升级数据包,并利用所述升级数据包完成升级。
2.如权利要求1所述的燃气表的远程变速率升级方法,其特征在于,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号;
所述接收集中器下发的升级命令帧之后,还包括:
根据所述升级命令帧的版本号判断燃气表是否需要升级,具体包括:
对比当前软件版本号是否在所述升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态;
所述进入接收状态之后,还包括:
设置升级超时时间;
所述自动切换扩频因子,为:降低所述扩频因子;
所述自动切换扩频因子之后,还包括:
开始升级倒计时;
所述接收集中器下发的升级数据包,为:每隔设定时间接收所述集中器下发的一包所述升级数据包;
所述接收集中器下发的升级数据包之后,还包括:
对比当前所述升级数据包校验值是否与燃气表校验值一致,若是,则将当前的所述升级数据包标记为成功包;若否,则当前的所述升级数据包直接丢弃;
所述将当前的所述升级数据包标记为成功包之后,还包括:
将当前所述升级数据包存储至备份区;
所述接收集中器下发的升级数据包之后,还包括:
对比所有的所述升级数据包的校验值是否与整个升级数据包的校验值一致,若是,则在备份区标记升级标志;若否,且未超过超时时间,则进行接收补发操作;
述接收补发操作,具体包括:
再次接收集中器下发的唤醒帧;
再次接收集中器下发的升级命令帧;
再次接收集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
再次接收集中器下发的升级数据包,直至所述升级数据包全部接收完成;
所述再次接收集中器下发的升级数据包之后,还包括:
判断所述升级数据包是否为已标记为成功包的升级数据包,若是,则对所述升级数据包不处理,若否,则对未标记为成功包的升级数据包进行校验;
所述对未标记为成功包的升级数据包进行校验,具体包括:
对比未标记为成功包的升级数据包的校验值是否与燃气表校验值一致,若是,则将未标记为成功包的升级数据包标记为成功包;若否,则将未标记为成功包的升级数据包直接丢弃。
3.一种燃气表的远程变速率升级***,其特征在于,包括:集中器和燃气表,所述燃气表包括接收唤醒帧模块、接收升级命令帧模块、接收同步帧模块、接收升级数据包模块和扩频模块;
所述接收唤醒帧模块用于接收集中器下发的唤醒帧;
所述接收升级命令帧模块用于接收集中器下发的升级命令帧;
所述接收同步帧模块用于接收集中器下发的同步帧;
所述扩频模块用于自动切换扩频因子;
所述接收升级数据包模块用于接收集中器下发的升级数据包,并利用所述升级数据包完成升级。
4.如权利要求3所述的燃气表的远程变速率升级***,其特征在于,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号;
所述燃气表还包括:判断模块,所述判断模块用于根据所述升级命令帧的版本号判断燃气表自身是否需要升级,具体包括:
对比当前软件版本号是否在所述升级开始版本号和升级结束版本号之间,若是,则进入接收状态;若否,则进入睡眠状态;
所述燃气表还包括:计时模块,所述计时模块用于在所述燃气表进入接收状态之后,设置升级超时时间;
所述所述扩频模块用于自动降低扩频因子;
所述计时模块还用于在所述燃气表自动切换扩频因子之后,开始升级倒计时;
所述所述接收升级数据包模块每隔设定时间接收所述集中器下发的一包所述升级数据包;
所述燃气表还包括校验模块,所述校验模块用于对比当前所述升级数据包校验值是否与燃气表校验值一致,若是,则将当前的所述升级数据包标记为成功包;若否,则当前的所述升级数据包直接丢弃;
所述燃气表还包括备份区,所述备份区用于存储被标记为成功包的升级数据包;
所述校验模块还用于对比所有的所述升级数据包的校验值是否与整个升级数据包的校验值一致,若是,则在备份区标记升级标志;若否,且未超过超时时间,则进行接收补发操作;
所述接收补发操作,具体包括:
所述接收唤醒帧模块再次接收集中器下发的唤醒帧;
所述接收升级命令帧模块再次接收集中器下发的升级命令帧;
所述接收同步帧模块再次接收集中器下发的同步帧,并响应所述同步帧自动切换扩频因子;
所述接收升级数据包模块再次接收集中器下发的升级数据包,直至所述升级数据包全部接收完成;
判断模块还用于判断所述升级数据包是否为已标记为成功包的升级数据包,若是,则对所述升级数据包不处理,若否,则对未标记为成功包的升级数据包进行校验;
所述校验模块还用于对比未标记为成功包的升级数据包的校验值是否与燃气表校验值一致,若是,则将未标记为成功包的升级数据包标记为成功包;若否,则将未标记为成功包的升级数据包直接丢弃。
5.一种远程变速率升级燃气表的方法,其特征在于,包括以下步骤:
拆分升级文件为若干个升级数据包;
向燃气表发送唤醒帧;
向所述燃气表发送同步帧,以便使所述燃气表自动切换扩频因子;
向所述燃气表发送升级数据包,以使所述燃气表完成升级。
6.如权利要求5所述的远程变速率升级燃气表的方法,其特征在于,所述向燃气表发送唤醒帧之后,还包括:
向燃气表发送升级命令帧,以使所述燃气表根据所述升级命令帧判断所述燃气表自身是否需要升级。
7.如权利要求6所述的远程变速率升级燃气表的方法,其特征在于,所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号。
8.如权利要求6所述的远程变速率升级燃气表的方法,其特征在于,所述向所述燃气表发送升级数据包,为:每隔设定时间向所述燃气表发送一包所述升级数据包。
9.一种远程变速率升级燃气表的***,其特征在于,包括集中器和燃气表,所述集中器包括拆分升级文件模块、唤醒帧发送模块、同步帧发送模块和升级数据包发送模块;
所述拆分升级文件模块用于将升级文件拆分为若干个升级数据包;
所述唤醒帧发送模块用于向所述燃气表发送唤醒帧;
所述同步帧发送模块用于向所述燃气表发送同步帧,以便使所述燃气表自动切换扩频因子;
所述升级数据包发送模块用于向所述燃气表发送升级数据包,以使所述燃气表完成升级。
10.如权利要求9所述的远程变速率升级燃气表的***,其特征在于,所述集中器还包括:升级命令帧模块;
所述升级命令帧模块用于向燃气表发送升级命令帧,以使所述燃气表根据所述升级命令帧判断所述燃气表自身是否需要升级;
所述升级命令帧包括升级版本号、升级数据包总数量、升级数据包的校验值和整个升级数据包的校验值,所述升级版本号包括升级开始版本号和升级结束版本号;
所述升级数据包发送模块用于每隔设定时间向所述燃气表发送一包所述升级数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011333533.3A CN112433746A (zh) | 2020-11-24 | 2020-11-24 | 远程变速率升级燃气表***、方法及燃气表***、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011333533.3A CN112433746A (zh) | 2020-11-24 | 2020-11-24 | 远程变速率升级燃气表***、方法及燃气表***、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433746A true CN112433746A (zh) | 2021-03-02 |
Family
ID=74697495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011333533.3A Pending CN112433746A (zh) | 2020-11-24 | 2020-11-24 | 远程变速率升级燃气表***、方法及燃气表***、方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433746A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500508A (zh) * | 2022-01-25 | 2022-05-13 | 深圳友讯达科技股份有限公司 | 一种燃气表升级方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951341A (zh) * | 2015-06-18 | 2015-09-30 | 烟台东方威思顿电气股份有限公司 | 一种采集器的远程升级方法 |
CN108614715A (zh) * | 2018-05-07 | 2018-10-02 | 四川恒芯科技股份有限公司 | 一种可自主升级的物联网燃气表及升级方法 |
CN109451443A (zh) * | 2018-12-27 | 2019-03-08 | 武汉盛帆电子股份有限公司 | 基于Lora无线的数据传输方法、装置及*** |
CN111538524A (zh) * | 2020-04-30 | 2020-08-14 | 浙江荣鑫智能仪表股份有限公司 | 一种物联网燃气表的差分升级方法和物联网燃气表 |
WO2020192669A1 (zh) * | 2019-03-27 | 2020-10-01 | 上海飞奥燃气设备有限公司 | 燃气表智能控制器及其固件升级启动方法 |
-
2020
- 2020-11-24 CN CN202011333533.3A patent/CN112433746A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104951341A (zh) * | 2015-06-18 | 2015-09-30 | 烟台东方威思顿电气股份有限公司 | 一种采集器的远程升级方法 |
CN108614715A (zh) * | 2018-05-07 | 2018-10-02 | 四川恒芯科技股份有限公司 | 一种可自主升级的物联网燃气表及升级方法 |
CN109451443A (zh) * | 2018-12-27 | 2019-03-08 | 武汉盛帆电子股份有限公司 | 基于Lora无线的数据传输方法、装置及*** |
WO2020192669A1 (zh) * | 2019-03-27 | 2020-10-01 | 上海飞奥燃气设备有限公司 | 燃气表智能控制器及其固件升级启动方法 |
CN111538524A (zh) * | 2020-04-30 | 2020-08-14 | 浙江荣鑫智能仪表股份有限公司 | 一种物联网燃气表的差分升级方法和物联网燃气表 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114500508A (zh) * | 2022-01-25 | 2022-05-13 | 深圳友讯达科技股份有限公司 | 一种燃气表升级方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102098590B (zh) | 光网络单元固件版本自动升级方法及*** | |
CN102646043B (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
CN105354070B (zh) | 一种通过i2c升级设备固件的方法 | |
CN111145523B (zh) | 用电信息采集***中微功率无线通信模块的升级方法 | |
CN112148326A (zh) | 一种物联网设备固件远程更新方法、装置及*** | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及*** | |
US8477647B2 (en) | Connection setting apparatus, connection setting method, and computer program product | |
CN105824659A (zh) | 一种应用程序的更新方法及终端设备 | |
CN112738755A (zh) | 电力物联网领域无线通信模组与传感器交互的方法 | |
CN113660317B (zh) | 一种基于ftp协议的车载终端远程升级方法 | |
CN112822654A (zh) | 一种基于ftp远程固件升级功能的遥测终端机及其控制方法 | |
CN102946600A (zh) | 一种移动终端参数固件升级方法及*** | |
CN107656751A (zh) | 用户程序升级方法及装置 | |
CN113709689A (zh) | 一种电力物联网无线通信模组与传感器交互方法 | |
CN103379446A (zh) | 一种基于wifi的多终端控制方法及设备 | |
CN112383908A (zh) | 一种蓝牙设备的升级方法及*** | |
CN112433746A (zh) | 远程变速率升级燃气表***、方法及燃气表***、方法 | |
CN112152846A (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN111782246A (zh) | 基于总线的多节点设备嵌入式程序升级方法 | |
US8130744B2 (en) | Communication apparatus and control method, program, and storage medium thereof | |
CN104427133A (zh) | 通信终端待机省电的控制方法和控制装置 | |
CN112148322A (zh) | 一种升级与片上***连接的单片机中固件的方法 | |
JPH089435A (ja) | 選択呼出受信機 | |
CN104427595A (zh) | 通信终端待机省电的控制方法和控制装置 | |
CN114202822A (zh) | 一种ota升级的上电下电控制***及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |