CN113655737B - 一种经can传输的车载电子控制器快速升级系统与方法 - Google Patents
一种经can传输的车载电子控制器快速升级系统与方法 Download PDFInfo
- Publication number
- CN113655737B CN113655737B CN202110724949.6A CN202110724949A CN113655737B CN 113655737 B CN113655737 B CN 113655737B CN 202110724949 A CN202110724949 A CN 202110724949A CN 113655737 B CN113655737 B CN 113655737B
- Authority
- CN
- China
- Prior art keywords
- data
- upgrade
- upgraded
- equipment
- upgrade data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25257—Microcontroller
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及软件升级领域,具体提供了一种经CAN传输的车载电子控制器快速升级系统与方法。本发明实施例采用CAN总线传输升级数据,传输稳定高效,通过发送启动指令以识别待升级设备,使得CAN总线可共用一个CAN ID,减小了CAN总线的负载率,在传输升级数据的过程中,通过电子设备与待升级设备之间的一问多答的应答方式,增加了数据传输的效率,从而增加升级的效率。此外,电子设备发送的升级数据中,对数据帧结构进行了改良,使得每一帧数据能承载更多有效数据,大大提高了数据传输的效率,进一步提高升级效率。
Description
技术领域
本申请属于软件升级领域,尤其涉及一种经CAN传输的车载电子控制器快速升级系统与方法。
背景技术
在产品开发以及维护等整个生命周期内,产品的软件随时都可能进行升级更新,例如汽车上的各种待升级的车载电子控制器,如整车控制器,车载终端、电池管理系统、车载充电机、电机控制器等。对于软件的更新,若采用将零部件进行拆卸,通过仿真下载器进行升级,将严重影响效率,为调试、生产、售后等各个环节均带来极大的不便。因此,为了满足升级的便捷性,亟需开发一种高效率的升级方法。
发明内容
本申请实施例的目的在于提供一种经CAN传输的车载电子控制器快速升级系统与方法,以提高升级的效率。
第一方面,本申请实施例提供一种经CAN传输的车载电子控制器快速升级方法,应用于电子设备,该方法包括:通过CAN总线发送启动指令,启动指令包括待升级设备的标识;接收待升级设备响应启动指令的指令校验结果;当指令校验结果为正常结果时,确认待升级设备的升级数据接收进度;根据升级数据的接收进度向待升级设备发送剩余升级数据。
进一步地,确认待升级设备的升级数据接收进度的步骤包括:向待升级设备发送升级查询信息;接收待升级设备响应升级查询信息返回的包号校验结果,包号校验结果为待升级设备对接收到的升级数据进行包号索引得到的结果;根据包号校验结果,确认待升级设备的升级数据接收进度。
进一步地,升级数据的每一包数据中的第一帧数据包括当前包的包号,剩余的每一帧数据不包括当前包的包号。
进一步地,CAN总线上连接的待升级设备共用一个CAN ID。
进一步地,启动指令包括升级数据的数据大小,该方法还包括:当发送完所有的升级数据后,接收待升级设备发送的数据校验结果,数据校验结果为待升级设备通过升级数据的数据大小与当前已接收到的升级数据大小进行比较得到;当数据校验结果为正常时,结束升级数据的发送。
第二方面,本发明实施例还提供一种经CAN传输的车载电子控制器快速升级方法,应用于待升级设备,该方法包括:接收电子设备发送的启动指令,启动指令包括待升级设备的标识;当启动指令中的待升级设备的标识与待升级设备的标识相同时,校验启动指令中的信息是否满足预设信息,并向电子设备返回指令校验结果;接收电子设备发送的升级查询信息,根据升级查询信息查询当前已接收到的升级数据的进度;将升级数据的进度发送至电子设备;接收电子设备发送的升级数据,升级数据为剩余的升级数据;基于升级数据对待升级设备进行升级。
进一步地,根据升级查询信息查询当前已接收到的升级数据的进度的步骤包括:对接收到的升级数据进行包号索引,将未索引到结果的包号作为待接收的升级数据;升级数据的进度包括未索引到结果的包号。
进一步地,启动指令包括升级数据的数据大小,该方法还包括:当接收完所有的升级数据后,校验升级数据的数据大小与当前已接收到的升级数据大小是否相同,得到数据校验结果;将数据校验结果发送至电子设备。
第三方面,本发明实施例还提供一种经CAN传输的车载电子控制器快速升级装置,应用于电子设备,该装置包括:第一发送模块,被配置为通过CAN总线发送启动指令,启动指令包括待升级设备的标识;第一接收模块,被配置为接收待升级设备响应启动指令的指令校验结果;第一查询模块,被配置为当指令校验结果为正常结果时,确认待升级设备的升级数据接收进度;第一发送模块还被配置为根据升级数据的接收进度向待升级设备发送剩余升级数据。
第四方面,本发明实施例还提供一种经CAN传输的车载电子控制器快速升级装置,应用于待升级设备,该装置包括:第二接收模块,被配置为接收电子设备发送的启动指令,启动指令包括待升级设备的标识;校验模块,被配置为当启动指令中的待升级设备的标识与待升级设备的标识相同时,校验启动指令中的信息是否满足预设信息;第二发送模块,被配置为向电子设备返回校验模块的指令校验结果;第二接收模块还被配置为接收电子设备发送的升级查询信息;第二查询模块,被配置为根据升级查询信息查询当前已接收到的升级数据的进度;第二发送模块还被配置为将升级数据的进度发送至电子设备;第二接收模块还被配置为接收电子设备发送的升级数据,升级数据为剩余的升级数据;升级模块,被配置为基于升级数据对待升级设备进行升级。
第五方面,本发明实施例还提供一种电子设备,包括第一处理器和第一存储器,第一存储器储存有计算机程序,第一处理器通过加载计算机程序,用于执行本发明实施例第一方面提供的基于CAN总线的升级方法。
第六方面,本发明实施例还提供一种车载电子控制器,包括第二处理器和第二存储器,第二存储器储存有计算机程序,第二处理器通过加载计算机程序,用于执行如本发明实施例第二方面提供的基于CAN总线的升级方法。
本申请实施例提供的基于CAN总线的升级方法,采用CAN总线传输升级数据,传输稳定高效,通过发送启动指令以识别待升级设备,使得CAN总线可共用一个CAN ID,减小了CAN总线的负载率,在传输升级数据的过程中,通过电子设备与待升级设备之间的一问多答的应答方式,增加了数据传输的效率,从而增加升级的效率。此外,电子设备发送的升级数据中,对数据帧结构进行了改良,使得每一帧数据能承载更多有效数据,大大提高了数据传输的效率,进一步提高升级效率。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其有益效果显而易见。
图1是本发明实施例提供的电子设备与至少一个待升级设备通信的交互示意图。
图2是本发明实施例提供的电子设备的方框示意图。
图3是本发明实施例提供的待升级设备的方框示意图。
图4是本发明实施例提供的电子设备中经CAN传输的车载电子控制器快速升级装置的功能模块架构示意图。
图5是本发明实施例提供的应用于电子设备的基于CAN总线的升级方法的流程示意图。
图6是CAN总线数据传输传统方式的协议示例图。
图7是本发明实施例中电子设备发送的一包升级数据的结构示意图。
图8是本发明实施例应用于电子设备的基于CAN总线的升级方法的又一实施例的流程图。
图9是本发明实施例提供的待升级设备中第二经CAN传输的车载电子控制器快速升级装置的功能模块架构示意图。
图10是本发明实施例提供的应用于待升级设备的基于CAN总线的升级方法的流程示意图。
图11是本发明实施例提供的应用于待升级设备的基于CAN总线的升级方法的另一实施方式的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本发明实施例提供一种经CAN传输的车载电子控制器快速升级系统,包括电子设备,并提供了基于该经CAN传输的车载电子控制器快速升级系统的方法。如图1所示,是本发明较佳实施例提供的电子设备100与至少一个待升级设备300通信的交互示意图。电子设备100通过CAN(Controller Area Network,控制器局域网络)总线200与待升级设备300进行通信,以实现电子设备100与待升级设备300之间的数据通信或交互。CAN总线以其数据通信实时性强、传输距离远、抗电磁干扰能力强、成本低等多种优势,被广泛应用于工业自动化、船舶、医疗设备、工业设备等领域,尤其是在汽车领域上,得到了大面积应用。
本实施例中,电子设备100可以是能够直接发送操作指令的计算机或单片机,如上位机,在一些实施例中,上位机可以提供用户操作交互界面向用户展示反馈数据,此外,电子设备100还可以是具有联网功能的车内设备,如车载终端(Telematics BOX,T-BOX)。当电子设备100为上位机时,其可以是,但不限于,智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobileInternet device,MID)等。上位机的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统等。上位机在对待升级设备升级时,用户可以通过对上位机的界面进行操作,获取相关的程序,然后通过CAN总线向各待升级设备300广播。
当电子设备100为具有联网功能的车内设备时,如车载终端,待升级设备300升级需要的程序可以存储于远程服务器中,车载终端可以通过网络将程序下载下来,例如通过空中下载技术(Over-the-Air Technology;OTA)从服务器获取升级程序,然后通过CAN总线向连接于CAN总线上的各待升级设备300进行广播。
根据电子设备100的不同选型,本发明实施例可以实现不同的升级方式,例如电子设备100为上位机时,本发明实施例可以实现本地升级,当电子设备100为车载终端时,本发明实施例可以实现远程OTA升级。在实际应用中,可根据具体情况进行适应性选择,本发明实施例对电子设备100的选型不做限定。
待升级设备300可以是各类行业的终端设备,例如在汽车行业中,待升级设备300可以是汽车上的终端设备,例如各类车载电子控制器,可以是,但不限于,车载终端、车载充电机、整车控制器、电池管理系统、电机控制器、DC/DC等。
如图2所示,是图1所示的电子设备100的方框示意图。该电子设备100包括第一经CAN传输的车载电子控制器快速升级装置110、第一存储器120、第一处理器130和第一通信单元140。
第一存储器120、第一处理器130以及第一通信单元140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第一经CAN传输的车载电子控制器快速升级装置110包括至少一个可以软件或固件(firmware)的形式存储于所述第一存储器120中或固化在电子设备100的操作系统(operating system,OS)中的软件功能模块。第一处理器130用于执行第一存储器120中存储的可执行模块,例如第一经CAN传输的车载电子控制器快速升级装置110所包括的软件功能模块及计算机程序等。
其中,第一存储器120可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第一存储器120用于存储程序,第一处理器120在接收到执行指令后,执行所述程序。第一处理器120以及其他可能的组件对第一存储器120的访问可在存储控制器130的控制下进行。
第一处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的第一处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DSP))、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
第一通信单元140用于通过CAN总线200与待升级设备300建立连接,从而实现电子设备100与待升级设备300之间的通信连接。
如图3所示,是图1所示的待升级设备300的方框示意图。待升级设备300包括第二经CAN传输的车载电子控制器快速升级装置310、第二存储器320、第二处理器330、第二通信单元340。
第二存储器320、第二处理器330以及第二通信单元340各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。第二经CAN传输的车载电子控制器快速升级装置310包括至少一个可以软件或固件(firmware)的形式存储于第二存储器320中或固化在待升级设备300的操作系统(operating system,OS)中的软件功能模块。第二处理器330用于执行第二存储器320中存储的可执行模块,例如第二经CAN传输的车载电子控制器快速升级装置310所包括的软件功能模块及计算机程序等。
其中,第二存储器320可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,第二存储器320用于存储程序,第二处理器330在接收到执行指令后,执行所述程序。第二通信单元340用于通过CAN总线200建立电子设备100与待升级设备300之间的通信连接,并用于通过CAN总线200收发数据。
请参照图4,是本发明实施例提供的电子设备100中第一经CAN传输的车载电子控制器快速升级装置110的功能模块架构示意图,该第一经CAN传输的车载电子控制器快速升级装置110包括第一发送模块111、第一接收模块112和第一查询模块113。
该第一经CAN传输的车载电子控制器快速升级装置110可用于执行本发明实施例提供的应用于电子设备100的基于CAN总线的升级方法,下面对该方法进行说明。
请参照图5,是本发明实施例提供的应用于电子设备100的基于CAN总线的升级方法的流程示意图,该方法包括以下步骤:
步骤S101,通过CAN总线发送启动指令。
在本实施例中,CAN总线200上连接的待升级设备300(即需要升级的设备)被赋予独立的标识,标识可以理解为设备码。例如,汽车的CAN总线上连接的车载终端、车载充电机、整车控制器、电池管理系统和电机控制器,分别被赋予的标识为:车载终端(0x01)、车载充电机(0x02)、整车控制器(0x03)、电池管理系统(0x04)、电机控制器(0x05)。当需要对上述设备中的一个或多个设备进行升级时,电子设备100通过CAN总线向各设备均发送启动指令,启动指令中携带有需要升级的设备的标识,如携带有0x01,则表明车载终端需要升级,通过启动指令“告知”需要升级的设备准备升级。
步骤S102,接收待升级设备响应启动指令的指令校验结果。
电子设备100发出的启动指令被所有的终端设备接收后,如果终端设备识别到启动指令中包含自身的标识,如果不包含自身标识,则表明自身不属于待升级设备300,可不再与电子设备100进行交互;如果终端设备识别到启动指令中包含自身标识,表示终端设备自身属于待升级设备300,则属于待升级设备300的终端设备对启动指令进行校验,得到指令校验结果。校验的内容可以是电子设备100发送的数据格式、字节位等与约定的数据格式或字节位是否相同,若相同,则指令校验结果为正常,若不同,则指令校验结果为非正常。待升级设备300将指令校验结果返回给电子设备100。
步骤S103,判断指令校验结果是否正常,若正常,则执行步骤S104,若不正常,则返回开始步骤。
步骤S104,确认待升级设备的升级数据接收进度。
由于在升级数据传输的过程中,可能因为外界干扰导致数据传输中止,例如断电、设备故障等,而前期已经传输了部分数据,如果重新传输数据,无疑会造成时间和资源的浪费,因此,本实施例中,在向待升级设备300传输升级数据前,先确定待升级设备的升级数据接收进度,即目前已经接收到多少升级数据,还剩多少升级数据没有接收到。
作为一种实施方式,对升级数据进度的确认可以采用以下方式进行:
电子设备100向待升级设备300发送升级查询信息,待升级设备300接收到升级查询信息后,查询接收到的升级数据是否完整,可选地,电子设备100向待升级设备300发送的升级数据中,各包数据都有对应的包号,待升级设备300通过索引升级数据中的包号即可校验出已经接收到的数据包,未索引到的包号对应的数据包即为未接收的升级数据。待升级设备300索引完成后,将包号校验结果返回至电子设备100,电子设备100通过该包号校验结果即可确认待升级设备300的升级数据接收进度。
步骤S105,根据升级数据的接收进度向待升级设备发送剩余升级数据。
通过步骤S104,电子设备100可以确定待升级设备300还有哪些升级数据需要接收,容易理解,在第一次发送升级数据时,剩余升级数据即全部升级数据。在CAN总线数据传输过程中,传统的传输方式在传输数据时,每一帧数据的8个字节中,前2个字节的内容为当前数据包的包号,而非有效数据,因此每一帧数据仅有后6个字节能承载有效数据,例如升级数据,请参照图6,是CAN总线数据传输传统方式的协议,可以看出,在程序烧写指令索引中,电子设备发送的数据中,D0~D1为包号,D2~D7为需要烧写的内容,假设升级程序的大小为100K(即102400字节),每帧周期设定为10ms一次,则升级程序的传输时间约为102400字节÷6*10ms÷1000ms=170.7s。
为了增加升级数据的传输效率,在本实施例中,电子设备100发送的升级数据的每一包数据中,第一帧数据包括当前包的包号,而剩余的每一帧数据不包括当前包的包号。请参照图7,是本发明实施例中,电子设备100发送的一包升级数据的结构示意图,在第一帧数据中的前2个字节内容为当前数据包的包号,其余字节为有效数据,即升级数据,而后续的每一帧数据的每一个字节都为有效数据,不再承载当前数据包的包号。还是以升级程序的大小为100K(即102400字节),每帧周期设定为10ms一次为例,本发明实施例提供的方法中,传输完所有升级数据的时间约为102400字节÷8*10ms÷1000ms=128s,而传统的传输方式需要170.7s,本发明实施例能减少约43s的传输时间,大大提高了升级的效率。
通过以上步骤S101~S105,本发明实施例提供的基于CAN总线的升级方法,采用CAN总线传输升级数据,传输稳定高效,升级过程中,通过电子设备与待升级设备之间的一问多答的应答方式,增加了数据传输的效率,从而增加升级的效率。此外,电子设备100发送的升级数据中,对数据帧结构进行了改良,使得每一帧数据能承载更多有效数据,大大提高了数据传输的效率,进一步提高升级效率。
另外,在本发明实施例中,由于每一个待升级设备300被赋予独立的标识,因此,CAN总线200只采用一个CAN ID,电子设备100和待升级设备300均采用该CAN ID,仅在应答上有区别,可以降低CAN总线200的负载率。
作为另一种实施方式,请参照图8,是本发明实施例应用于电子设备的基于CAN总线的升级方法的又一实施例的流程图,在上述步骤S101-S105后,该方法还包括:
步骤S106,判断是否发送完所有升级数据,若发送完,执行步骤S107,若没发送完,返回继续执行步骤S105。
步骤S107,接收待升级设备发送的数据校验结果。
在该实施方式中,待升级设备300发送的数据校验结果校验的内容为接收到的升级数据的大小是否满足预设条件,可选的,电子设备100在发送启动指令时,该启动指令可以包含本次升级所需要传输的升级数据的数据大小,例如100K,以便于判断数据传输是否完整。
步骤S108,判断数据校验结果是否正常,若正常,则结束升级数据的发送,若不正常,则返回开始流程。
本发明实施例中,当待升级设备300接收完所有升级数据时,可以对比接收到的升级数据与启动指令中包含的数据大小是否匹配,如果匹配,则数据校验结果为正常,若不匹配,则数据校验结果为非正常。通过对数据大小的校验,可以帮助判断电子设备100传输的数据是否有丢失,防止升级过程出现问题。
在本发明实施例中,应用于电子设备100的基于CAN总线的升级方法,可以由第一经CAN传输的车载电子控制器快速升级装置110的各个功能模块执行,例如,步骤S101和步骤S105可由第一发送模块111执行,步骤S102可由第一接收模块112执行,步骤S103和步骤S104可由第一查询模块113执行。由于各个模块可执行的步骤在前述已经对其原理进行说明,此处不再对各个功能模块的工作过程和原理进行赘述。
请参照图9,是本发明实施例提供的待升级设备300中第二经CAN传输的车载电子控制器快速升级装置310的功能模块架构示意图,该第二经CAN传输的车载电子控制器快速升级装置310包括第二接收模块311、校验模块312、第二发送模块313、第二查询模块314和升级模块315。
该第二经CAN传输的车载电子控制器快速升级装置310可用于执行本发明实施例提供的应用于待升级设备300的基于CAN总线的升级方法,下面对该方法进行说明。
请参照图10,是本发明实施例提供的应用于待升级设备300的基于CAN总线的升级方法的流程示意图。该基于CAN总线的升级方法的原理与本发明实施例提供的应用于电子设备100的基于CAN总线的升级方法相同。以下对该应用于待升级设备300的基于CAN总线的升级方法的具体流程进行详细说明。
步骤S201,接收电子设备发送的启动指令。
步骤S202,判断启动指令中的待升级设备的标识与本待升级设备的标识是否相同,若相同,则执行步骤S203,若不相同,则结束流程。
步骤S203,校验启动指令中的信息是否满足预设信息,并向电子设备返回指令校验结果。
步骤S204,接收电子设备发送的升级查询信息,根据升级查询信息查询当前已接收到的升级数据的进度。
步骤S205,将升级数据的进度发送至电子设备。
步骤S206,接收电子设备发送的升级数据,升级数据为剩余的升级数据。
步骤S210,基于升级数据对待升级设备进行升级。
由于步骤S201~S210的原理与前述步骤S101~S105的原理相同,此处不再赘述。
请参照图11,是本发明实施例提供的应用于待升级设备300的基于CAN总线的升级方法的另一实施方式的流程图,在步骤S201~S210的基础上,还可以包括:
步骤S207,判断是否接收完所有升级数据,若接收完,执行步骤S208,若没接收完,继续执行步骤S206。
步骤S208,校验升级数据的数据大小与当前已接收到的升级数据大小是否相同,得到数据校验结果。
步骤S209,将数据校验结果发送至电子设备。
上述步骤S207~S209的原理在步骤S106~S108中已经详细描述,此处不再赘述。
在本实施例中,步骤S201~210可由第二经CAN传输的车载电子控制器快速升级装置310中的各功能模块执行,例如,第二接收模块211可用于执行步骤S201、S206及S204中接收电子设备发送的升级查询信息的内容,校验模块312可用于执行步骤S202、S207、S208及步骤S203中校验启动指令中的信息是否满足预设信息的内容,第二发送模块313可用于执行步骤S205、S209及步骤S203中将指令校验结果返回至电子设备100的内容,第二查询模块314可用于执行步骤S204中根据升级查询信息查询当前已接收到的升级数据的进度的内容,升级模块315可用于执行步骤S210。由于第二经CAN传输的车载电子控制器快速升级装置310的各个模块可执行的步骤在前述已经对其原理进行说明,此处不再对各个功能模块的工作过程和原理进行赘述。
在另一实施方式中,本发明实施例提供的基于CAN总线的升级方法还可以引入异常退出机制,由于在系统出现故障时可能引起升级异常,例如异常断电、CAN总线故障(如断线、顶针退针、连接器护套松动脱落等),在故障时,引入退出机制。对于电子设备100,当向待升级设备300发送启动指令或升级查询信息或传输升级数据时,若待升级设备300在预设的周期未进行应答,则电子设备100退出升级,例如,电子设备100按照2s发送1次信息的周期向待升级设备300发送升级数据,约定在连续发送3次后待升级设备300未进行应答,则电子设备100退出升级,又如升级中途过程中电子设备100向待升级设备300发送升级指令,约定在连续发送3次每次间隔2s后待升级设备300未进行应答,则电子设备100退出升级。
相应的,对于待升级设备300,当向电子设备100发送指令校验结果、升级数据的进度、包号校验结果、数据校验结果后,若电子设备100在预设的周期未进行应答,则待升级设备300退出升级,或在接收电子设备100发送的升级数据过程中,在预设周期未收到升级数据,待升级设备300退出升级,例如,待升级设备300按照2s接收1次信息的周期从待升级设备300处接收升级数据,约定在连续3个周期未接收到电子设备100发送的升级数据,则待升级设备300退出升级流程,且待升级设备继续执行原程序。
通过引入异常退出机制,能保证电子设备100或待升级设备300的正常工作,杜绝资源侵占和浪费。
综上所述,本发明实施例提供的经CAN传输的车载电子控制器快速升级系统与方法,采用CAN总线传输升级数据,传输稳定高效。在升级过程中,通过电子设备100与待升级设备300之间的一问多答的应答方式,增加了数据传输的效率,从而增加升级的效率。此外,电子设备100发送的升级数据中,对数据帧结构进行了改良,使得每一帧数据能承载更多有效数据,大大提高了数据传输的效率,进一步提高升级效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
Claims (6)
1.一种经CAN传输的车载电子控制器快速升级方法,其特征在于,应用于电子设备,所述方法包括:
通过CAN总线发送启动指令,所述启动指令包括待升级设备的标识;
接收所述待升级设备响应所述启动指令的指令校验结果;
当所述指令校验结果为正常结果时,确认所述待升级设备的升级数据接收进度;
所述确认所述待升级设备的升级数据接收进度,包括:
向所述待升级设备发送升级查询信息;
接收所述待升级设备响应所述升级查询信息返回的包号校验结果,所述包号校验结果为所述待升级设备对接收到的升级数据进行包号索引得到的结果;
根据所述包号校验结果,确认所述待升级设备的升级数据接收进度;
根据所述升级数据的接收进度向所述待升级设备发送剩余升级数据;
所述升级数据的每一包数据中包含大于一帧的数据,其中,每一包数据的第一帧数据包括当前包的包号,剩余的每一帧数据不包括当前包的包号;
所述CAN总线上连接的待升级设备共用一个CAN ID进行升级。
2.根据权利要求1所述的方法,其特征在于,所述启动指令包括升级数据的数据大小,所述方法还包括:
当发送完所有的升级数据后,接收所述待升级设备发送的数据校验结果,所述数据校验结果为所述待升级设备通过所述升级数据的数据大小与当前已接收到的升级数据大小进行比较得到;
当所述数据校验结果为正常时,结束升级数据的发送。
3.一种经CAN传输的车载电子控制器快速升级方法,其特征在于,应用于待升级设备,所述方法包括:
接收电子设备发送的启动指令,所述启动指令包括待升级设备的标识;
当所述启动指令中的待升级设备的标识与所述待升级设备的标识相同时,校验所述启动指令中的信息是否满足预设信息,并向所述电子设备返回指令校验结果;
接收所述电子设备发送的升级查询信息,根据所述升级查询信息查询当前已接收到的升级数据的进度;
所述根据所述升级查询信息查询当前已接收到的升级数据的进度,包括:
对接收到的升级数据进行包号索引,将未索引到结果的包号作为待接收的升级数据;
所述升级数据的进度包括所述未索引到结果的包号;
将所述升级数据的进度发送至所述电子设备;
接收所述电子设备发送的升级数据,所述升级数据为剩余的升级数据;
基于所述升级数据对所述待升级设备进行升级;
所述升级数据的每一包数据中包含大于一帧的数据,其中,每一包数据的第一帧数据包括当前包的包号,剩余的每一帧数据不包括当前包的包号;
CAN总线上连接的待升级设备共用一个CAN ID进行升级。
4.根据权利要求3所述的方法,其特征在于,所述启动指令包括升级数据的数据大小,所述方法还包括:
当接收完所有的升级数据后,校验所述升级数据的数据大小与当前已接收到的升级数据大小是否相同,得到数据校验结果;
将所述数据校验结果发送至所述电子设备。
5.一种电子设备,包括第一处理器和第一存储器,所述第一存储器储存有计算机程序,其特征在于,所述第一处理器通过加载所述计算机程序,用于执行如权利要求1或2所述的一种经CAN传输的车载电子控制器快速升级方法。
6.一种车载电子控制器,包括第二处理器和第二存储器,所述第二存储器储存有计算机程序,其特征在于,所述第二处理器通过加载所述计算机程序,用于执行如权利要求3或4所述的一种经CAN传输的车载电子控制器快速升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110724949.6A CN113655737B (zh) | 2021-06-29 | 2021-06-29 | 一种经can传输的车载电子控制器快速升级系统与方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110724949.6A CN113655737B (zh) | 2021-06-29 | 2021-06-29 | 一种经can传输的车载电子控制器快速升级系统与方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113655737A CN113655737A (zh) | 2021-11-16 |
CN113655737B true CN113655737B (zh) | 2023-05-26 |
Family
ID=78489142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110724949.6A Active CN113655737B (zh) | 2021-06-29 | 2021-06-29 | 一种经can传输的车载电子控制器快速升级系统与方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113655737B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115529238A (zh) * | 2022-09-28 | 2022-12-27 | 浙江中控信息产业股份有限公司 | 控制器局域网络中节点的固件升级方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1665217A (zh) * | 2004-03-04 | 2005-09-07 | 华为技术有限公司 | 一种数据处理芯片及其数据包的包号生成方法 |
CN109388438A (zh) * | 2017-08-11 | 2019-02-26 | 郑州宇通客车股份有限公司 | 一种电控单元远程升级系统、方法及车辆 |
CN110990042A (zh) * | 2019-12-20 | 2020-04-10 | 深圳市优必选科技股份有限公司 | 一种系统的升级方法、上位机和存储介质 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6281535B2 (ja) * | 2015-07-23 | 2018-02-21 | 株式会社デンソー | 中継装置、ecu、及び、車載システム |
CN108023907A (zh) * | 2016-10-31 | 2018-05-11 | 比亚迪股份有限公司 | 车载模块升级方法、装置及车辆 |
CN106648777A (zh) * | 2016-12-23 | 2017-05-10 | 雷桦松 | 一种软件升级方法及装置 |
CN107733720B (zh) * | 2017-11-09 | 2023-10-31 | 丰翼科技(深圳)有限公司 | 便携式固件升级方法及装置 |
CN108182072A (zh) * | 2017-12-28 | 2018-06-19 | 上汽通用五菱汽车股份有限公司 | 车辆电子设备的远程升级方法、服务器及存储介质 |
CN109766117A (zh) * | 2018-12-12 | 2019-05-17 | 天津津航技术物理研究所 | 一种基于dsp通用平台在线升级方法 |
-
2021
- 2021-06-29 CN CN202110724949.6A patent/CN113655737B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1665217A (zh) * | 2004-03-04 | 2005-09-07 | 华为技术有限公司 | 一种数据处理芯片及其数据包的包号生成方法 |
CN109388438A (zh) * | 2017-08-11 | 2019-02-26 | 郑州宇通客车股份有限公司 | 一种电控单元远程升级系统、方法及车辆 |
CN110990042A (zh) * | 2019-12-20 | 2020-04-10 | 深圳市优必选科技股份有限公司 | 一种系统的升级方法、上位机和存储介质 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李刚 ; 周毅波 ; 卿柏元 ; .智能电力设备在线远程软件升级新方法.自动化与仪表.2010,(02), * |
Also Published As
Publication number | Publication date |
---|---|
CN113655737A (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928567A (zh) | 车辆系统升级方法、终端设备及计算机可读存储介质 | |
CN105354488A (zh) | 一种应用安装方法、相关装置及应用安装系统 | |
CN106850241A (zh) | 一种车载obd终端及其远程升级方法 | |
CN105262792A (zh) | 一种车辆异常处理方法及车载终端 | |
CN112650520A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN113655737B (zh) | 一种经can传输的车载电子控制器快速升级系统与方法 | |
EP2664988B1 (en) | Method, device and system for installing terminal software | |
CN111464351B (zh) | 一种智能家居设备配网方法、装置、终端设备及存储介质 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN111722857A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN113968163A (zh) | 一种换电控制系统、方法及装置 | |
CN112667272A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN113094064A (zh) | 网关软件模块升级方法、装置、设备及存储介质 | |
CN108989428B (zh) | 蓝牙终端升级方法、服务器、计算机可读存储介质及系统 | |
CN111182536A (zh) | Sim卡状态检测方法、装置、网络设备及存储介质 | |
CN116243949A (zh) | 一种软件升级方法、装置、嵌入式设备及存储介质 | |
CN111158947A (zh) | 预抄写文件制作方法、服务器及可读存储介质 | |
CN116700751A (zh) | 一种服务器固件的升级方法及计算设备 | |
EP4258102A1 (en) | Programming method and apparatus for tire pressure sensing apparatus, and replacement method and apparatus for tire pressure sensing apparatus | |
CN115695077A (zh) | 一种总线数据接收方法、装置、电子设备及存储介质 | |
CN112615835B (zh) | 一种对充电桩多通讯协议支持方法及存储介质 | |
CN112992142B (zh) | 一种语音信息回复方法、装置、设备及介质 | |
CN111610995B (zh) | 一种设备固件升级方法、装置、电子设备和存储介质 | |
CN108928213B (zh) | 控制面板的参数配置方法、控制面板及被控设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230322 Address after: 101, Floor 3, Building 1, Zone 1, Yard 81, Beiqing Road, Haidian District, Beijing, 100094 Applicant after: Beijing Fengzhi Ruilian Technology Co.,Ltd. Address before: 102200 608, unit 1, building 1, yard 1, Longyu middle street, Huilongguan town, Changping District, Beijing Applicant before: Beijing Fengzhi Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |