一种单片机上的一对多无线程序升级系统及方法与流程

文档序号:12305029阅读:540来源:国知局
一种单片机上的一对多无线程序升级系统及方法与流程

本发明涉及单片机领域,具体来说是一种单片机上的一对多无线程序升级系统及方法。



背景技术:

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

其中,单片机的使用过程中,会对单片机进行升级,目前,针对8位单片机升级所采取的技术方案主要是通过有线接口的专用下载器升级,但是采用上述方式存在很大的缺点,比如只能1对1升级、器件必须有裸露的硬件接口,而且只能应用于工厂生产时升级,不能在常规使用过程中升级,因此需要进行必要的改进。



技术实现要素:

本发明的目的是为了解决现有技术中的只能一对一升级、升级不便的缺陷,提供一种单片机上的一对多无线程序升级系统及方法来解决上述问题。

为了实现上述目的,本发明的技术方案如下:本发明公开了一种单片机上的一对多无线程序升级系统及方法,具体步骤如下:

一、pc端与基站的通信:

(1)、pc端将升级包分包,并记录总包数;

(2)、将28字节的包加上通信协议,总包数,帧头以及校验信息组包成32字节的数据包;

(3)、通过usb接口给基站发送开始升级指令;

(4)、基站接收pc端发送的升级信息,基站开始发送升级请求给pc端;

(5)、pc端将32字节的数据包通过usb接口发送给基站;

(6)、基站接收完一个完整的数据包后,将射频通信的发送通道a天线开始持续广播,每一包数据持续广播重复广播64ms;

(7)、一包数据广播结束之后,基站会向pc端请求下一个数据包;

(8)、重复步骤(5)-(7),最后一个数据包结束后回到第一个数据包;

二、基站与待升级终端通信:

(9)、待升级终端唤醒之后,向周围的基站发送升级询问请求;

(10)、基站通过射频通信的接收通道b天线接收到待升级终端的询问请求后,先中断发送通信端a的广播,将总包数以及程序版本发送给请求的待升级终端后,再继续数据包的广播;

(11)、待升级终端接收到基站发送的总包数以及程序版本后,对比程序版本判断是否需要升级;

(12)、若版本号一致,则待升级终端不进行升级,否则待升级终端进入升级模式;

(13)、进入升级模式的待升级终端将升级总包数以及升级标志位写入eeprom中,并复位整个系统;

(14)、程序复位后会检测升级标志位,判断是否需要升级,如果升级标志位为0,则进入用户程序,升级标志位为1,进入升级程序;

(15)、进入升级程序后,待升级终端会开启接收,每次开启接收仅在基站广播的信道接收2ms,接收到数据包后进行包校验、校对包序号,如果接收到的数据包不曾写入,则将接收包写入用户程序段对应位置的flash中,并且在内存里记录下接收的数据包序号,2ms内如果接收不到数据则进入休眠64ms

(16)、接收的数据包写入完成后,待升级终端会进入休眠,休眠时间距上一次开启接收64ms时再次开启接收;

(17)、所有数据包接收完成并写入flash之后,清除升级标志,复位整个系统,进入用户程序,升级即完成;

作为优选,所述的步骤(1)中,所述的pc端将升级包按28字节一个包分包。

作为优选,所述的步骤(3)中,所述的指令包含总包数、版本号。

作为优选,所述的通信基站具备2.4g射频能力,且通信基站有2路2.4g射频通信通道:发送通道a天线,接收通道b天线。

作为优选,所述的待升级终端的flash需要有8kb的存储空间存放升级程序,剩下部分存放用户程序。

作为优选,所述的带升级终端即为8位单片机系统。

本发明相比现有技术具有以下优点:

1、可同时对任意多待升级终端进行程序升级;

2、具备版本控制能力;

3、升级过程中无需对待升级终端进行拆卸或者断电等操作;

4、适用于低耗能的待升级终端。

附图说明

图1为本发明一种单片机上的一对多无线程序升级系统及方法的流程图;

图2为发明一种单片机上的一对多无线程序升级系统及方法的结构框图。

具体实施方式

为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:

如图1-2所示,本发明公开了一种单片机上的一对多无线程序升级系统及方法,具体步骤如下:

一、pc端与基站的通信:

(1)、pc端将升级包按28字节一个包分包,并记录总包数,通过分包,这样可以防止中途传输中断后只能重新传输,通过分包处理可以实现断点续传,尤其对应多个升级终端,可以实现任何时间的待升级终端的介入升级,并且可以支持任意多待升级终端程序升级;

(2)、将28字节的包加上通信协议,总包数,帧头以及校验信息组包成32字节的数据包;

(3)、通过usb接口给基站发送开始升级指令;

(4)、基站接收pc端发送的升级信息,基站开始发送升级请求给pc端;

(5)、pc端将32字节的数据包通过usb接口发送给基站;

(6)、基站接收完一个完整的数据包后,将射频通信的发送通道a天线开始持续广播,每一包数据持续广播重复广播64ms;

(7)、一包数据广播结束之后,基站会向pc端请求下一个数据包;

(8)、重复步骤(5)-(7),最后一个数据包结束后回到第一个数据包;

二、基站与待升级终端通信:

(9)、待升级终端唤醒之后,向周围的基站发送升级询问请求;

(10)、基站通过射频通信的接收通道b天线接收到待升级终端的询问请求后,先中断发送通信端a的广播,将总包数以及程序版本发送给请求的待升级终端后,再继续数据包的广播;

(11)、待升级终端接收到基站发送的总包数以及程序版本后,对比程序版本判断是否需要升级;

(12)、若版本号一致,则待升级终端不进行升级,否则待升级终端进入升级模式;

(13)、进入升级模式的待升级终端将升级总包数以及升级标志位写入eeprom中,并复位整个系统;

(14)、程序复位后会检测升级标志位,判断是否需要升级,如果升级标志位为0,则进入用户程序,升级标志位为1,进入升级程序;

(15)、进入升级程序后,待升级终端会开启接收,每次开启接收仅在基站广播的信道接收2ms,接收到数据包后进行包校验、校对包序号,如果接收到的数据包不曾写入,则将接收包写入用户程序段对应位置的flash中,并且在内存里记录下接收的数据包序号,2ms内如果接收不到数据则进入休眠64ms,其中,待升级终端在2ms接收不到数据,休眠64ms,即一次广播周期,这样可以大大减小待升级终端的功耗;

(16)、接收的数据包写入完成后,待升级终端会进入休眠,休眠时间距上一次开启接收64ms时再次开启接收;

(17)、所有数据包接收完成并写入flash之后,清除升级标志,复位整个系统,进入用户程序,升级即完成,这样,利用升级程序实现用户程序升级控制,实现上述升级过程,且实现用户程序更新完成后的自动重启,以完成用户程序的自动升级。

步骤(3)中,所述的指令包含总包数、版本号。

所述的通信基站具备2.4g射频能力,且通信基站有2路2.4g射频通信通道:发送通道a天线,接收通道b天线。

所述的待升级终端的flash需要有8kb的存储空间存放升级程序,剩下部分存放用户程序。

作为优选,所述的带升级终端即为8位单片机系统。

实施例1

当有多个终端程序需要升级为同一个版本程序时,以终端c(版本号00c)、终端d(版本号00d)、终端e(版本号00g)中的程序升级为版本g程序,版本g程序大小为140字节为例,步骤包括:步骤一、将基站连接到pc,并将升级程序包拷贝到pc端升级软件中,并打开pc端升级软件,pc端升级软件读取版本g升级程序包文件并将升级程序包按照每包28个字节分割成5个数据包;步骤二、pc端升级软件通过usb通信将升级指令发送到连接的基站中,基站收到升级指令后会通过usb通信发送请求数据包指令到pc端升级软件,pc端升级软件在收到数据包请求后将28个字节的数据包加上通信协议、总包数、帧头以及校验和组成32字节的数据组成第一包发送给基站,然后基站通过发送天线发送32字节数据包,在发送持续64ms后基站关闭发送,并通过usb向pc端升级软件请求第二包数据,基站重复上述请求-发送操作,当请求并发送了第5包数据后基站会重新请求并发送第一包数据;步骤三、唤醒待升级终端c、d、e,终端c、d、e发送升级询问请求到基站,基站收到终端c的升级询问请求后,中断发送升级数据包的广播,并将总包数5以及升级程序版本00g发送给终端c,终端c通过版本号00g对比本地版本号00c,版本号不一致,终端c会复位并进入升级模式中,开始接受基站发送的数据包,终端d和e唤醒后会经过同样的步骤,终端d也会进入升级程序并接收数据包,终端e版本号为00g与升级程序版本号一致,因此不会进入升级程序;步骤四、在终端c和终端d进入升级程序后会不断接收到基站发送的数据包,当接收到基站发送的第一包数据时,会解析32字节数据包并验证检验是否通过,校验通过后,解析可得到标志位为1的28字节数据包,并写入到终端c的flash的对应程序段的开头28字节,如果终端c未收到第二包数据,此时收到第3包数据并校验通过,则终端c会将28字节程序数据写入到flash中第三包程序对应位置,即距对应程序段开头56字节处,在基站再次发送第二包升级包数据时终端c便可写入到第二段程序段中,当所有程序数据包均写入完成时,终端c会自动复位并进入用户程序,用户程序即为空中升级得到的版本为00g的程序,终端d同样会升级到00g的用户程序,终端e则不会进行升级。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。

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