CN116456301A - 一种程序刷写方法、装置、设备及存储介质 - Google Patents
一种程序刷写方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116456301A CN116456301A CN202310330099.0A CN202310330099A CN116456301A CN 116456301 A CN116456301 A CN 116456301A CN 202310330099 A CN202310330099 A CN 202310330099A CN 116456301 A CN116456301 A CN 116456301A
- Authority
- CN
- China
- Prior art keywords
- program
- target
- refreshing
- message
- field
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000005540 biological transmission Effects 0.000 claims abstract description 8
- 230000001680 brushing effect Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 5
- 238000011010 flushing procedure Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- WXZOXVVKILCOPG-UHFFFAOYSA-N bis(2-ethylhexyl) benzene-1,3-dicarboxylate Chemical compound CCCCC(CC)COC(=O)C1=CC=CC(C(=O)OCC(CC)CCCC)=C1 WXZOXVVKILCOPG-UHFFFAOYSA-N 0.000 description 12
- 230000008569 process Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
- H04L12/40013—Details regarding a bus controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40215—Controller Area Network CAN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40267—Bus for use in transportation systems
- H04L2012/40273—Bus for use in transportation systems the transportation system being a vehicle
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请提供一种程序刷写方法、装置、设备及存储介质,支持在单件、域间、域内、全域并行刷写程序,由于车载端VBOX获取的刷写报文的数据区域字段定义有至少2个待刷写的目标控制器的信息,所以通过一个报文便可实现多个目标控制器的并行刷写,比串行刷写大大缩短了刷写升级时间,减少了在总线中传输的报文量,减轻了总线的传输负载。
Description
技术领域
本申请涉及程序刷写技术领域,特别是涉及一种程序刷写方法、装置、设备及存储介质。
背景技术
汽车OTA升级指空中下载技术固件升级和软件升级。OTA不仅带来更便捷的车辆升级途径,也让消费者感受到更加智能便捷的用车体验。通过网络从远程服务器下载新的软件更新包对自身系统进行升级,可以快速修复系统缺陷,快速迭代、提升产品和使用体验,节约时间和成本。然而,目前在需要对汽车的器件进行升级时,由于一个报文中只能携带一个待刷写的器件的信息,所以当需要对多个器件同时进行刷写时,就需要传输多个报文,整车系统总线负载较高。
发明内容
本申请实施例的目的在于提供一种程序刷写方法,以解决上述技术问题。
一方面,提供一种程序刷写方法,应用于汽车,所述方法包括:
车载端VBOX获取刷写报文;所述刷写报文包括目标地址字段和数据区域字段,所述目标地址字段用于指示需要接收所述刷写报文并基于所述刷写报文进行报文刷写处理的目标器件的地址,所述数据区域字段包括至少2个待进行程序刷写的目标控制器的身份标识,以及各所述目标控制器待刷写的程序数据信息;
所述车载端VBOX在本地传输所述刷写报文;
当所述目标器件接收到所述刷写报文,且确定所述目标地址字段指示的地址与自身实际地址相符时,基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写。
在其中一个实施例中,所述数据区域字段包括程序数据指示信息字段和程序包字段,每一所述目标控制器待刷写的所述程序数据信息由所述程序数据指示信息字段中的内容和所述程序包字段中的内容确定。
在其中一个实施例中,所述程序数据指示信息字段包括程序索引字段和程序数据长度字段。
在其中一个实施例中,所述目标器件包括所述目标控制器,所述基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写,包括:
所述目标控制器确定所述刷写报文中的所述身份标识与自身身份标识相符时,根据对应的所述程序索引字段中的内容和程序数据长度字段中的内容从所述程序包字段中确定对应的待刷写的程序数据信息;
所述目标控制器根据所述程序数据信息完成程序刷写。
在其中一个实施例中,所述目标器件包括网关,所述基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写,包括:
所述网关根据所述程序索引字段中的内容和所述程序数据长度字段中的内容从所述程序包字段中确定各所述目标控制器待刷写的程序数据信息;
所述网关将所述身份标识和对应的所述程序数据信息解析成目标格式的目标数据帧,并在本地传输所述目标数据帧,所述目标数据帧为USD协议格式数据帧;
所述目标控制器在接收到所述目标数据帧时,若确定所述目标数据帧中包含的身份标识与自身身份标识相符时,根据所述目标数据帧中的程序数据信息完成程序刷写。
在其中一个实施例中,在所述目标控制器接收到所述目标数据帧之后,所述方法包括:
当所述目标控制器确定所述目标数据帧中包含的身份标识与自身身份标识不相符时,丢弃所述目标数据帧。
在其中一个实施例中,在所述车载端VBOX在本地传输所述刷写报文之后,所述方法包括:
当所述汽车上的某一器件接收到所述刷写报文时,若确定所述目标地址字段指示的地址与自身实际地址不相符,则丢弃所述刷写报文。
通过本申请提供的程序刷写方法、装置、设备及存储介质,可以在刷写报文的数据区域字段定义至少2个待刷写的目标控制器的信息,所以通过一个报文便可实现多个目标控制器的并行刷写,减少了在总线中传输的报文量,减轻了总线的传输负载。
附图说明
图1为本申请实施例一提供的程序刷写方法的流程示意图;
图2为本申请实施例一整车系统的一种架构图;
图3为本申请实施例一提供的升级单个带以太网功能的目标控制器的示意图;
图4为本申请实施例一提供的用于升级单个带以太网功能的目标控制器的刷写报文的结构示意图;
图5为本申请实施例一提供的升级单个不带以太网功能的目标控制器的示意图;
图6为本申请实施例一提供的用于升级单个不带以太网功能的目标控制器的刷写报文的结构示意图;
图7为本申请实施例一提供的在以太网和UDS格式间进行报文转换的示意图;
图8为本申请实施例一提供的刷写报文的数据结构示意图;
图9为本申请实施例一提供的以太网帧传输帧格式的示意图;
图10为本申请实施例一提供的进行全域ECU并行升级的示意图;
图11为本申请实施例一提供的用于进行全域ECU并行升级的刷写报文的结构示意图;
图12为本申请实施例一提供的进行组域ECU并行升级的示意图;
图13为本申请实施例一提供的用于进行组域ECU并行升级的刷写报文的结构示意图;
图14为本申请实施例二提供的程序刷写装置的结构示意图;
图15为本申请实施例三提供的电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
实施例一:
为实现OTA升级刷写ECU,实现全域、域间(跨域),各域域内ECU件并行刷写的目的,本申请实施例提供一种程序刷写方法,通过本申请实施例提供的程序刷写方法,可以实现全域并行刷写,主要涉及到OTA升级主控UMC模块、OTA升级代理UA模块和OAT升级从控US模块等,各模块分别在VBOX、整车网关VGW和被刷写的ECU中实现各自对应的功能。
本申请实施例提供的程序刷写方法可以参见图1所示,包括如下步骤:
S11:车载端VBOX获取刷写报文;刷写报文包括目标地址字段和数据区域字段,目标地址字段用于指示需要接收该刷写报文并基于该刷写报文进行报文刷写处理的目标器件的地址,数据区域字段包括至少2个待进行程序刷写的目标控制器的身份标识,以及各目标控制器待刷写的程序数据信息。
S12:车载端VBOX在本地传输刷写报文。
S13:当目标器件接收到该刷写报文,且确定目标地址字段指示的地址与自身实际地址相符时,基于数据区域字段中的身份标识和程序数据信息对对应的目标控制器完成程序刷写。
下面,对上述各步骤的具体过程进行详细说明。
本申请实施例中的车载端VBOX可以通过网络从远程服务器获取刷写报文以对目标控制器完成程序刷写。本申请实施例中的刷写报文至少包括目标地址字段和数据区域字段。其中,目标地址字段用于指示需要接收该刷写报文并基于该刷写报文进行报文刷写处理的目标器件的地址,比如,可以指示目标器件的IP地址。可以理解的是,当需要多个目标器件接收该刷写报文时,可以预先将这多个目标器件配置在同一组网中,也即可以预先为这多个目标器件配置一个组播地址,此时目标地址字段可以是这多个目标器件的组播地址。本申请实施例中的目标器件包括但不限于是网关和目标控制器中的至少一种。当目标器件包括网关时,该网关可以对该刷写报文进行处理后发送至目标控制器,或者该网关也可以直接将该刷写报文发送给目标控制器,以供目标控制器完成程序刷写。
本申请实施例中数据区域字段中目标控制器的身份标识是指可以对目标控制器的唯一身份进行识别的标识。通常来说,汽车上的各器件都具有自身唯一的单播地址,这里的身份标识就可以是目标控制器自身唯一的单播地址。当然,在其他的实施例中,也可以通过其他方式对目标控制器的唯一身份进行识别,比如预先为各控制器配置唯一编号等,此时,刷写报文中则需要配置待刷写的目标控制器的唯一编号,当该目标控制器接收到该刷写报文时,则是判断刷写报文中的唯一编号是否与自身的唯一编号是否相符。
本申请实施例中的数据区域字段还可以包括程序数据指示信息字段和程序包字段,每一目标控制器待刷写的程序数据信息由对应的程序数据指示信息字段中的内容和程序包字段中的内容确定。具体的,针对一个待刷写的目标控制器,可以根据对应程序数据指示信息字段中的内容从程序包字段中确定出该目标控制器待刷写的程序数据内容。
在一种可选的实施方式中,程序数据指示信息字段可以包括程序索引字段和程序数据长度字段,根据程序索引字段和程序数据长度字段中的内容可以从程序包字段中确定出目标控制器待刷新的程序数据内容。示例性的,程序索引字段中的内容可以表征待刷写的程序数据内容在程序包字段中的起始索引地址,程序数据长度字段可以表征待刷写的程序数据内容的长度,根据起始索引地址和长度便可在程序包字段中确定出待刷新的程序数据内容。
当然了,在另外一种可选的实施方式中,程序数据指示信息字段可以包括多个程序索引字段,比如,这多个程序索引字段中的内容可以分别表征待刷写的程序数据内容在程序包字段中的起始索引地址和终止索引地址,由起始索引地址和终止索引地址从程序包字段中确定出待刷新的程序数据内容。
可以理解的是,车载端VBOX在本地传输刷写报文是指车载端VBOX在汽车本地传输该刷写报文,例如,请参见图2所示,车载端VBOX可以直接将该刷写报文发送给目标控制器,例如,发送给目标控制器ECU1~ECUn也可以通过本地的网关VGW1…VGWn将刷写报文转发给对应网关下的目标控制器中。
需要说明的是,本申请实施例中的目标器件包括但不限于是待刷写的目标控制器以及汽车整车系统中的网关。
在第一种示例中,目标器件包括目标控制器,步骤S13可以包括:
目标控制器确定刷写报文中的身份标识与自身身份标识相符时,根据对应的程序索引字段中的内容和程序数据长度字段中的内容从程序包字段中确定对应的待刷写的程序数据信息;
目标控制器根据程序数据信息完成程序刷写。
可以理解的是,本申请实施例中的刷写报文可以是以太网报文,汽车整车系统中各域众多的控制器可以是支持以太网功能的控制器,也即这些控制器可以解析以太网报文。需要说明的是,刷写报文也可以是其他格式的报文。
继续以上述第一种示例为例进行阐述,当待刷写的这多个目标控制器支持以太网功能时,这多个目标控制器可以配置有相同的本地广播地址,或者配置在同一组播组中,当需要对这些目标控制器进行程序刷写时,刷写报文中的目标地址字段中的内容就可以设置为本地广播地址或者该组播地址,这样,这些目标控制器均可以接收到该刷写报文,这些目标控制器接收到该刷写报文后,确定目标地址字段指示的地址与自身实际地址相符时,再判断刷写报文中的身份标识是否与自身身份标识相符。当确定刷写报文中包含自身的身份标识时,便可以根据对应的程序索引字段中的内容和程序数据长度字段中的内容从程序包字段中确定对应的待刷写的程序数据信息,然后根据程序数据信息完成程序刷写。当然,若整车系统中的某一控制器接收到该刷写报文,但是确定该刷写报文中目标地址字段指示的地址与自身实际地址不相符,则可以丢弃该刷写报文。
请参见图3和图4,图3和图4为上述第一种示例的具体示例,是升级单个带以太网功能的目标控制器的具体实例。车载端VBOX可以接收网络端发送的刷写报文,本示例中的刷写报文还包括IPHead字段,IPHead字段包括目标地址字段以及其他配置字段,在其他配置字段里可以将协议号设置为0x06,也即支持TCP协议,在其他配置字段里将源IP地址地址设置为192.168.69.100,表征VBOX的地址,目标地址字段设置为192.168.69.113,表征目标控制器ECUn+1的地址,在数据区域字段也即DOIP字段里设置VBOX为源逻辑ID,目标控制器为ECUn+1,待刷写的目标控制器的个数为1,数据内容长度46,程序索引字段中的索引地址为0,车载端VBOX获取到该刷写报文后,刷写报文从该VBOX发出,经过网关VGW1转发给目标控制器ECUn+1,目标控制器ECUn+1发现刷写报文中目标地址字段中的地址与自己的地址相符,接收该刷写报文,目标控制器ECUn+1中的US模块再进一步解析数据区域字段中的内容,比较发现该字段中的身份标识(逻辑地址)与自己相等,是发给自己的数据,根据程序索引字段和程序数据长度字段中的内容取出数据进行ECU部件升级刷写。
在第二种示例中,目标器件包括网关,步骤S13可以包括:
网关根据程序索引字段中的内容和程序数据长度字段中的内容从程序包字段中确定各目标控制器待刷写的程序数据信息;
网关将身份标识和对应的程序数据信息解析成目标格式的目标数据帧,并在本地传输目标数据帧;
目标控制器在接收到目标数据帧时,若确定目标数据帧中包含的身份标识与自身身份标识相符时,根据目标数据帧中的程序数据信息完成程序刷写。
可以理解的是,当目标控制器确定目标数据帧中包含的身份标识与自身身份标识不相符时,可以丢弃该目标数据帧。
继续以上述第二种示例为例进行阐述,当待刷写的目标控制器不支持以太网功能时,可以先由整车系统中所述目标控制器所挂接的网关对刷写报文进行处理,将刷写报文处理成目标控制器可以处理的格式的报文后,再转发给目标控制器。网关和待刷写的目标控制器可以配置有相同的本地广播地址,或者配置在同一组播组中,当需要对该目标控制器进行程序刷写时,刷写报文中的目标地址字段中的内容可以设置为本地广播地址或者该组播地址,这样,网关可以接收到该刷写报文,并对该刷写报文进行处理,并将处理后的报文发送给目标控制器。当然了,在本示例中,也可以直接将刷写报文中的目标地址字段中的内容设置为对应网关的单播地址,这样该网关也可以接收到该刷写报文。当然,若整车系统中的某一网关接收到该刷写报文,但是确定该刷写报文中目标地址字段指示的地址与自身实际地址不相符,则可以丢弃该刷写报文。
本申请实施例中的目标数据帧可以是USD协议格式数据帧,请参见图5和图6,图5和图6为上述第二种示例中的具体示例,是升级单个不带以太网功能的目标控制器的具体实例。车载端VBOX可以接收网络端发送的刷写报文,本示例中的刷写报文还包括IPHead字段,IPHead字段包括目标地址字段以及其他配置字段,在其他配置字段里可以将协议号设置为0x06,也即支持TCP协议,在其他配置字段里将源IP地址地址设置为192.168.69.100,表征VBOX的地址,目标地址字段设置为192.168.69.251,表征网关VGWn的地址,在数据区域字段也即DOIP字段里设置VBOX为源逻辑ID,目标控制器为ECUz,待刷写的目标控制器的个数为1,数据内容长度64,程序索引字段中的索引地址为0,车载端VBOX获取到该刷写报文后,刷写报文从该VBOX发出至网关VGWn,网关VGWn中的UA模块发现刷写报文中的目标地址字段中的地址与自己的地址相符,接收该刷写报文,VGWn的UA模块将IP数据包,也即程序数据信息解析为UDS协议格式数据帧,解析完成后,将该UDS协议格式数据帧发送给目标控制器ECUz,目标控制器ECUz在接收到该UDS协议格式数据帧时,若确定UDS协议格式数据帧中包含的身份标识(逻辑地址)与自身身份标识相符时,根据UDS协议格式数据帧中的程序数据信息完成程序刷写。
可以理解的是,在整车系统中,各网关之间,VBOX与网关之间可以通过以太网线连接,也即可以通过以太网传输刷写报文。VBOX和VGW可以通过以太网线或CAN总线与各域下的控制器相连接。当然了,在其他的一些实施例中,各网关之间,VBOX与网关VGW之间,以及网关与VGW下的控制器之间可以全部都通过以太网连接。对于不支持以太网功能的目标控制器,对应的网关可以通过CAN总线将处理后的刷写报文,也即目标数据帧发送给待刷写的目标控制器。整车系统各域一般分为:动力域、地盘域、车身域、自动驾驶域、信息娱乐域等,各域下面挂接多个ECU部件,ECU部件的IP地址和ECUID(逻辑地址)均是其全域的唯一标识。VBOX、VGW、ECU件的IP地址都可以有各自唯一的单播地址,例如,单播地址可以为192.168.19.xx,VBOX、VGW、ECU件可以预先配置相同的广播地址,如255.255.255.255,也可以预先根据升级刷写需求,对各ECU件进行分组,例如,组一的组播地址可以为239.10.0.255,组二的组播地址可以为239.20.0.255,VBOX、VGW、ECU可以有多个组播地址。
在一些实施例中,整车系统各域众多的器件可以包括支持以太网的器件和支持UDS的器件。OTA升级刷写各个ECU时,在传输过程中需使用两种不同格式的报文,需在以太网与UDS格式间进行报文转换,以便各ECU可以正确识别并正确处理相应的数据,这部分功能由UA和US模块承担,具体的可以参见图7所示。
当刷写报文为以太网报文时,仅需传输一条以太网报文就可以实现全域多ECU件的并行升级刷写。由于以太网报文可以传输大量数据,以及响应速度快,所以通过以太网进行远程升级刷写,是车载网络升级的必然趋势。
示例性的,当刷写报文为以太网报文时,其中,可以运用IP协议,TCP协议、UDP协议,以及基于DOIP报文进行自定义报文封装,以实现OTA全域升级刷写,以太网报文的数据结构可以如图8所示,下面具体说明:
DOIP区最大长度=Ethframe长度:1518B-(Ethframe头部长度:14B+FCS长度:4B)–ip头部长度:20B–TCP/UDP头部长度:20B=1460B,见图9最上行。
DOIP数据结构=DOIP头部+DOIP数据=8B+1444B=1452B,DOIP数据的长度小于DOIP区的最大长度,如图8中间行所示。
一个以太网报文具有1444字节空间,可以预先设置每个ECU的逻辑地址、程序索引字段和程序数据长度字段共占6字节,每个IP包的数据长度最小为64字节,还有源地址和刷写的ECU个数字段的4个字节,数据内容长度为46~1286,所有被刷ECU件的数据长度累加不超过1286字节。
假设最多同时刷写28个ECU,则需要占用的字节空间为:
28*6+4+46*28=1460>1444;不满足条件。
假设最多同时刷写27个ECU,则需要占用的字节空间为:
27*6+4+46*27=1408<1444。
因此,在本示例中,最多可以同时刷写27个ECU件。
前面27*6+4=166固定为166字节,后面1278个字节为刷写数据区数据,整个以太网帧传输帧格式可以如图9所示。
在第三种示例中,目标器件包括目标控制器和网关。请参见图10和图11,图10和图11为第三种示例中OTA全域ECU并行升级实例,其中,整车系统包括了支持DOIP(以太网)功能的ECU和不支持DOIP(以太网)功能的ECU件。本示例中的刷写报文还包括IPHead字段,IPHead字段包括目标地址字段以及其他配置字段,在其他配置字段里可以将协议号设置为0x11,也即支持UCP协议,在其他配置字段里将源IP地址地址设置为192.168.69.100,表征VBOX的地址,目标地址字段设置为255.255.255.255,表征本地广播地址,本地的所有器件都可以接收到该刷写报文,在数据区域字段也即DOIP字段里设置VBOX为源逻辑ID,目标控制器为各ECU的身份标识,例如为各ECU的为逻辑地址,待刷写的ECU个数为27,数据内容长度为1286字节,所有被刷ECU件的数据长度累加不能超过1286字节。由于目标地址字段中的地址是广播地址,所有支持以太网功能的VBOX,VGW1..VGWn,各ECU都可以接收到该刷写报文,接收到该刷写报文的器件确定目标地址字段指示的地址与自身实际地址相符时,再进行解析数据区域字段中的内容。
其中,各个支持以太网功能的ECU件确定刷写报文中目标地址字段指示的地址与自身实际地址相符时,US模块再进一步解析数据区域字段中的内容,比较发现目标ECU的身份标识(逻辑地址)与自己相等,是发给自己的数据,根据程序索引字段和程序数据长度字段中的内容取出数据进行ECU部件升级刷写。对于各个不支持以太网功能的ECU件,其所属的网关VGW1…VGWn确定刷写报文中目标地址字段指示的地址与自身实际地址相符时,再将该刷写报文解析为UDS协议格式数据帧,解析完成发送至各网关下挂的CAN总线,该CAN总线上的各ECU中的US模块再进一步解析UDS协议格式数据帧,各个ECU件若确定UDS协议格式数据帧中包含的身份标识(逻辑地址)与自身身份标识相符,是发给自己的数据,根据UDS协议格式数据帧中的程序数据信息完成程序刷写,如果各个ECU件确定UDS协议格式数据帧中包含的身份标识(逻辑地址)与自身身份标识不相符,不是发给自己的数据,则可以丢弃该数据。
在第四种示例中,目标器件包括目标控制器和网关。请参见图12和图13,图12和图13为第四种示例中组域ECU并行升级实例,处理流程与图10和图11相似,这里不再赘述。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请实施例提供的程序刷写方法,支持在单件、域间、域内、全域并行刷写程序,通过一个报文便可实现多个目标控制器的并行刷写,比串行刷写大大缩短了刷写升级时间,减少了在总线中传输的报文量,减轻了总线的传输负载。
实施例二:
基于同一发明构思,本申请实施例提供一种程序刷写装置,应用于汽车,请参见图14所示,应当理解的是,程序刷写装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
程序刷写装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能单元。具体的,程序刷写装置包括:
车载端VBOX获取模块1401,用于获取刷写报文;所述刷写报文包括目标地址字段和数据区域字段,所述目标地址字段用于指示需要接收所述刷写报文并基于所述刷写报文进行报文刷写处理的目标器件的地址,所述数据区域字段包括至少2个待进行程序刷写的目标控制器的身份标识,以及各所述目标控制器待刷写的程序数据信息;
车载端VBOX传输模块1402,用于在本地传输所述刷写报文;
刷写控制模块1403,用于当所述目标器件接收到所述刷写报文,且确定所述目标地址字段指示的地址与自身实际地址相符时,基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写。
需要说明的是,出于描述简洁的考量,上述实施例中描述过的内容在本实施例中不再赘述。
实施例三:
本实施例提供一种电子设备,请参见图15所示,该电子设备包括处理器1501和存储器1502,存储器1502中存储有计算机程序,处理器1501和存储器1502通过通信总线实现通信,处理器1501执行该计算机程序,以实现上述实施例一中方法的各步骤,在此不再赘述。可以理解,图15所示的结构仅为示意,电子设备还可包括比图15中所示更多或者更少的组件,或者具有与图15所示不同的配置。应当说明的是,本申请实施例中的电子设备可以设置在汽车上。
处理器1501可以是一种集成电路芯片,具有信号处理能力。上述处理器1501可以是通用处理器,包括中央处理器(CPU)、网络处理器(NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其可以实现或者执行本申请实施例中公开的各种方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1502可以包括但不限于随机存取存储器(RAM),只读存储器(ROM),可编程只读存储器(PROM),可擦除只读存储器(EPROM),电可擦除只读存储器(EEPROM)等。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD卡、MMC卡等,在该计算机存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器301执行,以实现上述实施例一中方法的各步骤,在此不再赘述。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种程序刷写方法,其特征在于,应用于汽车,所述方法包括:
车载端VBOX获取刷写报文;所述刷写报文包括目标地址字段和数据区域字段,所述目标地址字段用于指示需要接收所述刷写报文并基于所述刷写报文进行报文刷写处理的目标器件的地址,所述数据区域字段包括至少2个待进行程序刷写的目标控制器的身份标识,以及各所述目标控制器待刷写的程序数据信息;
所述车载端VBOX在本地传输所述刷写报文;
当所述目标器件接收到所述刷写报文,且确定所述目标地址字段指示的地址与自身实际地址相符时,基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写。
2.如权利要求1所述的程序刷写方法,其特征在于,所述数据区域字段包括程序数据指示信息字段和程序包字段,每一所述目标控制器待刷写的所述程序数据信息由所述程序数据指示信息字段中的内容和所述程序包字段中的内容确定。
3.如权利要求2所述的程序刷写方法,其特征在于,所述程序数据指示信息字段包括程序索引字段和程序数据长度字段。
4.如权利要求3所述的程序刷写方法,其特征在于,所述目标器件包括所述目标控制器,所述基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写,包括:
所述目标控制器确定所述刷写报文中的所述身份标识与自身身份标识相符时,根据对应的所述程序索引字段中的内容和程序数据长度字段中的内容从所述程序包字段中确定对应的待刷写的程序数据信息;
所述目标控制器根据所述程序数据信息完成程序刷写。
5.如权利要求3所述的程序刷写方法,其特征在于,所述目标器件包括网关,所述基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写,包括:
所述网关根据所述程序索引字段中的内容和所述程序数据长度字段中的内容从所述程序包字段中确定各所述目标控制器待刷写的程序数据信息;
所述网关将所述身份标识和对应的所述程序数据信息解析成目标格式的目标数据帧,并在本地传输所述目标数据帧,所述目标数据帧为USD协议格式数据帧;
所述目标控制器接收到所述目标数据帧时,若确定所述目标数据帧中包含的身份标识与自身身份标识相符时,根据所述目标数据帧中的程序数据信息完成程序刷写。
6.如权利要求5所述的程序刷写方法,其特征在于,在所述目标控制器接收到所述目标数据帧之后,所述方法包括:
当所述目标控制器确定所述目标数据帧中包含的身份标识与自身身份标识不相符时,丢弃所述目标数据帧。
7.如权利要求1所述的程序刷写方法,其特征在于,在所述车载端VBOX在本地传输所述刷写报文之后,所述方法包括:
当所述汽车上的某一器件接收到所述刷写报文时,若确定所述目标地址字段指示的地址与自身实际地址不相符,则丢弃所述刷写报文。
8.一种程序刷写装置,其特征在于,应用于汽车,所述装置包括:
车载端VBOX获取模块,用于获取刷写报文;所述刷写报文包括目标地址字段和数据区域字段,所述目标地址字段用于指示需要接收所述刷写报文并基于所述刷写报文进行报文刷写处理的目标器件的地址,所述数据区域字段包括至少2个待进行程序刷写的目标控制器的身份标识,以及各所述目标控制器待刷写的程序数据信息;
车载端VBOX传输模块,用于在本地传输所述刷写报文;
刷写控制模块,用于当所述目标器件接收到所述刷写报文,且确定所述目标地址字段指示的地址与自身实际地址相符时,基于所述身份标识和所述程序数据信息对对应的所述目标控制器完成程序刷写。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时,以实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310330099.0A CN116456301A (zh) | 2023-03-30 | 2023-03-30 | 一种程序刷写方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310330099.0A CN116456301A (zh) | 2023-03-30 | 2023-03-30 | 一种程序刷写方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116456301A true CN116456301A (zh) | 2023-07-18 |
Family
ID=87134950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310330099.0A Pending CN116456301A (zh) | 2023-03-30 | 2023-03-30 | 一种程序刷写方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116456301A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775083A (zh) * | 2023-08-21 | 2023-09-19 | 小米汽车科技有限公司 | 车载控制器的刷写方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112698854A (zh) * | 2020-12-29 | 2021-04-23 | 东风汽车集团有限公司 | 一种车辆多控制器刷写设备 |
CN113448596A (zh) * | 2020-03-24 | 2021-09-28 | 上海汽车集团股份有限公司 | 一种车辆控制器刷写系统、方法及相关设备 |
US20220334824A1 (en) * | 2019-12-31 | 2022-10-20 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device(s) in a vehicle and related device |
US20230025735A1 (en) * | 2019-12-02 | 2023-01-26 | Excelfore Corporation | Master Agent and Distributed Agent Architecture for Vehicles |
CN115733849A (zh) * | 2021-08-27 | 2023-03-03 | 北京车和家信息技术有限公司 | 电子控制单元的刷写方法、装置、系统、设备和存储介质 |
-
2023
- 2023-03-30 CN CN202310330099.0A patent/CN116456301A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230025735A1 (en) * | 2019-12-02 | 2023-01-26 | Excelfore Corporation | Master Agent and Distributed Agent Architecture for Vehicles |
US20220334824A1 (en) * | 2019-12-31 | 2022-10-20 | Huawei Technologies Co., Ltd. | Method for managing software versions of electronic device(s) in a vehicle and related device |
CN113448596A (zh) * | 2020-03-24 | 2021-09-28 | 上海汽车集团股份有限公司 | 一种车辆控制器刷写系统、方法及相关设备 |
CN112698854A (zh) * | 2020-12-29 | 2021-04-23 | 东风汽车集团有限公司 | 一种车辆多控制器刷写设备 |
CN115733849A (zh) * | 2021-08-27 | 2023-03-03 | 北京车和家信息技术有限公司 | 电子控制单元的刷写方法、装置、系统、设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116775083A (zh) * | 2023-08-21 | 2023-09-19 | 小米汽车科技有限公司 | 车载控制器的刷写方法、装置及电子设备 |
CN116775083B (zh) * | 2023-08-21 | 2023-11-21 | 小米汽车科技有限公司 | 车载控制器的刷写方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10756930B2 (en) | Gateway device, vehicle network system, transfer method, and non-transitory computer-readable recording medium storing program | |
EP4202645A1 (en) | Vehicle upgrading method and apparatus | |
CN112805645B (zh) | 一种车辆远程诊断方法及相关装置 | |
EP3745657B1 (en) | Gateway device, vehicle network system, transfer method, and program | |
CN110297608B (zh) | 数据的处理方法、装置和存储介质 | |
US20220004374A1 (en) | Program update system and update processing program | |
US20190126859A1 (en) | Vehicle data communications network | |
CN116456301A (zh) | 一种程序刷写方法、装置、设备及存储介质 | |
JP2018120503A (ja) | 車載通信システム、ゲートウェイ、スイッチ装置、通信制御方法および通信制御プログラム | |
EP4395277A1 (en) | Flashing method, apparatus and system for electronic control unit, and device and storage medium | |
CN114545906A (zh) | 车载以太网网关及车辆 | |
CN115696266A (zh) | 一种车载控制器升级方法、装置、设备及存储介质 | |
CN113485920B (zh) | 实现DoIP实体的方法、装置、可读存储介质及电子设备 | |
CN113645097A (zh) | 车辆信号监测方法、终端设备及电子控制单元 | |
CN114598567A (zh) | 通信方法、设备及存储介质 | |
CN117857341A (zh) | 一种车端ota并行刷写方法、车辆、介质及设备 | |
CN117082137A (zh) | 保持ota升级刷写模式的通信方法、装置、设备及介质 | |
CN113268050A (zh) | 一种车辆诊断方法和装置 | |
CN115336233A (zh) | 车载中继装置、信息处理方法及程序 | |
CN110704076A (zh) | 数据处理方法和装置、车载控制器及计算机可读存储介质 | |
CN113285860B (zh) | 一种通过主节点刷写从节点的方法和系统 | |
CN114449484A (zh) | 一种车载设备的管理方法、装置以及设备 | |
CN110545163B (zh) | 报文处理方法、报文处理装置和车载控制系统 | |
CN114760322A (zh) | 车辆信息关联方法、车联网终端和车联网平台 | |
CN111935199B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240116 Address after: No. 13 Xingxiang Road, Zengjia Town, High tech Zone, Jiulongpo District, Chongqing, 400039 Applicant after: Chongqing Selis Phoenix Intelligent Innovation Technology Co.,Ltd. Address before: 610095 No. 2901, floor 29, unit 1, building 1, No. 151, Tianfu Second Street, high tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan Province Applicant before: Chengdu Thalys Technology Co.,Ltd. |