CN111767068B - 对通信模块进行批量化升级的设备及批量化升级系统 - Google Patents
对通信模块进行批量化升级的设备及批量化升级系统 Download PDFInfo
- Publication number
- CN111767068B CN111767068B CN202010485751.2A CN202010485751A CN111767068B CN 111767068 B CN111767068 B CN 111767068B CN 202010485751 A CN202010485751 A CN 202010485751A CN 111767068 B CN111767068 B CN 111767068B
- Authority
- CN
- China
- Prior art keywords
- programs
- upgrading
- module
- program
- instruction
- 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.)
- Active
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
Abstract
本发明涉及通信技术领域,公开一种对通信模块进行批量化升级的设备及批量化升级系统。所述设备包括:上位机、主控装置及多个从控装置,所述主控装置用于发送升级指令,该指令包括:多个通信模块中的至少一个目标通信模块的标识及与该目标通信模块的标识相对应的目标程序;被配置有程序库的任一从控装置k包括:判断模块,用于判断升级指令是否包括与从控装置k相对应的目标通信模块k的标识;选择模块,用于在升级指令包括目标通信模块k的标识的情况下,从程序库中选择与目标通信模块k的标识相对应的目标程序;及升级模块,用于根据所选择的目标程序,对目标通信模块k进行升级。本发明可实现批量化、高效精确的升级操作。
Description
技术领域
本发明涉及通信技术领域,具体地涉及一种对通信模块进行批量化升级的设备及批量化升级系统。
背景技术
随着国家电网公司对用电信息采集数据应用的不断深入,其对用电信息采集终端的深化应用也提出了更高的要求。一般用电信息采集系统由采集终端或电能表配装通信模块组成,各个网省公司结合自身的业务功能需求需要对采集系统进行功能升级,以更好地满足数据采集的需要。然而,由于电能表是法定计量器具,其自身不能升级,故只能对其通信模块进行升级。通信模块生产时一般都是数十万个以上的规模,一旦需求变化需要升级通信模块,若直接生产升级的通信模块便会带来巨大的工作量(因为其将涉及大量的人力与物力的调度),这是通信模块生产过程中亟待解决的突出问题。
针对上述问题,目前主要采用以下三种方法对通信模块进行升级。第一,可通过在线升级的方法实现通信模块的升级:通过多个通信模块组成一个网络,通过广播升级的方式进行升级。该方法虽然能够实现批量化升级,但存在以下一些缺点:(1)升级前需要组网;(2)升级过程中网络冲突、通信误码等均会导致丢包,由此存在一定概率的升级不能成功的情况;(3)需要系统不断地进行查询和补包,升级效率低下;(4)多个网络同时升级时,存在严重的相互干扰情况。第二,离线式升级方法:针对通信模块上存储固件的Flash存储器进行直接擦写操作。该方法将对通信模块保存的序列号、通信参数等过程信息一并擦除,导致产品可追溯性丢失,而且离线升级工具一般最多为4-8通道,无法支持通信模块的批量化升级工作,升级效率较低。第三,通过PC和工装板直接对通信模块进行逐个升级,若需要批量化升级,则需要多台PC和多个工装板同时操作,由此该方法的升级效率低,且需要的设备多,不利于规模化生产的使用。
发明内容
本发明的目的是提供一种对通信模块进行批量化升级的设备及批量化升级系统,其在升级前无需组网的前提下,可实现无干扰、批量化、高效精确的升级操作。
为了实现上述目的,本发明第一方面提供一种对通信模块进行批量化升级的设备,所述设备包括:上位机,该上位机包括:程序发送模块,用于通过广播的方式发送多个第一程序,所述多个第一程序用于对多个通信模块进行批量升级;主控装置,用于转发所述多个第一程序;以及多个从控装置,所述多个从控装置以一一对应的方式与所述多个通信模块相连接,所述多个从控装置中的任一从控装置k包括:程序接收模块,用于接收所述多个第一程序;以及程序存储模块,用于将所述多个第一程序作为所述多个第二程序存储到程序库中,所述主控装置还用于响应于以下任一信号发送升级指令:由所述上位机发送的升级启动命令;或由所述主控装置自主触发的升级启动命令,其中所述升级指令包括:所述多个通信模块中的至少一个目标通信模块的标识;以及与所述至少一个目标通信模块的标识相对应的目标程序,所述从控装置k还包括:判断模块,用于在接收到所述升级指令的情况下,判断所述升级指令是否包括与所述从控装置k相对应的目标通信模块k的标识;选择模块,用于在所述升级指令包括所述目标通信模块k的标识的情况下,从所述程序库中选择与所述目标通信模块k的标识相对应的目标程序;以及升级模块,用于根据所选择的与所述目标通信模块k的标识相对应的目标程序,对所述目标通信模块k进行升级。
优选地,所述主控装置用于发送升级指令包括:以广播的方式发送所述升级指令。
优选地,所述主控装置还用于查询所述多个从控装置的升级状态,以判断升级过程是否完成,并在所述多个从控装置均完成升级过程的情况下,反馈升级过程完成的结果。
优选地,所述上位机还包括:校验模块,用于校验所述多个从控装置中的每一者内的多个第二程序是否与所述上位机内的多个第一程序的内容相一致;指令发送模块,用于在所述多个从控装置中的任一者的多个第二程序与所述多个第一程序不一致的情况下,向所述多个从控装置发送关于所述多个第二程序的擦除指令,相应地,所述从控装置k还包括:程序擦除模块,用于在接收到所述擦除指令的情况下,擦除所述多个第二程序。
优选地,所述上位机还包括:查询模块,用于查询所述多个第二程序的擦除动作是否完成,并在所述多个第二程序均被擦除的情况下向所述程序发送模块反馈擦除动作完成的结果。
优选地,所述查询模块包括:第一指令发送单元,用于通过单播的方式发送关于所述多个第二程序的擦除结果的第一查询指令,相应地,所述主控装置还用于在接收到所述第一查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的操作结果的第一轮询指令,所述从控装置k还包括:第一应答模块,用于在接收到所述第一轮询指令的情况下,做出并发送关于所述多个第二程序的擦除结果的第一应答信息,所述主控装置还用于转发所述第一应答信息,所述查询模块还包括:结果确定单元,用于在接收到所述第一应答信息的情况下,根据所述第一应答信息确定查询结果。
优选地,所述校验模块包括:第二指令发送单元,用于通过单播的方式发送关于所述多个第二程序的信息编码的第二查询指令,相应地,所述主控装置还用于在接收到所述第二查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的信息编码的第二轮询指令,所述从控装置k还包括:第二应答模块,用于在接收到所述第二轮询指令的情况下,做出并发送关于所述多个第二程序的编码信息的第二应答信息,所述主控装置还用于转发所述第二应答信息,所述校验模块还包括:校验单元,用于在接收到所述第二应答信息的情况下,比较所述第二应答信息是否与所述多个第一程序的编码信息相一致。
优选地,所述程序发送模块用于发送所述多个第一程序包括:对所述多个第一程序中的每个第一程序进行分块以获取所述每个第一程序的程序块,并发送所述每个第一程序的程序块。
优选地,所述设备还包括:夹持装置,用于将所述多个从控装置的输入端与所述多个通信模块的输出端一一对应夹紧,以实现所述多个从控装置与所述多个通信模块之间的一一对应的物理连接。
优选地,所述主控装置还用于响应于由所述夹持装置上的触发开关所发送的升级触发信号而发送升级指令。
优选地,所述多个从控装置的升级通信端口与所述多个通信模块的通信端口通过高度串行总线连接。。
相应地,本发明第二方面还提供一种批量化升级系统,所述批量化升级系统包括:多个通信模块;以及所述的对通信模块进行批量化升级的设备,用于对所述多个通信模块进行批量化升级。
通过上述技术方案,本发明创造性地通过事先将用于对通信模块进行升级的程序库下载到各个从控装置中,并通过主控装置控制多个从控装置并行地对与其一一对应相连的多个通信模块进行升级,从而可在升级前无需组网的前提下,可实现无干扰、批量化、高效精确的升级操作。
本发明的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明一实施例提供的对通信模块进行批量化升级的设备的结构图;
图2是本发明一实施例提供的任一从控装置k的结构图;
图3是本发明一实施例提供的从控装置1对通信模块11执行升级过程的流程图;
图4是本发明一实施例提供的目标程序的升级操作过程的示意图;
图5是本发明一实施例提供的广播命令通信过程的示意图;
图6是本发明一实施例提供的单播命令通信过程的示意图;以及
图7是本发明一实施例提供的程序下载过程的流程图。
附图标记说明
1-N 从控装置 10 主控装置
11-(10+N) 通信模块 20 判断模块
30 选择模块 40 升级模块
50 上位机 60 夹持装置
70 应答模块
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
在详细描述具体实施方式之前,先简单介绍一下本发明各个实施例所涉及到的广播命令通信过程及单播命令通信过程。
本发明各个实施例中的用于批量化升级通信模块的设备,为实现上位机(以个人计算机(PC)为例)、主控装置及多个从控装置之间的通信,可对各个设备进行编址,如PC编址为0x0000,主控装置编址为0x1000,从控装置1~N分别编址为0x0001~N,广播地址为0xFFFF。PC对主控装置或所有从控装置发送两种命令类型:广播命令类型和单播命令类型。当然,本发明各个实施例并不限于上述编址方式对不同设备进行识别,还可采用其他合理的唯一性标识符对不同设备进行识别。
如图5所示,当PC发送广播命令时,目的地址设置为广播地址,主控装置将收到的广播命令转发到所有从控装置,从控装置只接收数据命令并处理,不进行应答。如图6所示,当PC发送单播命令时,目的地址设置为主控装置地址;主控装置执行命令并依次向从控装置1~N发送轮询命令,目的地址设置为被轮询的从控装置地址,被轮询的从控装置执行命令并应答,主控装置收集从控装置的应答结果,组帧向PC发送应答信息。
升级过程包括程序库下载和目标程序升级两个过程。为适应通信模块升级的需求(即升级通信模块内的多个目标程序块的需求),或者对不同版本通信模块差异化升级的需求,程序库中的多个程序(或程序文件)可以是运行程序、备用程序、配置参数等不同的数据块,也可以是同一程序的不同版本。
图1是本发明一实施例提供的对通信模块进行批量化升级的设备的结构图。如图1所示,所述设备可包括:上位机50、主控装置10以及多个从控装置(例如,从控装置1、2、……i、……N),其中,所述多个从控装置以一一对应的方式与所述多个通信模块相连接(例如,通信模块11与从控装置1相连、通信模块12与从控装置2相连等)。
所述上位机50包括:程序发送模块(未示出),用于通过广播的方式(如图5所示)发送多个第一程序,所述多个第一程序用于对所述通信模块进行批量升级。相应地,所述主控装置用于转发所述多个第一程序,所述多个从控装置中的任一从控装置k包括:程序接收模块(未示出),用于接收所述多个第一程序;以及程序存储模块(未示出),用于将所述多个第一程序作为所述多个第二程序存储到程序库中。由此,所述上位机可通过广播的方式同时向多个从控装置传送程序(即每个从控装置均被配置有包括用于对所述多个通信模块进行升级的多个第二程序的程序库,其中所述多个第二程序至少包括所述目标程序),从而大大提高了程序下载的效率,可用于批量下载过程。
所述主控装置10还用于响应于以下任一信号发送升级指令:由所述上位机发送的升级启动命令(即远程控制工作模式);或由所述主控装置自主触发的升级启动命令(即本地控制工作模式),其中所述升级指令包括:多个通信模块(例如,通信模块11、12、……(10+i)、……(10+N))中的至少一个目标通信模块的标识,以及与所述至少一个目标通信模块的标识相对应的目标程序。其中,所述主控装置10与所述多个从控装置中的每一者可通过RS485总线相连,并且所述多个从控装置的个数可多达256。
如图2所示,所述多个从控装置中的任一从控装置k还可包括:判断模块20,用于在接收到所述升级指令的情况下,判断所述升级指令是否包括与所述从控装置k相对应的目标通信模块k的标识;选择模块30,用于在所述升级指令包括所述目标通信模块k的标识的情况下,从所述程序库中选择与所述目标通信模块k的标识相对应的目标程序;以及升级模块40,用于根据所选择的与所述目标通信模块k的标识相对应的目标程序,对所述目标通信模块k进行升级。相应地,从控装置k还可包括:应答模块70,用于对所述主控装置10发送的升级指令进行应答,以及对升级结果进行应答。
为适应各个通信模块的个性化升级需求,升级指令可针对不同的通信模块升级不同的一个或多个程序(如升级运行程序、备用程序、配置参数等)。具体地,可以选择性地对一个或多个目标通信模块执行关于多个程序1-M中的任意组合的升级。例如,针对目标通信模块11升级目标程序i、j、k;以及针对目标通信模块12升级目标程序o、p、q,则升级指令中包括:目标通信模块11的标识与针对其的目标程序{程序编号i、程序编号j、程序编号k};以及目标通信模块12的标识与针对其的目标程序{程序编号o、程序编号p、程序编号q}。
具体地,在接收到所述升级指令的情况下,每个从控装置判断与其自身标识相对应的目标通信模块的标识是否被包括在所述升级指令中。若从控装置1判断得到与其自身标识相对应的目标通信模块11的标识被包括在所述升级指令中,则从控装置1从程序库中选择与目标通信模块11的标识相对应的目标程序{程序编号i、程序编号j、程序编号k},并采用目标程序{程序编号i、程序编号j、程序编号k}对目标通信模块11执行升级操作;同时从控装置2判断得到与其自身标识相对应的目标通信模块12的标识被包括在所述升级指令中,则从控装置2从程序库中选择与目标通信模块12的标识相对应的目标程序{程序编号o、程序编号p、程序编号q},并采用目标程序{程序编号o、程序编号p、程序编号q}对目标通信模块12执行升级操作;而其他从控装置判断得到与其自身标识相对应的目标通信模块的标识均未被包括在所述升级指令中,则不一执行升级操作。由此,本实施例可通过主控装置控制多个从控装置并行地对与其一一对应相连的多个通信模块进行升级,从而大大缩短了升级时间并且交互响应速度快,此外,从控装置之间、通信模块及系统之间不会产生干扰。
所述主控装置10用于发送升级指令还可包括:所述主控装置响应于由所述夹持装置60上的触发开关(例如按钮或行程开关)所发送的升级触发信号而发送所述升级指令,如图1所示。其中,所述上位机50及所述夹持装置60的具体细节将于下文进行说明。在优选实施例中,所述主控装置10用于发送升级指令可包括:以广播的方式发送所述升级指令。也就是说,一旦由所述夹持装置60上的行程开关发送升级触发信号,该触发信号通知所述主控装置10自行发送升级指令(即启动升级),然后所述主控装置10通过广播的方式向所有从控装置发送升级指令。该操作十分简单易用,适合生产阶段批量化升级需求。
其中所述上位机50与主控装置可直接通过USB、网口或者串口等通信接口相连。并且,与所述上位机50(例如PC)相连接的主控装置的个数可能为多个。PC和主控装置(具有唯一的标识符,例如ID号)之间通信接口能够自动识别,PC通过命令对所有连接的通信端口发送读取通信端口ID号的命令,当主控装置收到正确的读取通信端口ID号的命令时,立即应答,由此可实现自动识别,避免了繁琐的通信端口手动切换和选择的过程,从而可提高批量升级的效率。
为了能够及时获悉对通信模块的升级过程已执行完成,在本实施例中设置所述主控装置具有查询升级进程的功能。具体地,所述主控装置10还用于查询所述多个从控装置的升级状态,以判断升级过程是否完成,并在所述多个从控装置均完成升级过程的情况下,反馈升级过程完成的结果。也就是说,在发送升级指令之后或间隔一定时间(例如,几秒钟),所述主控装置10可通过逐个查询的方式获知多个从控装置的升级状态,以判断升级是否完成;当查询到所有从控装置均完成升级过程时,统计并上报升级结果,如图4所示。
在本实施例中,可通过夹持装置配置从控装置与通信模块之间的对应连接关系。所述设备还可包括:夹持装置60,用于将所述多个从控装置的输入端与所述多个通信模块的输出端一一对应夹紧,以实现所述多个从控装置与所述多个通信模块之间的一一对应的物理连接,如图1所示。其中,所述夹持装置60可为工装转接夹具。由于从控装置和通信模块之间通过所述夹持装置60进行物理连接,故在升级操作完成之后便于通信模块的快速放置和取出,从而可极大地提高操作效率。在优选实施例中,每个从控装置还可配置有相应的指示灯,用于指示与其相对应的通信模块的升级状态。
所述多个从控装置的输入端与所述多个通信模块的输出端可通过串行外设接口(SPI)、RS485或通用异步收发传输器(UART)接口通信。由此,可有效地防止从控装置之间、通信模块及系统之间产生干扰。
如图3所示,以升级程序i、j、k为例,从控装置1对通信模块11执行升级的过程主要包括步骤S301-S305。其中,所述升级指令包括:目标通信模块为通信模块11及针对通信模块11升级的目标程序为{程序编号i、程序编号j、程序编号k}。
步骤S301,从控装置1控制通信模块11重新启动进入升级状态。
例如,从控装置1可通过控制电源上电、外部复位管脚或者发送特殊命令等方式,使得通信模块11重新启动进入升级状态。
步骤S302,从控装置1根据升级指令所包含的程序编号i,控制通信模块11中的程序文件i升级。
步骤S303,从控装置1根据升级指令所包含的程序编号j,控制通信模块11中的程序文件j升级。
步骤S304,从控装置1根据升级指令所包含的程序编号k,控制通信模块11中的程序文件k升级。
当然,本实施例并不限于依照上述次顺执行对各个程序文件的升级,还可采用其他合理的顺序执行升级过程。
步骤S305,在所有程序升级完成的情况下,对升级结果检查。
该步骤S305的目的是给出关于升级结果检查的准确性,若不准确,可再次执行对通信模块的升级过程,从而可极大地提高升级结果的准确性。
具体而言,所述目标程序的升级操作过程可划分为准备阶段、启动阶段、升级阶段、查询阶段、结束阶段五个过程,如图4所示。
在准备阶段,放置多个通信模块,并通过工装转接夹具将多个通信模块与多个从控装置进行物理连接。
在启动阶段,可以选择性地对通信模块升级程序1-M中的任意组合,升级操作过程由主控装置启动。启动方式至少可以包括以下两种方式:通过PC命令控制主控装置启动升级,或者由主控装置在工装转接夹具的外部触发信号的作用下启动升级,如由所述工装转接夹具上的按钮或行程开关发出的触发信号触发启动。
在升级阶段,主控装置启动升级后,以广播方式向所有从控装置发送升级指令。为适应各个通信模块的个性化升级的需求,升级指令可针对不同的通信模块升级不同的一个或多个程序(如升级运行程序、备用程序、配置参数等)。例如升级指令包括:目标通信模块11的标识与针对其的目标程序{程序编号i、程序编号j、程序编号k};目标通信模块12的标识与针对其的目标程序{程序编号o、程序编号p、程序编号q};以及目标通信模块(10+N)的标识与针对其的目标程序{程序编号r、程序编号s、程序编号t}。由此,相应的升级过程分别由从控装置1、2、……N来执行(如图4所示),但具体升级过程可参见上述内容的描述,于此不再进行赘述。
该升级阶段可同时对所述多个通信模块进行升级操作,从而达到快速批量化升级的目的。
在查询阶段,主控装置发送升级指令后,向从控装置逐个查询升级状态,以判断升级是否完成;当查询到所有从控装置均完成升级过程时,统计并上报升级结果。
该查询阶段开始于升级阶段结束前,结束于所有从控控制升级结束之后,以确保获取所有从控装置的升级结果,提高升级结果判断的准确性和效率,从而提高升级可靠性。
在结束阶段,断开所述多个通信模块与所述多个从控装置之间的物理连接,并取出所述多个通信模块。
上述内容主要针对目标程序升级过程进行阐述。接下来,将对多个从控装置中的每一者的程序库的下载过程进行详细地说明。在执行程序下载步骤之前,还需要提前对从控装置内的程序的编码信息进行设置,由此在所述从控装置内的第一程序具有与上位机中的第二程序相同形式的编码信息的情况下,可有效地执行下述的程序校验过程。
所述上位机还可包括:编码命令发送模块(未示出),用于通过广播的方式发送所述多个第二程序的信息编码命令,其中所述信息编码命令包括所述每个程序的编码信息(例如,编码字段)。相应地,所述从控装置k还可包括:设置模块(未示出),用于在接收到所述信息编码命令的情况下,对所述多个从控装置内的所述多个第二程序的编码信息(例如,编码字段)进行设置。之后可等待接收来自上位机的多个第一程序。具体地,例如可按照表1所示的5个编码字段(程序编号、程序版本、程序长度、程序检验码及生成日期)设置所述多个第二程序的编码信息。
表1对多个程序设置的编码信息
在优选实施例中,为了防止在传送程序的过程中出现丢包(即丢失数据)的现象,在优选实施例中还可对程序进行分块,并传送处理后的程序块。具体地,所述程序发送模块用于发送所述多个第一程序可包括:对所述多个第一程序中的每个第一程序进行分块以获取所述每个第一程序的程序块,并发送所述每个第一程序的程序块。例如,PC可通过广播的方式发送第一程序s的分块,所有从控装置收到该广播后对所述第一程序s的分块进行存储,直至接收完所有分块为止,生成并存储所述第一程序s的程序长度、程序检验码及生成日期。
在下载完成程序库之后,可对所述程序库内的多个第二程序进行校验操作(即执行程序校验步骤)或校验加擦除操作(即执行程序校验与程序擦除步骤),以确保所述多个第二程序与所述上位机内的所述多个第一程序的内容相一致(即用于升级通信模块的程序文件正确性),从而可提高批量升级的准确性。
所述上位机50还可包括:校验模块(未示出),用于校验所述多个从控装置中的每一者内的多个第二程序是否与所述上位机内的多个第一程序的内容相一致;指令发送模块(未示出),用于在所述多个从控装置中的任一者的多个第二程序与所述多个第一程序不一致的情况下,向所述多个从控装置发送关于所述多个第二程序的擦除指令。相应地,所述从控装置k还可包括:程序擦除模块(未示出),用于在接收到所述擦除指令的情况下,擦除所述多个第二程序。也就是说,一旦发现任一从控装置内的多个第二程序与所述上位机内的多个第一程序的内容不一致,则擦除所有从控装置内的多个第二程序,再通过上述的下载过程从所述上位机下载多个第一程序。若所述校验模块校验所述多个从控装置中的每一者内的多个第二程序与所述上位机内的多个第一程序的内容相一致,则确认所有从控装置内的多个第二程序可用于升级所述通信模块。
在优选实施例中,所述上位机可通过单播的方式读取所有从控装置内的所述多个第二程序的信息编码,然后比对所读取的所述多个第二程序的信息编码与上位机内的多个第一程序的信息编码,以完成对所述多个第二程序的校验,所述上位机可针对每个从控装置接收不同的信息编码数据,可实现个性化服务,从而可极大地提高批量升级的效率。
所述校验模块可包括:第二指令发送单元,用于通过单播的方式发送关于所述多个第二程序的信息编码的第二查询指令。相应地,所述主控装置还可用于在接收到所述第二查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的信息编码的第二轮询指令。所述从控装置k还可包括:第二应答模块,用于在接收到所述第二轮询指令的情况下,做出并发送关于所述多个第二程序的编码信息的第二应答信息。所述主控装置还可用于转发所接收的所述第二应答信息。所述校验模块还可包括:校验单元,用于在接收到所述第二应答信息的情况下,比较所述第二应答信息是否与所述多个第一程序的编码信息相一致。具体过程可参见图6所示的过程。
在下载过程的程序擦除步骤中,为了能够及时获知多个第二程序被擦除完成的时机,在本实施例中还可通过查询模块来查询擦除动作的进程,从而可大大提高批量升级的效率。所述上位机还可包括:查询模块,用于查询所述多个第二程序的擦除动作是否完成,并在所述多个第二程序均被擦除的情况下向所述程序发送模块反馈擦除动作完成的结果。
在优选实施例中,所述上位机可通过单播的方式查询所述多个第二程序的擦除进程,由此可针对每个从控装置接收不同的擦除进程数据,可实现个性化服务,从而可极大地提高批量升级的效率。
所述查询模块可包括:第一指令发送单元,用于通过单播的方式发送关于所述多个第二程序的擦除结果的第一查询指令。相应地,所述主控装置还用于在接收到所述第一查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的操作结果的第一轮询指令,所述从控装置k还包括:第一应答模块,用于在接收到所述第一轮询指令的情况下,做出并发送关于所述多个第二程序的擦除结果的第一应答信息,所述主控装置还用于转发所述第一应答信息,所述查询模块还包括:结果确定单元,用于在接收到所述第一应答信息的情况下,根据所述第一应答信息确定查询结果,如图6所示。
具体而言,所述程序库的下载过程主要是指PC通过主控装置对所有从控装置进行M个程序文件的下载过程。程序下载过程可包括:程序校验、程序擦除及程序下载三个步骤,如图7所示。
所述程序下载过程可包括步骤S701-S703。
步骤S701,校验每个从控装置内的M个第二程序与上位机中的M个第一程序的信息编码是否相一致,若是,则结束;否则,执行步骤S702。
每个从控装置内可能存在或者不存在用于升级通信模块的M个第二程序。在实际执行程序下载过程中,可首先对每个从控装置内的M个第二程序进行校验,若其信息编码与所述上位机中的用于升级通信模块的M个第一程序的信息编码相匹配,则无需执行程序下载过程;若不一致,则执行下述的程序擦除步骤。
具体地,程序校验步骤可包括以下内容:PC通过单播命令通信过程读取所有从控装置内的程序文件1-M的信息编码,并将其与PC上存储的程序文件1-M的信息编码进行比对。如果相同,则可以跳过下面程序库下载步骤,如果不同,则进行下面的程序擦除步骤。
步骤S702,擦除所有从控装置内的M个第二程序。
具体地,程序擦除步骤可包括以下内容:PC通过广播命令通信过程发送程序擦除命令,所有从控装置收到程序擦除命令后对存储的程序文件进行擦除,PC以周期性(或非周期性)的时间间隔通过单播命令通信过程发送程序擦除结果查询命令来查询所有从控装置的擦除结果,当所有从控装置完成擦除操作时,则向PC反馈擦除操作完成的应答信息以及时执行程序下载步骤。
步骤S703,由每个从控装置下载所述上位机中的M个第一程序,并将其作为M个第二程序进行存储,并执行步骤S701。
具体地,以下载程序文件1为例说明程序下载步骤:PC对程序文件1’进行分块,并通过广播命令通信过程发送程序文件1’的分块,所有从控装置收到该命令后对程序文件1’的分块作为程序文件1的分块进行存储,直至接收完所有分块,生成程序文件1的长度、校验等信息并存储。可按照类似的过程可同时下载M个程序,具体过程于此不再进行赘述。
在程序下载过程中,可能由于多种原因导致程序被篡改,故在完成程序下载步骤之后还需要对下载后的多个第二程序进行交易,以确保其正确性,由此可采用正确的程序对通信模块进行升级,从而极大地提高了批量升级的准确性。
综上所述,本发明创造性地通过事先将用于对通信模块进行升级的程序库下载到各个从控装置中,并通过主控装置控制多个从控装置并行地对与其一一对应相连的多个通信模块进行升级,从而可在升级前无需组网的前提下,可实现无干扰、批量化、高效精确的升级操作。
相应地,本发明一实施例还提供一种批量化升级系统,所述批量化升级系统包括:多个通信模块;以及所述的对通信模块进行批量化升级的设备,用于对所述多个通信模块进行批量化升级。
关于批量化升级系统的细节及优势可参见上述对通信模块进行批量化升级的设备的详细描述,于此不再赘述。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (12)
1.一种对通信模块进行批量化升级的设备,其特征在于,所述设备包括:
上位机,该上位机包括:程序发送模块,用于通过广播的方式发送多个第一程序,所述多个第一程序用于对多个通信模块进行批量升级;
主控装置,用于转发所述多个第一程序;以及
多个从控装置,所述多个从控装置以一一对应的方式与所述多个通信模块相连接,所述多个从控装置中的任一从控装置k包括:
程序接收模块,用于接收所述多个第一程序;以及
程序存储模块,用于将所述多个第一程序作为多个第二程序存储到程序库中,
所述主控装置还用于响应于以下任一信号发送升级指令:由所述上位机发送的升级启动命令;或由所述主控装置自主触发的升级启动命令,其中所述升级指令包括:所述多个通信模块中的至少一个目标通信模块的标识;以及与所述至少一个目标通信模块的标识相对应的目标程序,
所述从控装置k还包括:
判断模块,用于在接收到所述升级指令的情况下,判断所述升级指令是否包括与所述从控装置k相对应的目标通信模块k的标识;
选择模块,用于在所述升级指令包括所述目标通信模块k的标识的情况下,从所述程序库中选择与所述目标通信模块k的标识相对应的目标程序;以及
升级模块,用于根据所选择的与所述目标通信模块k的标识相对应的目标程序,对所述目标通信模块k进行升级。
2.根据权利要求1所述的对通信模块进行批量化升级的设备,其特征在于,所述主控装置用于发送升级指令包括:以广播的方式发送所述升级指令。
3.根据权利要求1所述的对通信模块进行批量化升级的设备,其特征在于,所述主控装置还用于查询所述多个从控装置的升级状态,以判断升级过程是否完成,并在所述多个从控装置均完成升级过程的情况下,反馈升级过程完成的结果。
4.根据权利要求1所述的对通信模块进行批量化升级的设备,其特征在于,所述上位机还包括:
校验模块,用于校验所述多个从控装置中的每一者内的多个第二程序是否与所述上位机内的多个第一程序的内容相一致;指令发送模块,用于在所述多个从控装置中的任一者的多个第二程序与所述多个第一程序不一致的情况下,向所述多个从控装置发送关于所述多个第二程序的擦除指令,
相应地,所述从控装置k还包括:程序擦除模块,用于在接收到所述擦除指令的情况下,擦除所述多个第二程序。
5.根据权利要求4所述的对通信模块进行批量化升级的设备,其特征在于,所述上位机还包括:
查询模块,用于查询所述多个第二程序的擦除动作是否完成,并在所述多个第二程序均被擦除的情况下向所述程序发送模块反馈擦除动作完成的结果。
6.根据权利要求5所述的对通信模块进行批量化升级的设备,其特征在于,所述查询模块包括:第一指令发送单元,用于通过单播的方式发送关于所述多个第二程序的擦除结果的第一查询指令,
相应地,所述主控装置还用于在接收到所述第一查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的操作结果的第一轮询指令,
所述从控装置k还包括:
第一应答模块,用于在接收到所述第一轮询指令的情况下,做出并发送关于所述多个第二程序的擦除结果的第一应答信息,
所述主控装置还用于转发所述第一应答信息,
所述查询模块还包括:结果确定单元,用于在接收到所述第一应答信息的情况下,根据所述第一应答信息确定查询结果。
7.根据权利要求4所述的对通信模块进行批量化升级的设备,其特征在于,所述校验模块包括:第二指令发送单元,用于通过单播的方式发送关于所述多个第二程序的信息编码的第二查询指令,
相应地,所述主控装置还用于在接收到所述第二查询指令的情况下,向所述多个从控装置发送关于所述多个第二程序的信息编码的第二轮询指令,
所述从控装置k还包括:
第二应答模块,用于在接收到所述第二轮询指令的情况下,做出并发送关于所述多个第二程序的编码信息的第二应答信息,
所述主控装置还用于转发所述第二应答信息,
所述校验模块还包括:校验单元,用于在接收到所述第二应答信息的情况下,比较所述第二应答信息是否与所述多个第一程序的编码信息相一致。
8.根据权利要求1所述的对通信模块进行批量化升级的设备,其特征在于,所述程序发送模块用于发送所述多个第一程序包括:对所述多个第一程序中的每个第一程序进行分块以获取所述每个第一程序的程序块,并发送所述每个第一程序的程序块。
9.根据权利要求1所述的对通信模块进行批量化升级的设备,其特征在于,所述设备还包括:
夹持装置,用于将所述多个从控装置的输入端与所述多个通信模块的输出端一一对应夹紧,以实现所述多个从控装置与所述多个通信模块之间的一一对应的物理连接。
10.根据权利要求9所述的对通信模块进行批量化升级的设备,其特征在于,所述主控装置还用于响应于由所述夹持装置上的触发开关所发送的升级触发信号而发送升级指令。
11.根据权利要求9所述的对通信模块进行批量化升级的设备,其特征在于,所述多个从控装置的升级通信端口与所述多个通信模块的通信端口通过高度串行总线连接。
12.一种批量化升级系统,其特征在于,所述批量化升级系统包括:
多个通信模块;以及
根据权利要求1-11中的任一项权利要求所述的对通信模块进行批量化升级的设备,用于对所述多个通信模块进行批量化升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485751.2A CN111767068B (zh) | 2020-06-01 | 2020-06-01 | 对通信模块进行批量化升级的设备及批量化升级系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485751.2A CN111767068B (zh) | 2020-06-01 | 2020-06-01 | 对通信模块进行批量化升级的设备及批量化升级系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767068A CN111767068A (zh) | 2020-10-13 |
CN111767068B true CN111767068B (zh) | 2022-01-14 |
Family
ID=72720128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010485751.2A Active CN111767068B (zh) | 2020-06-01 | 2020-06-01 | 对通信模块进行批量化升级的设备及批量化升级系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767068B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112241281B (zh) * | 2020-10-14 | 2024-02-06 | 四川九洲空管科技有限责任公司 | 数字雷达tr组件fpga程序批量升级方法及系统 |
CN112559008A (zh) * | 2020-12-15 | 2021-03-26 | 航宇救生装备有限公司 | 一种多板软件在线升级的方法 |
CN112817627A (zh) * | 2021-03-22 | 2021-05-18 | 国网北京市电力公司 | 微功率无线通信单元批量升级装置与电子设备 |
CN115314384A (zh) * | 2022-06-13 | 2022-11-08 | 珠海派诺科技股份有限公司 | Rs485总线下设备升级方法、设备升级系统以及采集器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487575A (zh) * | 2016-04-11 | 2017-03-08 | 青岛东软载波科技股份有限公司 | 一种基于电力线通信的通信模块批量升级方法 |
CN111145523A (zh) * | 2020-01-03 | 2020-05-12 | 重庆邮电大学 | 用电信息采集系统中微功率无线通信模块的升级方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130125108A1 (en) * | 2011-11-16 | 2013-05-16 | General Electric Company | System and method for upgrading firmware |
-
2020
- 2020-06-01 CN CN202010485751.2A patent/CN111767068B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487575A (zh) * | 2016-04-11 | 2017-03-08 | 青岛东软载波科技股份有限公司 | 一种基于电力线通信的通信模块批量升级方法 |
CN111145523A (zh) * | 2020-01-03 | 2020-05-12 | 重庆邮电大学 | 用电信息采集系统中微功率无线通信模块的升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111767068A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111767068B (zh) | 对通信模块进行批量化升级的设备及批量化升级系统 | |
CN105159109B (zh) | 一种plc控制器远程升级系统 | |
CN108845811B (zh) | 一种基于can总线的双核dsp固件升级方法及系统 | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
CN110457055B (zh) | 一种面向快充协议的固件升级控制方法、系统及控制终端 | |
WO2019105211A1 (zh) | 电子装置以及电子装置的程序更新方法 | |
CN111885144A (zh) | 一种设备绑定方法及装置 | |
CN113608772B (zh) | 一种应用程序升级方法及装置 | |
CN112152887A (zh) | 家电设备的配网方法、装置、电子设备和存储介质 | |
CN111131536B (zh) | 通讯地址的高效配置方法及装置、系统、电表 | |
CN116192803A (zh) | 一种主从机自动识别通信方法、装置、设备及存储介质 | |
CN110569160B (zh) | 基于通信模组的开发板的测试系统 | |
CN113915742A (zh) | 多联机空调系统的通信控制方法和装置 | |
CN110113734B (zh) | 蓝牙一对多的数据传输方法、系统及存储介质 | |
CN113938351A (zh) | 数据采集方法、系统及计算机可读存储介质 | |
CN104811347A (zh) | 一种软件升级方法、监控模块、整流模块及系统 | |
CN105516745A (zh) | 终端的升级方法及装置 | |
CN111141015A (zh) | 一种远程空调控制方法 | |
CN110134423A (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN115268965A (zh) | 一种低压智能断路器自适应软件远程升级方法及系统 | |
CN109992277B (zh) | 一种电路板的烧写系统、方法及装置 | |
CN113655737B (zh) | 一种经can传输的车载电子控制器快速升级系统与方法 | |
CN212381244U (zh) | 一种手持设备 | |
CN115565357B (zh) | 一种固态硬盘无线调试的方法、系统、设备和存储介质 | |
CN220570554U (zh) | 一种物联网信息处理装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |