一种rf远程升级方法及系统的制作方法

文档序号:7743608阅读:143来源:国知局

专利名称::一种rf远程升级方法及系统的制作方法
技术领域
:本发明涉及通信领域技术,特别涉及一种远程升级软件的技术。
背景技术
:在通信技术中,各终端网络设备经常涉及到需要更新程序的情况。如何进行远程升级是通信技术中重要的一个技术。RF(RadiC)Frequency,射频)技术作为通信设备组网中一个必要的技术手段。现有技术中,已存在若干利用RF(Radic)Frequency,射频)信号来升级程序的技术,但现有技术只能简单选择升级设备,不能依据设备的类型和运行的版本来区别操作,也不能针对设备程序的功能模块来有选择的升级;现有RF升级技术是通过无线RF信号来进行简单的数据传送以及将旧软件升级到新软件,只是一种简单的数据更新方法。其共同特点是不能灵活选取升级目标对象,只能对具体的终端设备进行软件升级。而软件升级也只是整个程序覆盖,不能指定区域升级程序。如现有技术中,公开号为TW439037的台湾专利公开了一种利用无线传输进行软件更新的方法,包括以下步骤接收一新软件程序之射频讯号;利用该新软件程序之该射频讯号产生一新软件程序之数字讯号;储存该新软件程序之该数字讯号;执行系统内程序复写程序,以该新软件程序取代系统内之旧程序;及启动新程序。具体来说,存在以下几个问题(一)、简单的升级目标选择现有技术的RF升级方法,只是将升级目标给予一个地址,每次都只能点对点方式进行数据交换,即一台上位机,同一时间内,只可对应一台下位机,造成了升级程序时整体效率不高以及不能对指定某类设备进行升级的情况。(二)、简单的程序升级处理现有的RF升级方法,都是将下载来的新软件,简单地覆盖旧软件。没有备份旧软件功能,即当新软件升级失败后,不能恢复原有版本的程序。没有进行RF数据传送的出错处理机制。(三)、无法区域升级现有技术都是整个程序的升级,没有单独对某个区域程序升级的功能。可见现有技术因为上述的缺陷造成对通信网络设备终端升级的效率低下、升级出错的种种问题。
发明内容有鉴于此,本发明实施例提供一种利用RF升级程序的方法,其目的在于可以有效提高通信网络终端设备的软件升级效率。根据上述目的,本发明实施例的技术方案是这样实现的一种RF远程升级方法,所述远程升级通过上位机对下位机进行升级控制,所述方法包括(1)下位机接收上位机发送的新程序的射频升级信号,所述上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号。(2)下位机储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代下位机的旧程序;(3)下位机启动新程序。进一步的,所述选取目标对象方式包括所述上位机根据下位机的地址信息和/或根据下位机的版本信息进行对象选择,确定需要升级的下位机。进一步的,所述下位机为嵌入式设备,种类包括中继器、控制器、网关、终端、服务器;所述下位机可以为所述嵌入式设备其中的一种或组合。进一步的,所述下位机的地址信息包括目的地址和具体地址,所述目的地址为接收升级程序的下位机种类地址,具体地址指每个种类的具体下位机嵌入式设备的具体地址,每个嵌入式设备拥有唯一的地址。当目的地址为0X0000时,对应系统中所有的下位机设备;目的地址为0X1000时,为中继器目的地址,对象为系统中所有的中继器,而0X1001-0X1FFF为各个中继器具体地址;目的地址为0X2000时,为网关目的地址,对象为系统中所有的网关,而0X2001-0X2FFF为各个网关具体地址;目的地址为0X3000时,为服务器目的地址,对象为系统中所有的服务器,而0X3001-0X3FFF为各个服务器具体地址;目的地址为0X4000时,为终端目的地址,对象为系统中所有的终端,而0X4001-0X4FFF为各个终端具体地址。进一步的,所述上位机根据下位机的版本信息进行对象选择包括上位机根据下位机的软件版本信息和/或硬件版本信息进行对象选择,根据下位机的版本信息编辑所述射频升级信号中数据包中版本信息的内容,所述版本信息字长一字节,高4位表示下位机的硬件版本信息,低4位表示下位机的软件版本信息。进一步的,所述步骤(2)具体包括新程序对旧程序的整体进行更新或者新程序对旧程序的指定区域进行更新。进一步的,所述步骤(3)之后进一步包括下位机保存旧程序,当下位机启动新程序启动失败时,恢复旧程序并运行。进一步的,所述步骤(3)之前进一步包括下位机返回升级成功指令给上位机,如果上位机没有收到升级成功指令,则下位机升级失败,否则升级成功。进一步的,所述下位机启动新程序失败具体包括当下位机第一次升级出错时,上位机过指定时间后再次向下位机发送升级程序,上位机发送过预先设定的重新升级次数时,如果升级仍不成功,则本次升级失败。根据本发明的目的,本发明实施例还提供一种RF远程升级系统,包括上位机和下位机所述上位机,用于对下位机进行升级控制,并根据不同选取目标对象方式向下位机发送新程序的射频升级信号;所述下位机,用于接收上位机发送的新程序的射频升级信号,储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代旧程序并启动新程序。从上述方案可以看出,本发明实施例的技术方案通过广播数据交换功能和版本硬件信息,可以灵活选取升级目标对象,根据升级需要选择下位机达到了多点选择升级的目的,提高了通信网络设备终端升级的效率低下、升级出错的种种问题。并且该方法可以进行旧程序的备份与恢复,在升级失败时可以将程序恢复到升级前的程序,保证正常的工作。并且可以该发明可以指定区域升级,不用对整个程序进行更新。图1本发明实施例提供的RF远程升级系统结构图;图2本发明实施例提供的RF远程升级流程图;图3本发明实施例提供的RF远程软件更新流程图。具体实施例方式为了使本发明的目的、技术方案和优点更加清楚明白,以下举具体实施例并参照附图,对本发明进行进一步详细的说明。如附图1所示在本发明实施例提供的RF远程升级系统中包括上位机和下位机,所述上位机用于对下位机进行升级控制,并根据不同选取目标对象方式向下位机发送新程序的射频升级信号;所述下位机用于接收上位机发送的新程序的射频升级信号,储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代旧程序并启动新程序。该系统中上位机可以为嵌入式设备,也可以是普通设备,只要本身带有RF接口或者通过网关转换带有RF接口都可以作为上位机;下位机均属于嵌入式设备,他们之间通过RF技术进行数据交换,当然在实际组网中,上位机和下位机之间的接口还可以是WIFI、RJ45、RS485等。典型接口为带RF接口。下位机可以为多类设备。下位机作为升级程序的目标设备。上位机为嵌入式设备,PC或手持设备均可。其本身接收数据的方式可以有两种其一,无线方式,通过WIFI方式接收来自局域网的数据;其二,有线方式,通过RJ45接收来自局域网的数据或通过RS485接收来自串口的数据。上位机自带数据存储器,容量为兆级,可存储大量数据。下位机为嵌入式设备,包括但不限于中继器、控制器、网关、终端、服务器等设备。单一设备组网或多类设备混合组网均可。典型对外接口有RF和RS485,其中RF是必备的功能。下位机的微控制器可以自我编程。利用此功能,可以实现程序的远程升级。另外,下位机也带有外部数据存储器,以便备份数据,如升级程序失败,也可以还原之前的程序。上位机可以对应一台或多台下位机。如附图2所示,本发明实施例提供的一种RF远程升级方法的具体实现流程如下,该远程升级通过上位机对下位机进行升级控制,包括如下步骤,SlOl下位机接收上位机发送的新程序的射频升级信号,所述上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号。S102下位机储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代下位机的旧程序;S103下位机启动新程序。具体的,该系统的工作流程如下,如附图3所示1)上位机准备好要升级的新程序,存放在外部数据存储器中;2)上位机通过RF发送射频升级信号给下位机;在选择下位机时,上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号。目标对象方式由帧内容中的目的地址和/或版本信息决定。3)下位机收到射频升级信号后,回复准备接收指令;4)上位机先发送数据帧的数目信息;5)上位机开始发送数据,一次一帧,每帧512BYTE,当然该帧数可以根据实际需求修改,也可以为IMBYTE、也可以是256BYTE等字节数。6)下位机收完一帧后,检验,正确则继续,否则重传,重传次数预先设定,可以为3次,4次5次或者任意设定的次数,但是为了保证升级工作的效率,一般设定3到5次即可;7)全部传送完毕后,下位机开始更新程序;8)下位机重启后,进入Bootloader模式(见下文名词解释);9)Bootloader(bootloader是指处理器在出厂时,由厂家在片内固化了一段Boot代码。Boot装载程序控制芯片复位后的初始化操作,并提供对Flash编程的方法。Boot程序可以对芯片进行擦除、编程。Boot程序包括IAP(InApplicationProgram,在应用中编程)和ISP(in-systemprogramming,在线系统编程)两种。本发明实施例中,下位机为ARM芯片或单片机,片内或片外有较大的FLASH。通过分散加载方式,把片内FLASH分成启动区和应用区两个部分。启动区负责应用程序的更新,只有在上位机给下位机更新程序时方进入执行。而应用区就是应用程序的运行,实现产品的应用功能,通常情况下执行此区程序。)模式使用固化在片内的IAP功能,即在应用编程。10)升级成功后,写入完成标志UpdateCompleteFlag,退出Bootloader模式;若升级失败,写入失败操作标志UpdateFailFlag,新版本程序更新失败的情况可以为以下几种(一)、数据传输过程中,上位机主动停止发送数据;(二)、下位机接收到数据帧后,检验出错,多次重传后仍出错;(三)、下位机掉电,没法接收。11)升级失败后,执行预先设定的重新升级的次数;12)重启,进入应用程序模式,运行应用程序;13)下位机发完成指令给上位机,本次更新完成。上位机记录整个升级过程的信肩、ο下位机在出厂时,会将第一次写入的程序保存在外部数据存储器中,每次更新,数据存储器中既有旧版本程序,也有新版本程序,如果新版本程序更新失败,那么下位机会恢复旧版本程序,以保证系统的稳定性。根据需要,可以在数据存储器中保留两个或多个版本的程序。根据上述流程,下面以具体的实现方式加以进一步说明实施例一下面以数据包内数据为512BYTE的情形说明本发明实施例的技术方案的实现流程。上位机准备好要升级的新程序,存放在外部数据存储器中,通过RF发送射频升级信号给下位机;该射频升级信号由一段帧长度为512byte的数据组成。上位机先发送数据帧的数目信息,然后开始发送数据,数据帧以0X7E开始,又以0X7E结束。数据格式如下表1<table>tableseeoriginaldocumentpage8</column></row><table>表1其中数据中帧内容(数据包)的格式如下表2<table>tableseeoriginaldocumentpage8</column></row><table>表2在选择下位机时,上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号。目标对象方式由帧内容中的目的地址决定。该发送可以通过广播数据交换功能实现,可实现上位机对下位机的点对点或者点对多点的通信。所述下位机的地址信息包括目的地址和具体地址,所述目的地址为接收升级程序的下位机种类地址,具体地址指每个种类的具体下位机嵌入式设备的具体地址,每个嵌入式设备拥有唯一的地址。目的地址为0X0000时,为广播地址,对象为系统中所有的下位机设备。目的地址为0X1000时,为中继器目的地址,对象为系统中所有的中继器。而0X1001-0X1FFF为各个中继器具体地址。目的地址为0X2000时,为网关目的地址,对象为系统中所有的网关。而0X2001-0X2FFF为各个网关具体地址。目的地址为0X3000时,为服务器目的地址,对象为系统中所有的服务器。而0X3001-0X3FFF为各个服务器具体地址。目的地址为0X4000时,为终端目的地址,对象为系统中所有的终端,而0X4001-0X4FFF为各个终端具体地址。实际上,可添加更多的设备,将剩余地址进分配即可。在对下位机进行升级时可以通过目的地址的控制达到选择哪些下位机升级的具体控制,从而达到灵活选取升级目标对象,根据升级需要选择下位机达到了多点选择升级的目的。帧内容中的源地址为发送数据包的上位机地址。长度为两个字节,所有上位机拥有唯一的地址。帧内容中的功能代码表示数据包传输特性的字段,一个字节。具体定义如下表3<table>tableseeoriginaldocumentpage8</column></row><table>表3帧内容中的命令代码表征数据包属性,一个字节。每一个类型指令都有相应的命令代码。如下0X09—工作状态查询指令。上位机查询下位机是否处于空闲状态。OXOA—工作状态回复指令。下位机回复上位机处于空闲/工作状态,还有下位机当前的硬件版本和软件版本(在版本信息中描述)。0Χ0Β—准备升级程序指令。上位机告之下位机,准备开始升级程序,并将相关信息发给下位机,如升级包的数量和版本信息等。0X0C--开始升级程序指令。从本指令起,开始发送升级包数据。OXOD-暂停升级程序指令。暂停数据的传送。0Χ0Ε—终止升级程序指令。停止数据的传送。0X0F--数据包校验正确指令。下位机每次收到数据后,都要进行校验。正确则回复此指令。0X10—数据包校验出错指令。下位机每次收到数据后,都要进行校验。错误则回复此指令。0X11—升级程序成功指令。程序升级成功,回复此指令。0X12—升级程序失败指令。程序升级失败,回复此指令。命令参数描述指令目的之参数,两个字节。例如,可以描述整个升级程序包括多少个数据包。或传输时,数据包的编号等。~15-—14~13-—0““00描述整个升级程序数据包数量。““01描述数据包的编号。~θ描述软件版本(低4位)。"Tl指定升级具体的数据区域。地址^在“数据”中描述。表4实施例二相比于实施例一,实现下位机对象选择的方式是通过帧内容的目的地址,还可以通过下位机的版本信息进行对象选择,可以了解到有时升级是针对必要的软件版本和/或硬件版本进行的。所述版本信息包括下位机的硬件版本信息和/或软件版本信息,本领域人员都清楚可以随意根据下位机的需求根据不同的版本信息进行对象选择。在升级程序时,可指定某一版本的下位机作为升级对象。如下表5所示<table>tableseeoriginaldocumentpage10</column></row><table>表5上位机根据下位机的版本信息编辑所述射频升级信号中数据包中版本信息的内容,本领域人员都清楚该版本定义可以通过8bit实现,用高4位指代硬件版本,低4位指代软件版本,或者高4位表示下位机的软件版本信息,低4位表示下位机的硬件版本信息。完全可以采用其他字长或定义方式来实现该对象选择方式。其他流程与实施例一相同,不再赘述。实施例三通过实施例一和实施例二的介绍,通过下位机的目的地址或版本信息可以达到下位机对象选择。那么上位机也可以同时对目的地址和版本信息进行定义,从而更进一步的明确对象选择方式。具体流程实施例一和二已经明确,不再赘述。实施例四在其他流程都相同的情况下,本实施例实现指定区域的程序升级。指定区域升级的最大好处是可以指定更新系统软件的某个应用程序。一般来说,一个系统软件中,会有多个应用程序,分别实现不同的功能。各个应用程序是模块化编程,只有函数原型不变,其内的代码是可以改变的。因此,我们可以不断优化模块代码或者修改模块代码中的BUG,为程序的调试和维护带来极大的方便性。在射频升级信号中,其帧内容中的“数据”段表征为512BYETE时为要升级的整个程序代码;为8BYTE时,为要指定要升级的具体数据区域,前4个字节为FLASH起始地址,后4个字节为数据长度。该方式可以指定升级区域,提高升级效率。另外在该技术方案中还包括如下流程数据传输过程中进行必要的数据校验。上位机必须记录整个升级过程的信息。具体的参数结构如下上位机和下位机的代号。即上位机和下位机的地址。代码信息。准备升级的代码的大小和版本。版本信息。下位机当前的硬件和软件版本信息。操作时间。升级操作完成的时间。操作结果。升级操作是成功还是失败。下位机在出厂时,会将第一次写入的程序保存在外部数据存储器中,每次更新,数据存储器中既有旧版本程序,也有新版本程序,如果新版本程序更新失败,那么下位机会恢复旧版本程序,以保证系统的稳定性。根据需要,可以在数据存储器中保留两个或多个版本的程序。以上所述仅为本发明的实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所做的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。权利要求一种RF远程升级方法,所述远程升级通过上位机对下位机进行升级控制,所述方法包括(1)下位机接收上位机发送的新程序的射频升级信号;(2)下位机储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代下位机的旧程序;(3)下位机启动新程序;其特征在于,所述步骤(1)中上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号。2.如权利要求1所述的远程升级方法,其特征在于,所述选取目标对象方式包括所述上位机根据下位机的地址信息和/或根据下位机的版本信息进行对象选择,确定需要升级的下位机。3.如权利要求2所述的远程升级方法,其特征在于,所述下位机为嵌入式设备,种类包括中继器、控制器、网关、终端、服务器;所述下位机可以为所述嵌入式设备其中的一种或组合ο4.如权利要求3所述的远程升级方法,其特征在于,所述下位机的地址信息包括目的地址和具体地址,所述目的地址为接收升级程序的下位机种类地址,具体地址指每个种类的具体下位机嵌入式设备的具体地址,每个嵌入式设备拥有唯一的地址。5.如权利要求4所述的远程升级方法,其特征在于,当目的地址为OXOOOO时,对应系统中所有的下位机设备;目的地址为0X1000时,为中继器目的地址,对象为系统中所有的中继器,而0X1001-0X1FFF为各个中继器具体地址;目的地址为0X2000时,为网关目的地址,对象为系统中所有的网关,而0X2001-0X2FFF为各个网关具体地址;目的地址为0X3000时,为服务器目的地址,对象为系统中所有的服务器,而0X3001-0X3FFF为各个服务器具体地址;目的地址为0X4000时,为终端目的地址,对象为系统中所有的终端,而0X4001-0X4FFF为各个终端具体地址。6.如权利要求2所述的远程升级方法,其特征在于,所述上位机根据下位机的版本信息进行对象选择包括上位机根据下位机的软件版本信息和/或硬件版本信息进行对象选择,根据下位机的版本信息编辑所述射频升级信号中数据包中版本信息的内容;所述版本信息字长为一字节,高4位表示下位机的硬件版本信息,低4位表示下位机的软件版本信息,或者高4位表示下位机的软件版本信息,低4位表示下位机的硬件版本信息。7.如权利要求16中任一所述的远程升级方法,其特征在于所述步骤(2)具体包括新程序对旧程序的整体进行更新或者新程序对旧程序的指定区域进行更新。8.如权利要求16中任一所述的远程升级方法,其特征在于,所述步骤(3)之后进一步包括下位机保存旧程序,当下位机启动新程序启动失败时,恢复旧程序并运行;所述步骤(3)之前进一步包括下位机返回升级成功指令给上位机,如果上位机没有收到升级成功指令,则下位机升级失败,否则升级成功。9.如权利要求8所述的远程升级方法,其特征在于,所述下位机启动新程序失败具体包括当下位机第一次升级出错时,上位机过指定时间后再次向下位机发送升级程序,上位机发送过预先设定的重新升级次数时,如果升级仍不成功,则本次升级失败。10.一种RF远程升级系统,包括上位机和下位机,其特征在于,所述上位机,用于对下位机进行升级控制,并根据不同选取目标对象方式向下位机发送新程序的射频升级信号;所述下位机,用于接收上位机发送的新程序的射频升级信号,储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代旧程序并启动新程序。全文摘要本发明适用于通信
技术领域
,公开了一种RF远程升级方法和系统,包括上位机对下位机的控制,(1)下位机接收上位机发送的新程序的射频升级信号,上位机根据不同选取目标对象方式向下位机发送新程序的射频升级信号;(2)下位机储存该新程序的升级信号并执行系统内程序复写程序,以该新软件程序取代下位机的旧程序;(3)下位机启动新程序。有效提高通信网络终端设备的软件升级效率。文档编号H04L29/08GK101814036SQ201010123348公开日2010年8月25日申请日期2010年3月9日优先权日2010年3月9日发明者范迎春,陈健伟申请人:广州市聚晖电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1