CN101907998B - 嵌入式系统的更新系统和方法 - Google Patents

嵌入式系统的更新系统和方法 Download PDF

Info

Publication number
CN101907998B
CN101907998B CN201010258905.0A CN201010258905A CN101907998B CN 101907998 B CN101907998 B CN 101907998B CN 201010258905 A CN201010258905 A CN 201010258905A CN 101907998 B CN101907998 B CN 101907998B
Authority
CN
China
Prior art keywords
embedded system
treating apparatus
new data
serial communication
renewal
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
Application number
CN201010258905.0A
Other languages
English (en)
Other versions
CN101907998A (zh
Inventor
张伟
刘辉
贺川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201010258905.0A priority Critical patent/CN101907998B/zh
Publication of CN101907998A publication Critical patent/CN101907998A/zh
Application granted granted Critical
Publication of CN101907998B publication Critical patent/CN101907998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种嵌入式系统的更新系统和方法,其中,嵌入式系统的更新系统包括:一个或多个以串行通信方式通信的嵌入式系统、处理装置、和远程后台装置,其中:远程后台装置,用于通过远程通信方式向处理装置发送更新数据;处理装置,用于将接收到的更新数据通过串行通信方式转发给一个或多个嵌入式系统中的需要更新的嵌入式系统;一个或多个嵌入式系统中的需要更新的嵌入式系统,用于使用接收到的来自处理装置的更新数据进行更新。本发明实现了以串行通信方式通讯的嵌入式系统的远程更新,解决了相关技术中存在的更新成本较高、更新操作不便的问题。

Description

嵌入式系统的更新系统和方法
技术领域
本发明涉及通信领域,具体而言,涉及一种嵌入式系统的更新系统和方法。
背景技术
随着信息技术的发展以及物联网的应用,越来越多的嵌入式系统需要连接到通信网络中。这些嵌入式系统常常工作在环境艰险、人迹罕至的地方,即使工作在环境较好的地方也数量众多。许多嵌入式系统包括传感器、分布供电或集中供电的数字电源模块等,由于成本等因素限制采用串行通信方式组网。
现有的含有嵌入式系统的设备一般留有近端更新程序的接口,包括CAN接口,RS232接口,USB接口,Modbus接口等。当有更新需求时,需要维护人员携带PC(PrivateComputer,个人电脑)或者笔记本电脑到设备所在地进行近端更新,这样对于使用地域广泛、数量较多的嵌入式系统的维护成本将非常高昂,并且更新操作不便。
发明内容
本发明的主要目的在于提供一种嵌入式系统的更新系统和方法,以至少解决上述的更新成本较高、更新操作不便的问题。
根据本发明的一个方面,提供了一种嵌入式系统的更新系统,包括:一个或多个以串行通信方式通信的嵌入式系统、处理装置、和远程后台装置,其中:远程后台装置,用于通过远程通信方式向处理装置发送更新数据;处理装置,用于将接收到的更新数据通过串行通信方式转发给一个或多个嵌入式系统中的需要更新的嵌入式系统;一个或多个嵌入式系统中的需要更新的嵌入式系统,用于使用接收到的来自处理装置的更新数据进行更新。
根据本发明的另一方面,提供了一种嵌入式系统的更新方法,包括:远程后台装置通过远程通信方式向处理装置发送更新数据;处理装置将接收到的更新数据通过串行通信方式转发给需要更新的嵌入式系统;需要更新的嵌入式系统使用接收到的来自处理装置的更新数据进行更新。
通过本发明,通过增设远程后台装置和处理装置,由处理装置将远程后台装置通过远程通信方式发送来的更新数据再通过串行通信方式转发给以串行通信方式通讯的嵌入式系统,从而实现了以串行通信方式通讯的嵌入式系统的远程更新,解决了相关技术中存在的更新成本较高、更新操作不便的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的嵌入式系统的更新系统的示意图;
图2是根据本发明第一优选实施例的嵌入式系统的更新系统的示意结构图;
图3是根据本发明第二优选实施例的串行通信方式通讯的嵌入式系统的更新系统的示意图;
图4是根据本发明第三优选实施例的串行通信方式通讯的嵌入式系统的更新系统的示意图;
图5是根据本发明第四优选实施例的串行通信方式通讯的嵌入式系统的更新系统的示意图;
图6是根据本发明第五优选实施例的远程通信中断的串行通信方式通讯的嵌入式系统的更新系统的示意图;
图7是根据本发明实施例的嵌入式系统的更新方法的流程图;
图8是根据本发明优选实施例以串行通信方式通讯的嵌入式系统的远程更新的流程图;
图9是根据本发明优选实施例的更新过程中远程通信中断后嵌入式系统恢复原有状态的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的嵌入式系统的更新系统,包括:一个或多个以串行通信方式通信的嵌入式系统10(图1中仅示出了多个嵌入式系统的情况)、处理装置20、和远程后台装置30,其中:远程后台装置30,用于通过远程通信方式向处理装置发送更新数据;处理装置20,用于将接收到的上述更新数据通过串行通信方式转发给一个或多个嵌入式系统10中的需要更新的嵌入式系统;一个或多个嵌入式系统10中的需要更新的嵌入式系统,用于使用接收到的来自处理装置20的更新数据进行更新。
也就是说,处理装置20与远程后台装置30通过远程通信方式进行交互通信;处理装置20与一个或多个嵌入式系统10通过串行通信方式进行交互通信。
该实施例通过增设远程后台装置和处理装置,由处理装置将远程后台装置通过远程通信方式发送来的更新数据再通过串行通信方式转发给以串行通信方式通讯的嵌入式系统,从而实现了以串行通信方式通讯的嵌入式系统的远程更新,解决了相关技术中存在的更新成本较高、更新操作不便的问题,使得一个或多个以串行通信方式通信的嵌入式系统实现远程更新,从而节省了更新过程所需花费的人力和成本。
在实际应用中,图1中的多个以串行通信方式通信的嵌入式系统10可以是相同类型的嵌入式系统,也可以是不同类型的嵌入式系统,如可以是数控整流器系统、传感器等。
在实际实施时,上述处理装置20可以是具备远程通信功能的嵌入式系统。一个或多个以串行通信方式通信的嵌入式系统10和处理装置20通过串行通信方式进行组网,即如图1所示,均连接至串行通信网络40上。优选地,上述远程通信方式可包括以下之一:以太网、WCDMA(WidebandCodeDivisionMultipleAccess,宽带码分多址)、LTE(LongTermEvolution,长期演进)、DSL(DigitalSubscriberLoop,数字用户环路)、TD-SCDMA(TimeDivision-SynchronousCodeDivisionMultipleAccess,时分同步的码分多址)等;上述串行通信方式可包括以下之一:RS485、RS232、CAN(ControllerAreaNetwork,控制器局域网)、USB(UniversalSerialBus,通用串行总线)、Modbus(一种串行通信协议,应用于电子控制器上的一种通用语言)等。这样,该优选实施例的嵌入式系统的更新系统可以应用于各种应用场景中,可以灵活选择来构建整个系统。
优选地,如图2所示,远程后台装置30包括:第一发送模块302,用于通过上述远程通信方式向处理装置20发送远程更新数据包,其中,该远程更新数据包中包括:上述更新数据、更新地址、需要更新的嵌入式系统的串行地址编号;则处理装置20包括:第一接收模块202,用于接收该远程更新数据包;转换模块204,用于将该远程更新数据包重新编码为符合上述串行通信方式的格式的串行更新数据包;第二发送模块206,用于将该串行更新数据包通过上述串行通信方式发送给上述串行地址编号所指示的上述需要更新的嵌入式系统;嵌入式系统10包括:第二接收模块102,用于通过上述串行通信方式接收来自处理装置20的串行更新数据包;更新模块104,用于将该串行更新数据包中的上述更新数据更新至上述更新地址。
该优选实施例提供了远程后台装置通过处理装置将通过远程通信方式发送来的远程更新数据包转换为符合串行通信协议要求的串行更新数据包后,再通过串行通信方式发送给需要更新的嵌入式系统的具体实施方案。这样,通过处理装置具备的符合远程通信协议的数据包与符合串行通信协议的数据包之间的相互转换功能,能够使得嵌入式系统接收到远程后台装置远程发送来的更新数据,实现了嵌入式系统的远程更新。在实际实施时,远程后台装置30中的第一发送模块302可以由与上述远程通信方式对应的接口来实现,即可以同时执行符合远程通信协议的数据包的发送和接收功能;处理装置20中的第一接收模块202可以由与上述远程通信方式对应的接口来实现,即可以同时执行符合远程通信协议的数据包的发送和接收功能,第二发送模块206可以由与上述串行通信方式对应的接口来实现,即可以同时执行符合串行通信协议的数据包的发送和接收功能;嵌入式系统10中的第二接收模块102可以由与上述串行通信方式对应的接口来实现,即可以同时执行符合串行通信协议的数据包的发送和接收功能。
在实现嵌入式系统的远程更新时,由于通信路径长、可靠性较差,如果在更新过程中远程后台装置30与处理装置20之间的通信中断,则正在更新的嵌入式系统将无法恢复工作。如何实现更新过程中远程通信中断时嵌入式系统的恢复成为上述实施例的一个需要解决的问题。因此,优选地,当上述需要更新的嵌入式系统有N个,这N个需要更新的嵌入式系统在更新前具有相同的原版本并且均需要更新为相同的新版本时;则处理装置20包括:第二发送模块,用于将接收到的更新数据通过上述串行通信方式转发给N个需要更新的嵌入式系统中的N-X个嵌入式系统以进行从原版本到新版本的更新,其中,N>0,0<X<N。
优选地,处理装置20的第二发送模块还用于在上述N-X个嵌入式系统更新完毕之前,处理装置20与远程后台装置30之间的通信中断的情况下,通过上述串行通信方式向N个需要更新的嵌入式系统中的X个尚未更新的嵌入式系统发送读取命令;这X个尚未更新的嵌入式系统包括:读取模块,用于根据接收到的读取命令读取本地的数据;第三发送模块,用于将读取到的数据直接发送给上述N-X个正在更新的嵌入式系统,或者将读取到的数据通过处理装置20转发给上述N-X个正在更新的嵌入式系统;上述N-X个嵌入式系统包括:恢复模块,用于使用接收到的数据停止更新,并恢复到原版本。
嵌入式系统在进行远程更新的过程中如果远程通讯故障将导致更新过程中断,为确保嵌入式系统与远程后台通讯中断后可以恢复原有状态继续运行,该优选实施例通过暂时不更新一部分嵌入式系统,当远程通信中断后,正在更新的嵌入式系统就可以直接利用这部分尚未更新的嵌入式系统的本地的数据(即对应于原版本的数据)恢复到原版本继续运行,这样,远程后台装置和处理装置都无需备份原先的程序,节省了通信时间,减少了存储程序占用的空间,方便了整个更新过程,而且提高了整个更新过程的可靠性。
在实际实施时,处理装置可以由具有远程通信功能的嵌入式系统,其包括远程通信接口和串行通信接口。如图3所示,在该系统中,远程通信方式为以太网通信方式,远程后台装置30通过以太网远程发送更新数据该具有以太网通信功能的嵌入式系统(即处理装置20);具备以太网通信功能的嵌入式系统20负责以太网数据包和串行通信数据包的双向转换发送,根据具体需要也可以具备一定的监控管理串行通信网络40中其他嵌入式系统的能力。串行通信网络40采用的串行通信方式可包括如下之一:RS485、RS232、CAN、USB、Modbus等。以串行通信方式通讯的嵌入式系统10可包括如下系统:数字电源系统、数字化UPS、传感器、数字化控制器、和智能家电等。以串行通信方式通讯的嵌入式系统10之间通过串行通信方式组网。
图4是按照本发明的一个优选实施例的实现远程更新的数字电源系统,该系统中嵌入式系统10为数控整流器408,构成数控整流器408嵌入式系统的核心控制芯片为数字信号控制器DSC409;处理装置20为监控单元403,其由MCU405和MODEM(调制解调器)404组成;远程通信方式为以太网通信方式;串行通信方式为CAN,串行通信网络40为CAN406。本优选实施例中监控单元403通过内置调制解调器404实现与通过以太网与远程后台装置10的通讯。
图5是按照本发明的又一个优选实施例的实现传感器嵌入式系统远程更新的系统,该系统中嵌入式系统10为传感器505;处理装置20为无线网关503;远程通信方式为第二代移动通信技术、第三代移动通信技术或第四代移动通信技术的远程通信方式;串行通信方式为RS485;串行通信网络40为RS485504。
结合图1所示的更新系统,根据本发明实施例的嵌入式系统的更新方法如图7所示,包括以下步骤:
步骤S702,远程后台装置通过远程通信方式向处理装置发送更新数据;
步骤S704,处理装置将接收到的更新数据通过串行通信方式转发给需要更新的嵌入式系统;
步骤S706,需要更新的嵌入式系统使用接收到的来自处理装置的更新数据进行更新。
优选地,上述串行通信方式可以包括以下之一:RS485、RS232、CAN、USB、Modbus;上述远程通信方式可以包括以下之一:以太网、宽带码分多址WCDMA、长期演进LTE、DSL、时分同步的码分多址TD-SCDMA。
优选地,步骤S702包括:远程后台装置通过远程通信方式向处理装置发送远程更新数据包,其中,远程更新数据包中包括:更新数据、更新地址、需要更新的嵌入式系统的串行地址编号。步骤S704包括:处理装置通过远程通信方式接收远程更新数据包;处理装置将接收到的远程更新数据包重新编码成符合串行通信方式的格式的串行更新数据包;处理装置将串行更新数据包通过串行通信方式发送给串行地址编号所指示的需要更新的嵌入式系统。步骤706包括:需要更新的嵌入式系统将通过串行通信方式接收到的串行更新数据包中的更新数据更新至更新地址;需要更新的嵌入式系统使用更新数据从原版本更新至新版本。
如图8所示,在实际实施时,以串行通信方式通信的嵌入式系统的更新方法的完整的流程主要包括以下步骤801至步骤835:
步骤801,远程后台装置通过以太网下发以太网更新命令数据包到处理装置。其中以太网更新命令数据包可包括如下内容:更新命令码、更新软件版本号、更新硬件版本号、校验信息、更新密码、和需要更新的嵌入式系统的串行地址编号。
步骤802,处理装置接收到以太网更新命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新命令码、更新软件版本号、更新硬件版本号、校验信息、更新密码、和需要更新的嵌入式系统的串行地址编号。
步骤803,处理装置解析校验以太网更新命令数据包正确无误后,将以太网更新命令数据包重新编码为符合串行通信协议的串行通信更新命令数据包。其中串行通信更新命令数据包可包括如下内容:更新命令码、更新软件版本号、更新硬件版本号、校验信息、更新密码、和需要更新的嵌入式系统的串行地址编号。
步骤804,处理装置通过串行通信网络向需要更新的嵌入式系统发送串行通信更新命令数据包。
步骤805,需要更新的嵌入式系统接收到串行通信更新命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新命令码、更新软件版本号、更新硬件版本号、校验信息、更新密码、和需要更新的嵌入式系统的串行地址编号。
步骤806,需要更新的嵌入式系统解析校验串行通信更新命令数据包正确无误后,系统状态转换为更新状态。
步骤807,需要更新的嵌入式系统的系统状态转换为更新状态后,通过串行通信网络向处理装置发送串行通信请求更新数据包。该串行通信请求更新数据包可包括如下内容:请求更新命令码、目前软件版本号、目前硬件版本号、校验信息、系统状态、需要更新的嵌入式系统的串行地址编号、和需要的更新数据包编号。
步骤808,处理装置收到需要更新的嵌入式系统发送的串行通信请求更新数据包后对该数据包进行解析校验,解析校验可包括如下内容:请求更新命令码、目前软件版本号、目前硬件版本号、校验信息、系统状态、需要更新的嵌入式系统的串行地址编号、和需要的更新数据包编号。
步骤809,处理装置解析校验串行通信请求更新数据包正确无误后,将串行通信请求更新数据包重新编码为符合以太网通信协议的以太网通信请求更新数据包。该以太网通信请求更新数据包可包括如下内容:请求更新命令码、目前软件版本号、目前硬件版本号、校验信息、系统状态、需要更新的嵌入式系统的串行地址编号、和需要的更新数据包编号。
步骤810,处理装置通过以太网向远程后台装置发送以太网通信请求更新数据包。
步骤811,远程后台装置接收到以太网通信请求更新数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:请求更新命令码、目前软件版本号、目前硬件版本号、校验信息、系统状态、需要更新的嵌入式系统的串行地址编号、和需要的更新数据包编号。
步骤812,远程后台装置解析校验以太网通信请求更新数据包正确无误后,根据需要的更新数据包编号决定发送的数据包,向处理装置发送以太网更新数据数据包(即上述的远程更新数据包),该以太网更新数据数据包可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
该步骤对应图7中的步骤S702。
步骤813,处理装置接收到以太网更新数据数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
步骤814,处理装置解析校验以太网更新数据数据包正确无误后,将以太网更新数据数据包重新编码为符合以串行通信协议的串行通信更新数据数据包(即上述的串行更新数据包)。该串行通信更新数据数据包可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
步骤815,处理装置通过串行通信网络向需要更新的嵌入式系统发送串行通信更新数据数据包。其中,串行通信更新数据数据包可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
上述步骤813至步骤815对应图7中的步骤S704。
步骤816,需要更新的嵌入式系统接收到串行通信更新数据数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
步骤817,需要更新的嵌入式系统对串行通信更新数据数据包解析校验正确无误后,将更新数据更新至更新地址。
需要更新的嵌入式系统完成步骤817后,根据数据包编号确定是否需要再次请求更新数据进行其他数据的更新,具体过程重复步骤807~步骤817。
上述步骤816至步骤817对应于图7中的步骤S706。
步骤818,远程后台装置将以太网更新数据数据包全部发送完毕后,向处理装置发送以太网更新完毕命令数据包,其中以太网更新完毕命令数据包可包括如下内容:更新完毕命令码、更新数据包总数、和整个更新数据的校验数据。
步骤819,处理装置接收到以太网更新完毕命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新完毕命令码、更新数据包总数、和整个更新数据的校验数据。
步骤820,处理装置对以太网更新完毕命令数据包解析校验正确无误后,将以太网更新完毕命令数据包重新编码为符合以串行通信协议的串行通信更新完毕命令数据包。串行通信更新完毕命令数据包可包括如下内容:更新完毕命令码、更新数据包总数、和整个更新数据的校验数据。
步骤821,处理装置通过串行通信网络向需要更新的嵌入式系统发送串行通信更新完毕命令数据包。
步骤822,需要更新的嵌入式系统收到串行通信更新完毕命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新完毕命令码、更新数据包总数、和整个更新数据的校验数据。
步骤823,需要更新的嵌入式系统根据串行通信更新完毕命令数据包提供的更新数据包总数,整个更新数据的校验数据进行自检。
步骤824,步骤823自检数据相符,需要更新的嵌入式系统向处理装置发送串行通信更新完毕状态数据包,串行通信更新完毕状态数据包可包括如下内容:目前软件版本号、目前硬件版本号、系统状态、系统串行地址编号、接收到的数据包个数、和整个更新数据的自检数据。
如果步骤823自检数据不符,需要更新的嵌入式系统向处理装置发送串行通信请求更新数据包,重新远程下载需要的更新数据包。具体过程重复步骤807~步骤823。
步骤825,处理装置接收到串行通信更新完毕状态数据包后对该数据包进行解析校验。
步骤826,解析校验正确无误后将串行通信更新完毕状态数据包重新编码为符合以太网协议的以太网更新完毕状态数据包,该数据包可包括如下内容:目前软件版本号、目前硬件版本号、系统状态、系统串行地址编号、接收到的数据包个数、和整个更新数据的自检数据。
步骤827,处理装置通过以太网向远程后台装置发送以太网更新完毕状态数据包。
步骤828,远程后台装置接收到以太网更新完毕状态数据包后对该数据包进行解析校验。
步骤829,远程后台装置解析校验正确无误后对目前软件版本号、目前硬件版本号、系统状态、系统串行地址编号、接收到的数据包个数、和整个更新数据的自检数据进行检查。
步骤830,如果检查结果正确,远程后台装置向处理装置发送以太网启动命令数据包,该数据包可包括如下内容:启动命令码、启动密码、和需启动嵌入式系统串行地址编号。
步骤831,处理装置接收到以太网启动命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:启动命令码、启动密码、和需启动嵌入式系统串行地址编号。
步骤832,处理装置对以太网启动命令数据包解析校验正确无误后,将以太网启动命令数据包重新编码为符合以串行通信协议的串行通信启动命令数据包。串行通信启动命令数据包可包括如下内容:启动命令码、启动密码、和需启动嵌入式系统串行地址编号。
步骤833,处理装置通过串行通信网络向更新完毕的嵌入式系统发送串行通信启动命令数据包。
步骤834,更新完毕的嵌入式系统接收到串行通信启动命令数据包后对该数据包进行解析校验。
步骤835,更新完毕的嵌入式系统解析校验串行通信启动命令数据包正确无误后,系统状态转换为正常运行状态。
为确保处理装置与远程后台装置通讯中断后,嵌入式系统可以恢复到原有状态继续运行,N个软件版本相同的需更新的嵌入式系统进行远程更新时,先更新其中N-X个,保留X个暂不更新。图6是按照本发明的一个实施例的更新过程中与远程后台失去通信时的系统。系统中有N个待更新嵌入式系统,更新时先更新其中N-X个正在更新的嵌入式系统,保留X(一般为1)个尚未更新的嵌入式系统暂不更新。如果在更新过程中发生与远程后台装置的通信中断,处理装置20发出命令读取尚未更新的嵌入式系统的存储器上的数据,然后将这些数据发送给正在更新的嵌入式系统以使其恢复原有功能。优选地,当需要更新的嵌入式系统有N个,这N个需要更新的嵌入式系统在更新前具有相同的原版本并且均需要更新为相同的新版本时;步骤S704包括:处理装置将接收到的更新数据通过串行通信方式转发给这N个需要更新的嵌入式系统中的N-X个嵌入式系统,其中,N>0,0<X<N;则步骤S706包括:这N-X个嵌入式系统使用接收到的来自处理装置的更新数据进行从原版本到新版本的更新。
优选地,在上述的方法中,还包括:这N-X个嵌入式系统更新完毕之前(即正在更新),处理装置与远程后台装置之间的通信中断;处理装置通过串行通信方式向上述N个需要更新的嵌入式系统中的X个尚未更新的嵌入式系统发送读取命令;这X个尚未更新的嵌入式系统根据读取命令读取本地的数据;这X个尚未更新的嵌入式系统将读取到的数据直接发送给上述N-X个正在更新的嵌入式系统,或者将读取到的数据通过处理装置转发给上述N-X个正在更新的嵌入式系统;这N-X个正在更新的嵌入式系统使用接收到的数据停止更新,并恢复到原版本。
如图9所示,在实际实施时,使更新过程中与远程后台装置失去通信后的系统恢复的流程主要包括以下步骤901至步骤928:
步骤901,处理装置判定以太网通信中断。
步骤902,处理装置通过串行通信网络向N-X个正在更新的嵌入式系统发送串行通信恢复命令数据包,其中串行通信恢复命令数据包可包括如下内容:恢复命令码、校验信息、恢复密码、和需要恢复的嵌入式系统的串行地址编号。
步骤903,正在更新的嵌入式系统接收到串行通信恢复命令数据包后解析校验。
步骤904,正在更新的嵌入式系统解析校验串行通信恢复命令数据包正确无误后擦除更新区域数据(即删除已接收到的更新数据)。
步骤905,处理装置通过串行通信网络向尚未更新的嵌入式系统发送串行通信读取命令数据包(即上述读取命令),该数据包可包括如下内容:请求读取数据命令码、读取数据密码、需要读取数据的嵌入式系统的串行地址编号、需要读取的起始地址、和需要读取的终止地址。
步骤906,X个尚未更新的嵌入式系统接收到串行通信读取命令数据包后对该数据包进行解析校验。
步骤907,尚未更新的嵌入式系统解析校验串行通信读取命令数据包正确无误后,读取存储器上的数据(即对应原版本的数据)并打包成串行通信读取数据数据包,串行通信读取数据数据包内容可包括如下内容:读取数据的起始地址、读取的数据、读取数据的长度、读取数据的终止地址、读取数据校验信息、读取数据加密信息、和读取数据包编号。
步骤908,尚未更新的嵌入式系统将串行通信读取数据数据包通过串行通信网络发送给处理装置。
步骤909,处理装置解析校验串行通信读取数据数据包。
步骤910,处理装置解析校验串行通信读取数据数据包正确无误后,根据正在更新的嵌入式系统的串行地址编号和串行通信读取数据数据包,生成串行通信读取数据更新数据包。其中串行通信读取数据更新数据包可包括如下内容:更新数据包编号、需要更新的嵌入式系统的串行地址编号、更新数据、更新地址、校验信息、和加密信息。
步骤911,处理装置通过串行通信网络向正在更新的嵌入式系统发送串行通信读取数据更新数据包。
步骤912,正在更新的嵌入式系统接收到串行通信读取数据更新数据包后解析校验。
步骤913,正在更新的嵌入式系统解析校验串行通信读取数据更新数据包正确无误后,将更新数据更新至更新地址。
步骤914,尚未更新的嵌入式系统将串行通信读取数据数据包全部发送完毕后,向处理装置发送串行通信读取数据完毕命令数据包,其中串行通信读取数据完毕命令数据包可包括如下内容:读取数据完毕命令码、读取数据数据包总数、和整个读取数据的校验数据。
步骤915,处理装置解析校验串行通信读取数据完毕命令数据包。
步骤916,处理装置解析校验串行通信读取数据完毕命令数据包正确无误后,将串行通信读取数据完毕命令数据包重新编码为串行通信更新完毕命令数据包。
步骤917,处理装置通过串行通信网络向需要更新的嵌入式系统发送串行通信更新完毕命令数据包。
步骤918,需要更新的嵌入式系统收到串行通信更新完毕命令数据包后对该数据包进行解析校验,解析校验内容可包括如下内容:更新完毕命令码、更新数据包总数、和整个更新数据的校验数据。
步骤919,需要更新的嵌入式系统根据串行通信更新完毕命令数据包提供的更新数据包总数,整个更新数据的校验数据进行自检。
步骤920,需要更新的嵌入式系统向处理装置发送串行通信更新完毕状态数据包,串行通信更新完毕状态数据包可包括如下内容:目前软件版本号、目前硬件版本号、系统状态、系统串行地址编号、接收到的数据包个数、和整个更新数据的自检数据。
步骤921,处理装置接收到串行通信更新完毕状态数据包后对数据包进行解析校验。
步骤922,处理装置解析校验串行通信更新完毕状态数据包正确无误后,与串行通信读取数据完毕命令数据包中的数据对比,主要对比如下内容:读取数据数据包总数、整个读取数据的校验数据、更新数据包总数、和整个更新数据的校验数据。
步骤923,处理装置对比数据无误后,向正在更新的嵌入式系统发送串行通信启动命令数据包。
步骤924,正在更新的嵌入式系统接收到串行通信启动命令数据包后对该数据包进行解析校验。
步骤925,正在更新的嵌入式系统解析校验串行通信启动命令数据包正确无误后,系统状态转换为正常运行状态。
步骤926,处理装置向尚未更新的嵌入式系统发送串行通信启动命令数据包。
步骤927,尚未更新的嵌入式系统接收到串行通信启动命令数据包后对该数据包进行解析校验。
步骤928,尚未更新的嵌入式系统解析校验串行通信启动命令数据包正确无误后,系统状态转换为正常运行状态。
从以上的描述中,可以看出,本发明实现了如下技术效果:
(1)实现了以串行通信方式通讯的嵌入式系统的远程更新,解决了相关技术中存在的更新成本较高、更新操作不便的问题,使得一个或多个以串行通信方式通信的嵌入式系统实现远程更新,从而节省了更新过程所需花费的人力和成本;
(2)远程后台装置和处理装置都无需备份原先的数据,节省了通信时间,减少了存储程序占用的空间,方便了整个更新过程,而且提高了整个更新过程的可靠性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种嵌入式系统的更新系统,其特征在于,包括:一个或多个以串行通信方式通信的嵌入式系统、处理装置、和远程后台装置,其中:
所述远程后台装置,用于通过远程通信方式向所述处理装置发送更新数据;
所述处理装置,用于将接收到的所述更新数据通过所述串行通信方式转发给所述一个或多个嵌入式系统中的需要更新的嵌入式系统;
所述一个或多个嵌入式系统中的需要更新的嵌入式系统,用于使用接收到的来自所述处理装置的所述更新数据进行更新;
其中,所述远程后台装置包括:第一发送模块,用于通过所述远程通信方式向所述处理装置发送远程更新数据包,其中,所述远程更新数据包中包括:所述更新数据、更新地址、所述需要更新的嵌入式系统的串行地址编号;
所述处理装置包括:第一接收模块,用于接收所述远程更新数据包;转换模块,用于将所述远程更新数据包重新编码为符合所述串行通信方式的格式的串行更新数据包;第二发送模块,用于将所述串行更新数据包通过所述串行通信方式发送给所述串行地址编号所指示的所述需要更新的嵌入式系统;
所述嵌入式系统包括:第二接收模块,用于通过所述串行通信方式接收所述串行更新数据包;更新模块,用于将所述串行更新数据包中的所述更新数据更新至所述更新地址;
其中,所述需要更新的嵌入式系统有N个,所述N个需要更新的嵌入式系统在更新前具有相同的原版本并且均需要更新为相同的新版本;
所述处理装置包括:第二发送模块,用于将接收到的所述更新数据通过所述串行通信方式转发给所述N个需要更新的嵌入式系统中的N-X个嵌入式系统以进行从所述原版本到所述新版本的更新,其中,N>0,0<X<N。
2.根据权利要求1所述的系统,其特征在于,所述串行通信方式包括以下之一:RS485、RS232、控制器局域网CAN、通用串行总线USB、Modbus;所述远程通信方式包括以下之一:以太网、宽带码分多址WCDMA、长期演进LTE、数字用户环路DSL、时分同步的码分多址TD-SCDMA。
3.根据权利要求1所述的系统,其特征在于,
所述处理装置的所述第二发送模块还用于在所述N-X个嵌入式系统更新完毕之前,所述处理装置与所述远程后台装置之间的通信中断的情况下,通过所述串行通信方式向所述N个需要更新的嵌入式系统中的X个尚未更新的嵌入式系统发送读取命令;
所述X个尚未更新的嵌入式系统包括:读取模块,用于根据所述读取命令读取本地的数据;第三发送模块,用于将读取到的所述数据直接发送给所述N-X个嵌入式系统,或者将读取到的所述数据通过所述处理装置转发给所述N-X个嵌入式系统;
所述N-X个嵌入式系统包括:恢复模块,用于使用接收到的所述数据停止更新,并恢复到所述原版本。
4.一种嵌入式系统的更新方法,其特征在于,包括:
远程后台装置通过远程通信方式向处理装置发送更新数据;
所述处理装置将接收到的所述更新数据通过串行通信方式转发给需要更新的嵌入式系统;
所述需要更新的嵌入式系统使用接收到的来自所述处理装置的所述更新数据进行更新;
其中所述处理装置将接收到的所述更新数据通过串行通信方式转发给需要更新的嵌入式系统包括:
所述处理装置通过所述远程通信方式接收远程更新数据包;
所述处理装置将接收到的所述远程更新数据包重新编码成符合所述串行通信方式的格式的串行更新数据包;
所述处理装置将所述串行更新数据包通过所述串行通信方式发送给所述串行地址编号所指示的所述需要更新的嵌入式系统;
其中,所述需要更新的嵌入式系统有N个,所述N个需要更新的嵌入式系统在更新前具有相同的原版本并且均需要更新为相同的新版本;
所述处理装置将接收到的所述更新数据通过串行通信方式转发给需要更新的嵌入式系统包括:所述处理装置将接收到的所述更新数据通过所述串行通信方式转发给所述N个需要更新的嵌入式系统中的N-X个嵌入式系统,其中,N>0,0<X<N;
所述需要更新的嵌入式系统使用接收到的来自所述处理装置的所述更新数据进行更新包括:所述N-X个嵌入式系统使用接收到的来自所述处理装置的所述更新数据进行从所述原版本到所述新版本的更新。
5.根据权利要求4所述的方法,其特征在于,远程后台装置通过远程通信方式向处理装置发送更新数据包括:
所述远程后台装置通过所述远程通信方式向所述处理装置发送远程更新数据包,其中,所述远程更新数据包中包括:所述更新数据、更新地址、和所述需要更新的嵌入式系统的串行地址编号。
6.根据权利要求4所述的方法,其特征在于,所述需要更新的嵌入式系统使用接收到的来自所述处理装置的所述更新数据进行更新包括:
所述需要更新的嵌入式系统将通过所述串行通信方式接收到的所述串行更新数据包中的所述更新数据更新至所述更新地址;
所述需要更新的嵌入式系统使用所述更新数据从原版本更新至新版本。
7.根据权利要求4所述的方法,其特征在于,还包括:
所述N-X个嵌入式系统更新完毕之前,所述处理装置与所述远程后台装置之间的通信中断;
所述处理装置通过所述串行通信方式向所述N个需要更新的嵌入式系统中的X个尚未更新的嵌入式系统发送读取命令;
所述X个尚未更新的嵌入式系统根据所述读取命令读取本地的数据;
所述X个尚未更新的嵌入式系统将读取到的所述数据直接发送给所述N-X个嵌入式系统,或者将读取到的所述数据通过所述处理装置转发给所述N-X个嵌入式系统;
所述N-X个嵌入式系统使用接收到的所述数据停止更新,并恢复到所述原版本。
CN201010258905.0A 2010-08-17 2010-08-17 嵌入式系统的更新系统和方法 Active CN101907998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010258905.0A CN101907998B (zh) 2010-08-17 2010-08-17 嵌入式系统的更新系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010258905.0A CN101907998B (zh) 2010-08-17 2010-08-17 嵌入式系统的更新系统和方法

Publications (2)

Publication Number Publication Date
CN101907998A CN101907998A (zh) 2010-12-08
CN101907998B true CN101907998B (zh) 2016-03-30

Family

ID=43263464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010258905.0A Active CN101907998B (zh) 2010-08-17 2010-08-17 嵌入式系统的更新系统和方法

Country Status (1)

Country Link
CN (1) CN101907998B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346179A (zh) * 2013-07-29 2015-02-11 北京同步科技有限公司 通过can总线远程升级的嵌入式系统及方法
CN103533041A (zh) * 2013-10-09 2014-01-22 哈尔滨工程大学 一种面向水下无人航行器的软件远程更新方法
CN103942170B (zh) * 2014-04-03 2017-06-27 西安交通大学 一种安卓系统usb接口免驱动数据通讯的方法
CN105718274A (zh) * 2014-11-30 2016-06-29 中国科学院沈阳自动化研究所 一种auv中智能节点在线更新软件的方法
CN106034148B (zh) * 2015-03-13 2019-12-31 阿里巴巴集团控股有限公司 一种快速信息交互方法、本地服务器、异地服务器及系统
CN106293797A (zh) * 2015-06-11 2017-01-04 中兴通讯股份有限公司 一种在线更新单片机程序的方法及系统
CN108415720A (zh) * 2018-03-07 2018-08-17 四川长虹电器股份有限公司 通过远程控制usb升级来实现软件升级的系统及方法
CN108491221A (zh) * 2018-03-22 2018-09-04 北方天穹信息技术(西安)有限公司 嵌入式系统的更新、故障检测系统及方法
CN109188949B (zh) * 2018-06-28 2021-10-22 郑州众智科技股份有限公司 上位机通过modbus协议远程升级发电机组控制器的方法
CN108920162A (zh) 2018-06-29 2018-11-30 深圳市道通智能航空技术有限公司 一种无人机系统中的模块升级方法
WO2021007756A1 (zh) * 2019-07-15 2021-01-21 西门子股份公司 设备更新方法、系统及第一物联网设备和计算机可读介质
CN113485154A (zh) * 2021-08-26 2021-10-08 北京深思数盾科技股份有限公司 智能家居控制设备及通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713236A (zh) * 2005-07-13 2005-12-28 浙江大学 基于Internet网络的电梯远程监测系统
CN1713237A (zh) * 2005-07-13 2005-12-28 浙江大学 基于gprs网络的电力远程自动抄表系统
CN101296146A (zh) * 2008-05-21 2008-10-29 深圳创维-Rgb电子有限公司 电视机远程升级系统
CN101621411A (zh) * 2009-07-22 2010-01-06 中兴通讯股份有限公司 微控制器远程更新方法和更新系统
CN101674590A (zh) * 2009-09-29 2010-03-17 中兴通讯股份有限公司 一种客户端设备及其远程升级方法、远程升级服务系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713236A (zh) * 2005-07-13 2005-12-28 浙江大学 基于Internet网络的电梯远程监测系统
CN1713237A (zh) * 2005-07-13 2005-12-28 浙江大学 基于gprs网络的电力远程自动抄表系统
CN101296146A (zh) * 2008-05-21 2008-10-29 深圳创维-Rgb电子有限公司 电视机远程升级系统
CN101621411A (zh) * 2009-07-22 2010-01-06 中兴通讯股份有限公司 微控制器远程更新方法和更新系统
CN101674590A (zh) * 2009-09-29 2010-03-17 中兴通讯股份有限公司 一种客户端设备及其远程升级方法、远程升级服务系统

Also Published As

Publication number Publication date
CN101907998A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101907998B (zh) 嵌入式系统的更新系统和方法
CN103019788A (zh) 一种基于can总线的远程在线升级方法
CN103490958B (zh) 一种测试采集终端本地通信单元互换性的方法
GB2457405A (en) Integrated communication and information processing system
CN100465907C (zh) 一种cmos参数的设置维护装置及方法
GB2389023B (en) Computer system, method and network
CN106130808A (zh) 一种wifi设备升级的方法及系统
CN1983969A (zh) 一种串口网络重定向系统及其实现方法
CN106412064A (zh) 一种用电信息采集终端远程升级方法
CN102857380A (zh) 电力线载波通信路由的远程升级方法
CN104754608A (zh) 实现移动终端性能监控的方法和系统
CN108270733A (zh) 一种管理智能设备的方法及系统
CN103095703A (zh) 一种实现网络与串口数据交互的方法、设备及系统
CN102377505A (zh) 一种基于串口的ipmi数据包传输方法
CN104424036A (zh) 智能终端的同步操作方法及装置
CN103731328A (zh) 基于Linux共享内存实现家庭网关数据通信的系统及方法
CN104090792B (zh) 一种宽带接入网中逻辑文件的动态加载方法
CN101977078B (zh) 光传送网络中远端失效设备的处理方法及系统
CN105228114A (zh) 一种基于电力故障定位系统的加密短信收发系统及方法
CN101175315B (zh) 一种控制移动台进行更新的方法及其系统
ZA200605881B (en) Method and system for transmitting useful data between telecommunication devices
CN112510828B (zh) 一种集中式dtu外接的备投保护装置与配电主站通讯的独立模块设计方法
CN110554731B (zh) 一种时钟同步控制方法、智能终端及存储介质
CN100461928C (zh) 一种实现单板设备串口重定向的装置和方法
CN104937575A (zh) 耦合到usb端口的usb控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant