一种基于微型化嵌入式平台远程升级系统及方法与流程

文档序号:15312199发布日期:2018-08-31 22:07阅读:146来源:国知局

本发明属于嵌入式系统技术领域,尤其涉及一种基于微型化嵌入式平台远程升级系统及方法。



背景技术:

近年来,嵌入式设备广泛应用于工业制造、医疗卫生、智能家居等领域,实现了电子设备的精确控制以及人机交互智能化控制。随着控制设备的发展,在实际应用中对其外形尺寸、重量的需求越来越高,控制设备的小型化、易维护性、可靠性等需求日益增长。过去升级操作主要靠工作人员手动更换嵌入式设备来实现,需要耗费大量的人力和物力。控制设备越小,势必造成控制设备的电路板越小,这也造成控制设备内的嵌入式设备拆卸、维护、维修不便。控制设备的小型化,给单片机等芯片的软件改写升级带来不便,实现不打开控制设备外壳即可给嵌入式设备进行程序升级的远程升级程序的方法就显得很重要。

现有的嵌入式设备升级方法存在一定的不足,例如中国专利cn102298526a介绍了一种基于无外扩存储器单片机的外设设备程序升级程序,主要原理利用主从设备通讯系统,包括一个主机设备和多个外设设备,主机设备与各个外设设备之间物理方式通过rs-232/rs-485/can总线等建立稳定的通讯连接实现数据传输,然后进行升级。该升级方法不足之处在于,系统文件通讯距离短,嵌入式设备升级环境受限。

中国专利cn103530146a主要介绍了低功耗嵌入式设备远程无线升级方法,该方法针对基于低功耗单片机的嵌入式设备,为其提供了一种利用无线网络对其远程升级的方法,不足之处在于,升级面比较窄,对于单片机的外围设备升级没有做系统的研究,在实际应用有很大局限。



技术实现要素:

本发明目的在于提供一种基于微型化嵌入式平台远程升级系统及方法,该方法不仅可以实现对微型化嵌入式平台的远程快速升级,同时对该平台的其他设备也可以进行全面升级,提高了微型化嵌入式平台的可扩展性和可维护性,节省人力物力,降低系统维护成本,具有较高经济价值。

本发明提供一种基于微型化嵌入式平台远程升级系统及方法,技术方案具体为:

(1)本发明提出的的一种基于微型化嵌入式平台远程升级系统,包括远程控制模块、通信传输模块、电源模块、嵌入式计算模块;

远程控制模块:用于建立系统升级所需的软件升级包,并识别嵌入式计算模块id,然后将软件升级包传输至嵌入式计算模块;同时发送升级指令至嵌入式计算模块,使其进入升级待机状态,控制系统升级进程;

通信传输模块:作为远程控制模块与嵌入式计算模块之间的信息通信通道,主要用于进行远程控制模块与嵌入式计算模块之间的升级指令和升级文件传输,同时,嵌入式计算模块发送应答信号至远程控制模块;

嵌入式计算模块:系统核心部分,包括计算单元、存储单元、wi-fi单元、远程收发单元,用于实现在野外环境下对环境各参数进行搜集、分析和存储,需要定期对计算进程和程序进行升级优化;

电源模块:主要用于为整个系统升级运行提供必要的电能。

(2)进一步限定,在上述的一种基于微型化嵌入式平台远程升级系统中,远程控制模块发送至嵌入式计算模块的升级指令主要包括身份识别码和升级启动码,嵌入式计算模块接收到指令后发送应答信号,并进入升级待机状态;嵌入式计算模块在投入使用前,先进行id设置,远程控制模块对各个嵌入式计算模块的id进行识别匹配,匹配成功后进行软件升级包传输。

(3)进一步限定,在上述的嵌入式计算模块远程升级系统中,通信传输模块采用gprs进行升级包及升级指令的传输,传输距离长,通信安全性好;系统通信传输模块数据传输过程主要包括,嵌入式计算模块将自身id及系统版本号发送至远程控制模块,然后匹配成功后远程控制模块将升级文件逐数据帧发送到嵌入式计算模块,嵌入式计算模块在接收过程中对数据帧进行逐个校验,并将校验结果发送至远程控制模块;主要用于进行远程控制模块与嵌入式模块之间的数据传输,包括软件升级包、升级指令、应答信号及校验结果等。

(4)进一步限定,在上述的一种基于微型化嵌入式平台远程升级系统中,嵌入式计算模块所需的升级部分的存储单元分区为引导程序、预留数据段、应用程序、故障重启数据码,引导程序用于配置嵌入式初始环境,引导更新应用代码;预留数据段是非擦除分区,用于控制系统是否升级;应用程序为嵌入式计算模块执行的程序;故障重启数据码用于在数据传输过程中产生数据中断或者是错误数据等情况下能够重启嵌入式计算模块以重新进行数据传输和接收,同时统计错误数量,发送校验结果至远程控制模块。

(5)本发明的一种基于微型化嵌入式平台远程升级方法,具体步骤如下:

步骤1:远程控制模块首先分析升级需求,建立软件升级包;

步骤2:远程控制模块识别嵌入式计算模块id,确立通信协议;

步骤3:通过通信传输模块,远程控制模块发送升级指令到嵌入式计算模块,使其进入升级待机状态,并接收嵌入式计算模块应答信号;

步骤4:嵌入式计算模块接收远程控制模块软件升级包,并对接收数据进行校验;

步骤5:进行在线升级。

(6)进一步限定,在上述一种基于微型化嵌入式平台远程升级方法中,在所述步骤1中,远程控制模块分析硬件升级需求,建立软件升级包;软件升级包主要包括嵌入式计算平台的计算单元升级包、存储单元升级包、wi-fi单元升级包和远程收发单元升级包。

(7)进一步限定,在上述一种基于微型化嵌入式平台远程升级方法中,在所述的步骤2中,通信协议是指远程控制模块确立传输数据的结构及嵌入式计算模块反馈数据的结构,其中包括嵌入式计算模块的id识别码和校验码,实现系统校验功能和差错控制。

(8)进一步限定,在上述一种基于微型化嵌入式平台远程升级方法中,在所述的步骤3中,远程控制模块通过通信传输模块发送软件升级包至嵌入式计算模块。

(9)进一步限定,在上述一种基于微型化嵌入式平台远程升级方法中,在所述的步骤4中,嵌入式计算模块接收软件升级包过程包括:

步骤4-1:嵌入式计算模块对传输数据帧进行校验,确认是否与本设备id一致,当接收数据与设备id匹配后,进入步骤4-2,否则,进行数据包报错,循环执行步骤4-1,直至报错数达到设定阈值;

步骤4-2:确定传输数据与设备id一致后,嵌入式计算模块将传输数据帧传输至片外flash;

步骤4-3:当一个传输数据帧接收完毕后,嵌入式计算模块会发送应答数据至远程控制模块,反馈数据接收状态,并判断软件数据包是否传输完成,如判定传输未完成,则转入步骤4-1,否则,结束数据传输;

(10)进一步限定,在上述一种基于微型化嵌入式平台远程升级方法中,在所述的步骤5中,嵌入式计算模块升级过程主要包括:

步骤5-1:嵌入式计算模块重新启动,触发并执行系统引导加载程序;

步骤5-2:嵌入式计算模块检测到软件升级包后,比对软件升级包与自身设备程序版本号,确定是否升级,若需要升级,则转入步骤5-3,否则,进入系统运行原有程序;

步骤5-3:进行在线升级,待升级完成后,将外部flash存储的数据清除,系统初始化后,运行升级程序,系统远程升级结束。

相较于现有技术,本发明提供一种基于微型化嵌入式平台远程升级系统及方法具有以下有益效果:

一、本发明提供一种基于微型化嵌入式平台远程升级系统及方法,系统在数据传输过程中采用多次校验,保证了软件升级包传输的完整性,同时能够及时发现嵌入式计算模块在写入flash过程中出现的错误,重启设备进行重新写入,确保数据传输的稳定性和安全性。

二、本发明提供一种基于微型化嵌入式平台远程升级系统及方法,系统可实现多个嵌入式计算模块进行升级,同时,对于嵌入式计算模块的内部各个单元进行独立升级,灵活性高,提升了设备的适用性、安全性和可靠性。降低了设备的维护成本,提高了工作效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:

图1是本发明提供的一种基于微型化嵌入式平台远程升级系统模型;

图2是本发明提供的一种基于微型化嵌入式平台远程升级的方法流程图;

图3是本发明提供的一种基于微型化嵌入式平台接收升级包后具体升级流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的设计书方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明法一部分实施例,而不是全部的实施例。

如图1所示,图1给出了一种基于微型化嵌入式平台远程升级系统模型,该模型主要由远程控制模块101、通信传输模块102、嵌入式计算模块103及电源模块104组成。

所述的远程控制模块101由笔记本电脑组成,主要用于建立系统升级所需的软件升级包,并识别嵌入式计算模块id,然后将软件升级包传输至嵌入式计算模块;同时发送升级指令至嵌入式计算模块,使其进入升级待机状态,控制系统升级进程;

所述的通信传输模块102采用芯讯通公司的sim868芯片,作为远程控制模块与嵌入式计算模块之间的信息通信通道,主要用于进行远程控制模块与嵌入式计算模块之间的升级指令和升级文件传输,同时,嵌入式计算模块发送应答信号至远程控制模块;

所述的嵌入式计算模块103采用以stm32f769为微处理器的嵌入式设备,作为系统核心部分,包括计算单元(stm32f769)、存储单元(外围存储模块)、wi-fi单元(cc3200)、远程收发单元(cc2650),用于实现在野外环境下对环境各参数进行搜集、分析和存储,需要定期对计算进程和程序进行升级优化;

所述的电源模块104主要用于为整个系统升级运行提供必要的电能。

远程控制模块101发送至嵌入式计算模块的升级指令主要包括身份识别码和升级启动码,嵌入式计算模块接收到指令后发送应答信号,并进入升级待机状态;嵌入式计算模块在投入使用前,先进行id设置,远程控制模块对各个嵌入式计算模块的id进行识别匹配,匹配成功后进行软件升级包传输。

通信传输模块102采用sim868模块进行升级包及升级指令的传输,传输距离长,通信安全性好;系统通信传输模块数据传输过程主要包括,嵌入式计算模块将自身id及系统版本号发送至远程控制模块将升级文件逐数据帧发送到嵌入式计算模块,嵌入式数据模块在接收过程中对数据帧进行逐个校验,并将校验结果发送至远程控制模块;主要用于进行远程控制模块与嵌入式模块之间的指令传输,包括软件升级包、升级指令、应答信号及校验结果等。

嵌入式计算模块103所需的升级部分的存储单元分区为引导程序、预留数据段、应用程序、故障重启数据码,引导程序用于配置嵌入式初始环境,引导更新应用代码;预留数据段是非擦除分区,用于控制系统是否升级;应用程序为嵌入式计算模块执行的程序;故障重启数据码用于在数据传输过程中产生数据中断或者是错误数据等情况下能够重启嵌入式计算模块以重新进行数据传输和接收,同时统计错误数量,发送校验结果至远程控制模块。

图2是一种基于微型化嵌入式平台远程升级系统及方法流程图,具体如下:

步骤201:远程控制模块首先分析升级需求,建立软件升级包;

步骤202:远程控制模块识别嵌入式计算模块id,确立通信协议;

步骤203:通过通信传输模块,远程控制模块发送升级指令到嵌入式计算模块,使其进入升级待机状态,并接收嵌入式计算模块应答信号;

步骤204:嵌入式计算模块接收远程控制模块软件升级包,并对接收数据进行校验;

步骤205:进行在线升级。

在所述步骤201中,远程控制模块分析硬件升级需求,建立软件升级包;软件升级包主要包括嵌入式计算平台的计算单元升级包、存储单元升级包、wi-fi单元升级包、远程收发单元升级包。

在所述的步骤202中,通信协议是指远程控制模块确立传输数据的结构及嵌入式计算模块反馈数据的结构,其中包括嵌入式计算模块的id识别码和校验码,实现系统校验功能和差错控制。

在所述的步骤203中,远程控制模块通过通信传输模块发送软件升级包至嵌入式计算模块。

在所述的步骤204中,嵌入式计算模块接收远程模块软件升级包的过程主要包括:

步骤204-1:嵌入式计算模块对传输数据帧进行校验,确认是否与本设备id一致,当接收数据与设备id匹配后,进入步骤204-2,否则,进行数据包报错,循环执行步骤204-1,直至报错数达到设定阈值;

步骤204-2:确定传输数据与设备id一致后,嵌入式计算模块将传输数据帧传输至片外flash;

步骤204-3:当一个传输数据帧接收完毕后,嵌入式计算模块会发送应答数据至远程控制模块,反馈数据接收状态,并判断软件数据包是否传输完成,如判定传输未完成,则转入步骤204-1,否则,结束数据传输;

图3是嵌入式计算平台远程升级系统及方法在接收软件升级包后具体升级流程图,具体如下:

步骤301:嵌入式计算模块重新启动,触发系统引导加载程序;

步骤302:执行系统引导程序;

步骤303:进行判断升级标志位电平状态,若标志位为低电平时,转到步骤304;否则,执行片内flash程序,结束升级;

步骤304:启动监听来自sim868模块的串口消息进程;

步骤305:等待sim868模块的串口输入;

步骤306:判定系统是否收到sim868串口输入,若收到输入数据,转到步骤307;否则,转到步骤305;

步骤307:开始接收数据包;

步骤308:解数据包,并进行crc校验;

步骤309:若crc校验成功,则转入步骤310,否则,转入步骤308;

步骤310:回复sim868信号接收成功;

步骤311:将接收数据加入接收队列;

步骤312:判定中断检测pin是否变化,若pin1为低电平,则转到步骤313;若pin2为低电平,则转到步骤314;若pin3为低电平,则转到步骤315;

步骤313:将外部flash数据包覆盖到内部flash应用程序区,进行stm32f769芯片升级,升级成功后,pin1置高电位,清除缓存,发送升级成功信号至远程控制模块;

步骤314:将升级数据包按规定通信协议发送到cc2650模块,进行cc2650芯片升级,升级成功后,pin2置高电位,清除缓存,发送升级成功信号至远程控制模块;

步骤315:将升级数据包按规定通信协议发送到cc3200芯片升级,升级成功后,pin3置高电位,清除缓存,发送升级成功信号至远程控制模块;

步骤316:远程控制模块接收到升级成功信号后,升级完成。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1