微控制器远程更新方法和更新系统的制作方法

文档序号:7710804阅读:207来源:国知局

专利名称::微控制器远程更新方法和更新系统的制作方法
技术领域
:本发明涉及远程控制领域,尤其涉及一种对微控制器进行远程更新的方法和系统。
背景技术
:目前,嵌入式设备已经广泛应用到各个领域中,随着设备功能的越来越强大,往往一套设备包含了很多的微控制器,这些微控制器通过串口、I2C总线或者CAN总线组成网络连接起来,实现相互之间的通信。当,嵌入式设备中的这些微控制器出现软件故障或要对这些微控制器进行更新时,现有的方式为直接派工作人员到设备现场,对这些设备进行更新,但是这种方式会花费大量的维护成本,花费大量时间,影响客户对设备的正常使用,对企业的形象会产生不利的影响。目前,互联网技术的广泛应用,嵌入式设备往往会有一个微控制器直接连接到因特网,通过该微控制器实现对整套嵌入式设备进行远程管理,这就为远程更新设备中微控制器提供一条途径。
发明内容本发明所要解决的技术问题是提供一种微控制器远程更新方法和更新系统,以解决现有技术中时间成本花费大的问题。为了解决上述技术问题,本发明提供了一种微控制器远程更新方法,该方法包括以下步骤第一微控制器通过互联网接收远程更新数据包;判断所述远程更新lt据包的标识号;当所述标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;当所述标识号为第二微控制器的标识号,所述第一位置控制器将所述远程更新数据包转发给所述第二微控制器;所述第二微控制器根据所述远程更新数据包进行更新。所述第一微控制器是通过互联网的简单文件传输协议从远程控制服务器接收所述远程更新数据包。所述第一微控制器通过互联网接收远程更新数据包具体包括所述第一微控制器通过互联网的简单文件传输协议接收所述远程更新数据包的第一个数据分包;判断所述第一个数据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包。所述标识号为所述第一微控制器的标识号,所述第一微控制器进行更新包括判断为所述第一微控制器的标识号后,发送下载完成数据包给所述远程控制服务器;所述第一微控制器接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;所述第一微控制器发送自动复位数据包,并根据所述远程更新数据包进行更新。所述标识号为第二微控制器的标识号,所述第一^U空制器将所述远程更新数据包转发给所述第二微控制器包括判断为所述第二^L控制器的标识号后,所述第一^:控制器将所述远程更新数据包的第一个数据分包发送所述第二微控制器;所述第二微控制器对所述第一个数据分包进行校验检查;校验检查成功后,所述第二微控制器通过所述第一微控制器向所述远程控制服务器返回成功数据包;所述第二孩t控制器等待接收所述远程更新数据包的第二个数据分包。所述第二微控制器根据所述远程更新数据包进行更新包括所述第二微控制器接收所述第一微控制器发送的传送结束命令包;所述第二微控制器通过第一微控制器发送传送结束确认包给所述远程控制服务器;所述第二微控制器通过第一微控制器接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;所述第二微控制器通过第一微控制器发送自动复位数据包,并根据所述远程更新数据包进行更新。本发明还提供了一种微控制器远程更新方法系统,该系统包括远程控制服务器,用于通过互联网发送远程更新数据包;第一微控制器,与所述远程控制器服务器通过互联网连接,用于接收所述远程更新数据包;并判断所述远程更新数据包的标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;或者判断所述远程更新数据包的标识号为第二微控制器的标识号,所述第一位置控制器将所述远程更新数据包转发给所述第二微控制器;所述第二微控制器,与所述第一微控制器连接,用于根据所述远程更新数据包进行更新。所述第一微控制器包括数据包接收模块,用于通过互联网的简单文件传输协议接收所述远程更新数据包的第一个数据分包;且判断所述第一个^t据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包;判断模块,与所述数据包接收模块相连,用于判断所述远程更新数据包的标识号为所述第一微控制器的标识号后,发送下载完成数据包给所述远程控制服务器;或者判断为所述第二微控制器的标识号后,将所述远程更新数据包的多个数据分包发送所述第二微控制器;更新模块,与所述判断模块相连,用于接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;并发送自动复位数据包,根据所述远程更新数据包进行更新。所述第二微控制器包括校验检查模块,用于对所述远程更新数据包的多个数据分包进行校验4企查;校验检查成功后,通过所述第一微控制器向所述远程控制服务器返回成功数据包。所述第二微控制器还包括接收模块,用于接收所述第一微控制器发送的传送结束命令包,或者接收所述远程控制服务器发送的复位命令包;发送模块,用于通过第一微控制器发送传送结束确认包或发送自动复位数据包给所述远程控制服务器;更新模块,与所述接收模块和发送模块连接,用于在所述发送模块发送复位命令包后将所述远程更新数据包烧写进存储器;以及在所述发送模块发送复位命令包后根据所述远程更新数据包进行更新。因此,本发明提供的微控制器远程更新方法和系统,通过互联网实现对连接至互联网或者没有连接至互联网的微控制器的远程更新,从而节省了成本和时间。图1为本发明微控制器远程更新方法实施例1的流程图2为本发明微控制器远程更新方法实施例1的信令流程图3为本发明微控制器远程更新方法实施例2的流程图4为本发明微控制器远程更新方法实施例2的信令流程图5为本发明微控制器远程更新方法的实施例2中对多个第二微控制器进行复位更新的信令流程图6为本发明一种微控制器远程更新系统框图。具体实施例方式下面通过附图和实施例,对本发明实施例的技术方案做进一步的详细描述。本发明通过采用覆盖面非常广的互连网实现对嵌入式设备的微控制器进行更新和维护,目前运行在互连网上的应用层协议有很多种,由于简单文件传输协议(TrivialFileTransferProtocol,TFTP)简单稳定并且占用的系统资源相对要少,所以本发明选用TFTP协议实现控制微控制器的更新。该TFTP协议所用的数据包格式为<table>tableseeoriginaldocumentpage9</column></row><table>在header中包含了数据包的命令,seq是当前传输的数据包的帧号,data是要传送的数据。本发明采用该通信协议,能确保数据的传输准确。在本发明中将与因特网直接连接的微控器称之为第一微控制器;没有直接与因特网连接与第一微控制器相连接的微控器,称之为第二微控制器。本发明微控制器远程更新方法主要有两种情况,一是更新与因特网直接相连的第一微控制器,另一种情况是更新与第一微控制器相连的第二微控制器。如图1所示为本发明微控制器远程更新方法实施例1的流程图。在该实施例中,更新第一微控制器。同时参考图2所示本发明微控制器远程更新方法实施例l的信令流程图。如图所示,该方法包括以下步骤步骤11,第一微控制器是通过互联网的TFTP协议从远程控制服务器接收远程更新数据包;具体包括步骤111,所述第一微控制器通过互联网的TFTP协议接收远程更新数据包的第一个数据分包;步骤112,判断所述第一个数据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包,随后重复执行接收到数据分包,直至接收完远程更新数据包的所有数据分包。第一微控制器收到第一个数据分包后,检查数据包正确无误后会返回一个成功数据包通知远程控制服务器继续发送下一个数据分包,如果经检查后发现收到的数据分包是错误时,会继续发送上次发送的请求下载程序命令(参见下面描述的信令流程)给远程控制服务器,让远程控制服务器继续发送之前传输出错的数据分包,当远程控制服务器将第一微控制器请求的包传给第一微控制器后第一微控制器会继续对收到的数据分包进行检查,当检查后发现数据分包还是出错时,会重复上面的过程,如果这种情况连续出现多次时说明因特网出现了问题,此时就中止下载过程,并通过远程控制服务器报告用户更新程序出现故障。在本例中,步骤11即描述了远程控制服务器将远程更新数据包分成多个数据分包传送给第一微控制器;同时参见图2所示的信令图,先经过两次握手后,第一微控制器做好接收远程更新数据包的准备发送一个请求包(DLM—LOAD(Req)请求下载程序命令),第一微控制器向远程控制服务器返回DLM—LOAD(Req)信令;如图2上TFTPdownloadreq、TFTPdownloadreq实现对远程更新数据包的下载。步骤12,判断所述远程更新数据包的标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;具体包括步骤121,判断为所述第一微控制器的标识号后,发送下载完成数据包(如图2信令图中TFTPdownloadcomplete和DLM—FINISH(Ind)(程序更新结束命令)以表明是第一微控制器的标识号(ID))给所述远程控制服务器;步骤122,第一微控制器接收所述远程控制服务器发送的复位命令包(如图2信令图中DLM_REST(R叫)),将所述远程更新数据包烧写进存储器;步骤123,第一微控制器发送自动复位数据包(如图2信令图中DLM—REST(Done)),并根据所述远程更新数据包进行更新。通过本方式对微处理器进行更新时,不会影响设备的正常运行,在远程更新数据包下载过程中不影响设备的运行,当更新数据包正确地下载到目标微控制器后,只需远程复位对应的微控制器就能完成更新过程,对用户的业务影响非常小。如图3所示为本发明微控制器远程更新方法实施例2的流程图。在该实施例中,更新第二微控制器。同时参考图4所示,本发明微控制器远程更新方法实施例2的信令流程图。如图所示,该方法中第一微控制器接收远程更新数据包的过程同实施例1相同,可以参见图1,2中所示的。本实施例2与实施例1不同之处在于从判断标识号为第二微控制器后所执行的更新过程。该不同之处如图2和图4所示,该实施例2还包括步骤22,判断远程更新数据包的标识号为第二微控制器的标识号,第一微控制器将远程更新数据包转发给第二微控制器包括步骤221,判断为第二微控制器的标识号后,第一微控制器将远程更新数据包的第一个数据分包发送第二微控制器;如图4信令图中所示,DLM—DATA(1,R叫)和DLMDATA(1,Done);如图4信令图中所示,在将数据包括进行转送之前,第一微控制器与第二微控制器进行下载更新数据包握手命令DLM—INIT;步骤222,所述第二微控制器对所述第一个数据分包进行校验检查;步骤223,校验检查成功后,所述第二微控制器通过所述第一微控制器向所述远程控制服务器返回成功数据包;如图4信令图中所示,执行DLM—STATUS(Ind)将远程更新数据包的更新的状态报告给远程控制服务器;步骤224,所述第二微控制器等待接收所述远程更新数据包的第二个数据分包;如图4信令图中所示,执行DLM一DATA(2,R叫)和DLM—DATA(2,Done);DLM—DATA(n,Req)和DLM—DATA(n,Done);直到将远程更新数据包的所有数据分包接收完成;在该过程中通步骤221中所描述的一样,在每次成功接收一个数据分包后,向远程控制服务器返回成功数据包;执行DLM—STATUS(Ind)将远程更新数据包的更新的状态报告给远程控制服务器;因此能使远程控制服务器看到微处理器的数据包的更新过程,当更新数据包下载过程中出错时,能通报给远程控制服务器,以便用户能做进一步处理。步骤23,第二微控制器根据所述远程更新数据包进行更新包括步骤231,第二微控制器接收第一微控制器发送的传送结束命令包;如图4信令图中所示,执行DLM一FINISH(n+l,Req)远程更新数据包接收结束命令;步骤232,第二微控制器通过第一微控制器发送传送结束确认包给所述远程控制服务器;图4信令图中所示,执行DLM—FINISH(n+2,Done)返回给第一微控制器,将DLM_FINISH(Ind);步骤233,第二微控制器通过第一微控制器接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;(如图5信令图中DLM—REST(Req))步骤234,第二微控制器通过第一微控制器发送自动复位数据包,并根据所述远程更新数据包进行更新。(如图5信令图中DLM_REST(Done))。通过本方式对微处理器进行更新时,不会影响设备的正常运行,在远程更新数据包下载过程中不影响设备的运行,当更新数据包正确地下载到目标微控制器后,只需远程复位对应的微控制器就能完成更新过程,对用户的业务影响非常小。图5示出了本发明微控制器远程更新方法实施例2中对多个第二微控制器进行复位更新的流程。上述对第二微控制器进行更新,可用于嵌入式设备中的多个第二微控制器,因此,在图5中示出了2个第二微控制器,图中第二微控制器个数仅为示例性。总而言之,在远程控制服务器通过TFTP协议将所有远程更新数据包下载到第一微控制器后,如果第一微控制器检查到的远程控制服务器,要更新的目标不是自己,而是第二微控制器时,第一微控制器会和对应的第二微控制器进行协议握手,握手成功后第一微控制器传送第一个数据分包到该第二微控制器,第二微控制器收到第一个数据分包后会,做校验检查,如果检查无误后会通知第一微控制器,第一个数据包已正确接收,第一微控制器收到该包后会通知远程控制服务器,这样远程控制服务器就能监测远程更新数据包下载到目标微控制器的过程,并向用户显示出远程更新数据包下载的进度,就这样一直往复,直到第一微控制器将所有更新数据包传给第二微控制器后,第一微控制器会发送一个传送结束命令包,通知第一微控制器所有远程更新数据包已经传给第二微控制器,第二微控制器收到该远程更新数据包后,会发送传送结束确认包给第一微控制器,第一微控制器收到该包后,会转发传送结束确认包给远程控制服务器,这样远程控制服务器就知道更新数据包传送到第二微控制器的任务已经完成。远程控制服务器会发送一个复位命令包给第一微控制器,第一微控制器会将该包转发给第二微控制器,该第二微控制器收到该包后,会发送一个收到复位命令的确认包给第一微控制器,第一微控制器会将该包转发给远程控制服务器,同时第一微控制器会将下载到内存中的更新数据包烧写到FLASH存储器中,并启动自动复位功能,自动复位后第二微控制器会运行最新烧入FLASH中的更新数据包,至此更新第二微控制器的过程结束。上面介绍的方法中具体实现时可采用了较为简单的重发等待协议,按照此方法经实践证明能通过因特网准确地更新远程嵌入式设备中的第一微控制器和第二微控制器。上述实施例1和实施例2中所提及的远程更新数据包可以是针对每个微控制器的程序。相应地,本发明还提供了一种微控制器远程更新系统,该系统如图6所示包括远程控制服务器10,用于通过互联网发送远程更新数据包;该远程控制服务器采用图形界面操作方式,更新微控制器操作方便;第一微控制器20,与所述远程控制器服务器30通过互联网连接,用于接收所述远程更新数据包;并判断所述远程更新数据包的标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;或者判断所述远程更新数据包的标识号为第二微控制器的标识号,所述第一位置控制器将所述远程更新数据包转发给所述第二微控制器;第二微控制器40,与所述第一微控制器20连接,用于根据所述远程更新数据包进行更新。在该系统中可以包括多个第二微控制器,即在嵌入式设备中没有与互联网直接连接的微控制器均为第二微控制器;第一微控制器20包括数据包接收模块201,用于通过互联网的简单文件传输协议接收所述远程更新数据包的第一个数据分包;且判断所述第一个数据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包;判断模块202,与所述数据包接收模块201相连,用于判断所述远程更新数据包的标识号为所述第一微控制器的标识号后,发送下载完成数据包给所述远程控制服务器;或者判断为所述第二^f敖控制器的标识号后,将所述远程更新数据包的多个数据分包发送所述第二微控制器;更新模块203,与所述判断模块202相连,用于接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;并发送自动复位数据包,根据所述远程更新数据包进行更新。第二微控制器40包括校验检查模块401,用于对所述远程更新数据包的多个数据分包进行校验检查;校验检查成功后,通过所述第一微控制器向所述远程控制服务器返回成功lt据包;接收模块402,与所述检验检查模块401连接,用于在所述校验检查模块返回成功数据包后,接收所述第一微控制器发送的传送结束命令包,或者接收所述远程控制服务器发送的复位命令包;发送模块403,用于通过第一微控制器发送传送结束确认包或发送自动复位数据包给所述远程控制服务器;更新模块404,与所述接收模块402和发送模块403连接,用于在所述发送模块发送复位命令包后将所述远程更新数据包烧写进存储器;以及在所述发送模块发送复位命令包后根据所述远程更新数据包进行更新。第一微控制器与第二微控制器及第二微控制器与第二微控制器之间可用多种接口进行连接,第一微控制器与第二微控制器的连接可用多种形式,如常见的UART/HDLC/CAN总线等,第一微控制器可通过轮循方式和第二微控制器进行通信,第二微控制器与第二微控制器之间不能直接交互信息,只能通过第一微控制器中转来传递数据。通过上述描述的本发明微控制器远程更新方法和系统,通过互联网和第一微控制器的协作,实现了对微处理器的更新,无需工作人员到现场操作,节省了对设备的维护成本。本发明能对嵌入式系统中每个微控器进行更新,而只需要有一个微控器跟外网连接即可,成本低廉。最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明进行修改、更改或者等同替换,而不脱离本发明和权利要求的精神和范围。权利要求1、一种微控制器远程更新方法,其特征在于,包括第一微控制器通过互联网接收远程更新数据包;判断所述远程更新数据包的标识号;当所述标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;当所述标识号为第二微控制器的标识号,所述第一位置控制器将所述远程更新数据包转发给所述第二微控制器;所述第二微控制器根据所述远程更新数据包进行更新。2、如权利要求1所述的微控制器远程更新方法,其特征在于,所述第一微控制器是通过互联网的简单文件传输协议从远程控制服务器接收所述远程更新数据包。3、如权利要求2所述的微控制器远程更新方法,其特征在于,所述第一微控制器通过互联网接收远程更新数据包具体包括所述第一微控制器通过互联网的简单文件传输协议接收所述远程更新数据包的第一个凄t据分包;判断所述第一个数据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包。4、如权利要求3所述的微控制器远程更新方法,其特征在于,所述标识号为所述第一微控制器的标识号,所述第一^f鼓控制器进行更新包括判断为所述第一微控制器的标识号后,发送下载完成数据包给所述远程控制服务器;所述第一微控制器接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;所述第一微控制器发送自动复位数据包,并根据所述远程更新数据包进行更新。5、如权利要求3所述的微控制器远程更新方法,其特征在于,所述标识号为第二微控制器的标识号,所述第一微控制器将所述远程更新数据包转发给所述第二微控制器包括,判断为所述第二^f鼓控制器的标识号后,所述第一^u空制器将所述远程更新数据包的第一个数据分包发送所述第二微控制器;所述第二微控制器对所述第一个数据分包进行校验^^查;校验检查成功后,所述第二微控制器通过所述第一微控制器向所述远程控制服务器返回成功数据包;所述第二微控制器等待接收所述远程更新数据包的第二个数据分包。6、如权利要求3所述的微控制器远程更新方法,其特征在于,所述第二微控制器根据所述远程更新数据包进行更新包括所述第二微控制器接收所述第一微控制器发送的传送结束命令包;所述第二微控制器通过第一微控制器发送传送结束确认包给所述远程控制服务器;所述第二微控制器通过第一微控制器接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;所述第二微控制器通过第一微控制器发送自动复位数据包,并根据所述远程更新数据包进行更新。7、一种微控制器远程更新系统,其特征在于,包括远程控制服务器,用于通过互联网发送远程更新数据包;第一微控制器,与所述远程控制器服务器通过互联网连接,用于接收所述远程更新数据包;并判断所述远程更新数据包的标识号为所述第一微控制器的标识号,所述第一微控制器进行更新;或者判断所述远程更新数据包的标识号为第二微控制器的标识号,所述第一位置控制器将所述远程更新数据包转发给所述第二微控制器;所述第二微控制器,与所述第一微控制器连接,用于根据所述远程更新数据包进行更新。8、如权利要求7所述的微控制器远程更新系统,其特征在于,所述第一微控制器包括数据包接收模块,用于通过互联网的简单文件传输协议接收所述远程更新数据包的第一个数据分包;且判断所述第一个数据分包正确后,向远程控制服务器返回成功数据包,等待接收所述远程更新数据包的第二个数据分包;判断模块,与所述数据包接收模块相连,用于判断所述远程更新数据包的标识号为所述第一微控制器的标识号后,发送下载完成数据包给所述远程控制服务器;或者判断为所述第二微控制器的标识号后,将所述远程更新数据包的多个数据分包发送所述第二微控制器;更新模块,与所述判断模块相连,用于接收所述远程控制服务器发送的复位命令包,将所述远程更新数据包烧写进存储器;并发送自动复位数据包,根据所述远程更新数据包进行更新。9、如权利要求8所述的微控制器远程更新系统,其特征在于,所述第二微控制器包括校验检查模块,用于对所述远程更新数据包的多个数据分包进行校验检查;校验检查成功后,通过所述第一微控制器向所述远程控制服务器返回成功数据包。10、如权利要求9所述的微控制器远程更新系统,其特征在于,所述第二微控制器还包括接收模块,用于接收所述第一微控制器发送的传送结束命令包,或者接收所述远程控制服务器发送的复位命令包;发送模块,用于通过第一微控制器发送传送结束确认包或发送自动复位数据包给所述远程控制服务器;更新模块,与所述接收模块和发送模块连接,用于在所述发送模块发送复位命令包后将所述远程更新数据包烧写进存储器;以及在所述发送模块发送复位命令包后根据所述远程更新数据包进行更新。全文摘要本发明公开了一种微控制器远程更新方法及系统,该方法包括第一微控制器通过互联网接收远程更新数据包;判断远程更新数据包的标识号;当标识号为第一微控制器的标识号,第一微控制器进行更新;当标识号为第二微控制器的标识号,第一位置控制器将远程更新数据包转发给第二微控制器;第二微控制器根据远程更新数据包进行更新。该系统包括远程控制服务器;第一微控制器和第二微控制器。因此,本发明提供的微控制器远程更新方法和系统,通过互联网实现对连接至互联网或者没有连接至互联网的微控制器的远程更新,从而节省了成本和时间。文档编号H04L12/24GK101621411SQ20091016064公开日2010年1月6日申请日期2009年7月22日优先权日2009年7月22日发明者波吴申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1