CN111061499B - 一种基于文件系统的ecu更新方法及系统 - Google Patents

一种基于文件系统的ecu更新方法及系统 Download PDF

Info

Publication number
CN111061499B
CN111061499B CN201911401549.0A CN201911401549A CN111061499B CN 111061499 B CN111061499 B CN 111061499B CN 201911401549 A CN201911401549 A CN 201911401549A CN 111061499 B CN111061499 B CN 111061499B
Authority
CN
China
Prior art keywords
ecu
file
external equipment
vehicle
updating
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
CN201911401549.0A
Other languages
English (en)
Other versions
CN111061499A (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.)
Shanghai Hinge Electronic Technologies Co Ltd
Original Assignee
Shanghai Hinge Electronic Technologies Co Ltd
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 Shanghai Hinge Electronic Technologies Co Ltd filed Critical Shanghai Hinge Electronic Technologies Co Ltd
Priority to CN201911401549.0A priority Critical patent/CN111061499B/zh
Publication of CN111061499A publication Critical patent/CN111061499A/zh
Application granted granted Critical
Publication of CN111061499B publication Critical patent/CN111061499B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Abstract

本发明提供一种基于文件系统的ECU更新方法及系统,具体包括:通过车载以太网将外部设备与含有操作系统的ECU进行连接,当建立安全连接后,外部设备将需要升级的文件传输给ECU,ECU内的操作系统根据升级需求,将相应升级文件对旧文件进行替换、增加等操作,然后进行重启升级。在升级过程中,增加文件的安全性、完整性验证以及升级前后的自动备份。相比于现有技术,采用了基于车载以太网传输,更新时间降低50%以上,考虑到文件更新有增加,修改,删除等特点增加部分命令,对原来14229‑2定义的flashbootloader更新流程进行简化和更新,依据ECU的操作系统的特点,只需要对模块的文件进行更新即可,无须向传统的ECU升级方法那样进行整体刷机。

Description

一种基于文件系统的ECU更新方法及系统
技术领域
本发明涉及汽车领域,尤其涉及一种基于文件系统的ECU更新方法及系统。
背景技术
随着汽车的普及,越来越多的汽车进入千家万户,人民生活消费水平的不断提高,汽车的数量也不断的增多,大家对车内电器的智能化要求越来越高,车内各种软件逐渐增多,各种模块的功能都是在不断开发完善中。尽管汽车也在出售给消费者了,但是为了提高效率和功能完善,出售的汽车仍然需要升级。在智能汽车中,很多ECU(控制器),如车载中控和仪表控制等需要大数量处理单元的控制器都采用MCU(Microcontroller Unit)和SOC(System on Chip)进行结合,MCU负责控制指令,SOC负责需要进行大量数据处理的场景,如车载摄像头传输的图像处理、主动刹车场景的计算处理。
现阶段,对控制器进行升级通常都是通过整体刷机方式进行,如采用Flashbootloader的流程更新固件。当在MCU平台,这种方式是比较好的方式,但是在带有操作系统的SOC平台,则出现如下问题,由于SOC芯片安装有操作系统,其bootlaoder是作为操作启动引导使用,若通过通过bootloader更新,只能更新整个固件,由于固件本身占据的容量较大,需要花费大量的时间和占据大量的内存。如果只想更新某个模块,则没有办法,只能全部固件更新。现有技术(CN 110147244 A)本发明公开了一种车载软件升级的方法,包括:向MCU请求版本号;根据MCU版本号匹配更新的差分文件包版本;读取更新的差分文件包并校验所述差分文件包是否完整;如果存在至少两个更新的所述差分文件包,则将所有差分文件包组合成一个差分文件组合包;将所述差分文件包或差分文件组合包转换成预定格式,并发送给所述MCU;所述MCU将所述差分文件包或差分文件组合包发送给SOC;由所述SOC读取所述差分文件包或差分文件组合包,并完成升级。采用该技术方案可以缩短软件升级时间。该专利技术(CN 110147244 A)其是通过CAN总线将文件传输给MCU,然后MCU将文件传输给SOC,然后进行整体刷新工作。而CAN总线传输速率慢,SOC更新是整体替换,导致其花费时间较长,这可能会影响驾驶员对车辆的使用。因此,降低SOC的升级时间以及降低升级占用的SOC内存成为当前需要解决的关键性技术问题。
发明内容
本发明为解决上述问题,提供了一种基于文件系统的ECU更新方法及系统。
一种基于文件系统的ECU更新方法,包括:步骤S1,外部设备通过中央网关用DoIP协议与待升级的ECU建立连接,当连接成功后,外部设备与待升级的ECU进行诊断会话;
步骤S2,待升级的ECU与外部设备进行安全访问验证,判断是否需要进行文件更新,若需要更新则进入请求文件更新模式;
步骤S3,外部设备发送请求传输文件的报文给ECU,ECU接收到请求后,判断是否需要升级,若需要升级,则发送升级文件响应给外部设备,外部设备收到升级文件响应后,开始传送升级文件给ECU;
步骤S4,当所有需要升级的文件传输完成后,对传输完成的文件进行完整性检查,当检查所有文件都完整后对含有待升级的ECU进行重启。
一种基于文件系统的ECU更新方法,进一步地,包括:步骤S5,对升级完成后的ECU的操作系统进行功能验证,判断升级后的ECU功能是否正常。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S1具体包括以下步骤:步骤S11,外部设备与车内ECU申明自身存在网络。
一种基于文件系统的ECU更新方法,进一步地,所述外部设备与车内ECU申明自身存在网络具体包括:外部设备申明自身在网络存在和ECU申明在网络存在;
外部设备申明自身在网络存在包括:外接设备通过中央网关接入车内网络,外部设备接入车内网络并通知车内ECU,包括:外部设备和ECU分别从网络中获取配置IP地址和端口号,外部设备通过广播UDP协议发送车辆识别请求给ECU,若ECU收到车辆识别请求后将外部设备信息加入外部设备信息管理状态表,ECU通过单播UDP协议发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表;
ECU申明在网络存在包括:当新的ECU接入网络时,ECU从网络中获取配置的IP地址和端口号,ECU通过广播的UDP协议发送三次车辆公告信息给外部设备,外部设备收到ECU的车辆公告信息后将ECU设备信息加入ECU管理状态表,然后发送车辆识别请求给ECU,ECU收到车辆识别请求后,发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表。
一种基于文件系统的ECU更新方法,进一步地,在车内网络中任意选择一个ECU作为周期的ECU,让其在预设时间周期进行申明自身在车内网络的存在,外部设备接收到周期ECU的车公告消息后,发送反馈带有外部设备的信息给周期ECU,周期性ECU收到所有在线的外部设备的消息后,删除没有发送反馈信息的外部设备,更新外部设备信息管理状态表,然后周期的ECU通过广播UDP协议发送更新后的外部设备管理状态表给其余的ECU,其余的ECU收到更新后的外部设备管理状态表后对自身的外部设备状态表进行更新;
ECU在启动后,需要主动广播车公告消息,车公告消息包括带有ECU的信息,如果此时有外部设备在线,外部设备就获取ECU的信息。
一种基于文件系统的ECU更新方法,进一步地,步骤S1具体还包括以下步骤:
步骤S12,外部设备与车内ECU通过TCP/IP协议建立路由激活,从而完成外部设备与车内ECU建立连接的过程;
步骤S13,外部设备发送拓展模式请求报文给待升级ECU,待升级ECU接受后进入拓展诊断会话;
步骤S14,程序控制,发送例程控制服务,检查待升级的ECU电源、当前工作状态是否满足更新条件。
一种基于文件系统的ECU更新方法,进一步地,所述ECU包括Bootloader和文件系统,其中,文件系统采用Window、QNX、Android、Lunix操作系统中的一种。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S2具体包括:
步骤S21,待升级的ECU与外部设备进行安全访问成功,则继续执行步骤S22,若外部设备与待升级的ECU进行安全访问失败,则等待预设时间,继续进行下一次的安全访问,若在预设的访问次数或预设时间内建立安全访问失败,则结束进程。
一种基于文件系统的ECU更新方法,进一步地,在安全访问过程中,操作系统存储有外部设备的数字证书和ECU数字证书,数字证书由可信的数字证书中心分别颁发,采用双向认证模式,搭建PKI平台,负责客户证书的发放和管理,并采用动态对称秘钥加密通信通道;
ECU操作系统与外部设备通过各自的数字证书并遵循HTTPS协议进行双向认证,并确定两者通信的会话密钥session key,两者的后续通信均通过会话密钥session key加密。
一种基于文件系统的ECU更新方法,进一步地,安全访问失败包括ECU被锁住,锁住的条件包括:接收到另外一个安全访问请求或切换到另外一个诊断会话,或切换到相同的诊断会话时;
安全访问请求至少包括请求格式、内容、安全级别;
对ECU解锁之前,写入数据请求和传输进程需要被禁止:
安全访问包括设计授权标识符或标示表,还需要通过系统内的数据访问过滤机制对所有的数据访问请求进行分析;如果是对受保护数据的访问并且ECU没有被授权,则拒绝该访问请求并通知ECU;如果是对非保护区和保护区访问且ECU已被授权,则执行该访问请求。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S2具体还包括:
步骤S22,外部设备将指纹信息发送给ECU,ECU收到指纹信息将指纹信息保存在预设路径中;
指纹信息包括更新模块的模块名、更新模块的时间、更新客户端名称;
步骤S23,程序控制ECU的操作系统进入编程模式并判断指纹识别信息是否有效,当指纹识别信息有效后,控制ECU进入文件更新模式;
S24,ECU系统进入文件更新模式后,系统关闭所有正在执行的APP程序,保证文件更新过程中关联程序都退出工作。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S3具体包括:步骤S31,外部设备发送文件传输的请求由刷写进程进行发起,刷写进程包括:请求文件传输,数据传输和请求退出传输;
请求文件传输的内容包括请求文件传输请求标识、文件操作模式、文件路径和名称长度,文件格式,文件大小;
文件操作模式包括增加文件、删除文件、更新覆盖文件;
在外部设备传输文件数据给ECU的文件系统之前,ECU操作系统通过备份模块启动对升级前的当前系统进行备份,并将备份文件进行压缩后存储于备份分区中。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S3具体还包括:
步骤S32,外部设备按照发送文件传输的请求报文传输文件数据给ECU;
步骤S33,当文件数据传输结束时,检查传输文件的完整性,若传输文件完整,则执行步骤S34,若传输文件不完整,则将接收的文件数据删除,发送文件数据重传的命令给外部设备要求重新发送文件数据;
传输文件的完整性检查通过ECU计算的MD5值与传输文件的MD5是否相同,若相同,则通过验证,若不同,则不通过;
步骤S35,通过程序控制对传输完成的文件进行检查、校验文件、版本兼容检查,确保都通过,若出错,则删除文件,申请重新传输;
步骤S36,继续下一个升级的文件数据传输;
步骤S37,当一个文件传输完成后,进行下一个文件的传输和处理,若文件操作方式是删除,对文件进行删除后,直接进行下一个文件操作。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S4具体还包括:
步骤S41,当文件传输结束后,ECU根据传输文件的请求报文通过程序控制检查接收文件数据完整性,当所有更新的文件数据都完整,则执行步骤S42,若发现文件数据缺失,则发送缺失文件的重新传输;
步骤S42,预置标记位,使Bootloader下次从新系统启动;
步骤S43,Bootloader设置预设时间长度进行自检计时;
步骤S44,重启ECU操作系统。
一种基于文件系统的ECU更新方法,进一步地,所述步骤S5具体还包括
步骤S51,ECU操作系统自检,判断新系统是否可以正常工作,若能够正常工作,执行步骤S52,若不能够正常工作,执行步骤S53;
步骤S52,BootLoader计时终止,将ECU原程序文件删除,对新系统进行自动备份并将旧文件备份删除,将启动标志位设置为从新系统启动,结束进程;
步骤S53,若BootLoader启动新系统时间超过设定的时间界限,就回复标记位,使Bootloader去启动原系统;
步骤S54,将自检计时擦除,将预置的标记位擦除,将ECU操作系统中的升级包文件删除,提示升级失败并记录升级失败的日志。
一种基于文件系统的ECU更新系统,包括外部设备、中央网关、T-box、ECU,中央网关分别与ECU、T-box模块通过车载以太网相连接,车载以太网的连接方式是通过各自的PHY模块进行连接;
还包括上述的基于文件系统的ECU更新方法。
一种基于文件系统的ECU更新系统,进一步地,所述外部设备包括计算机、远程服务器、移动设备中的一种或多种,其与中央网关进行有线或无线连接,当进行有线连接时,外部设备通过车载以太网与中央网关连接,当进行无线连接时,外部设备通过WiFI、蓝牙、4G、5G通信方式与T-box进行连接,进而通过T-box与中央网关进行通信,实现外部设备与车内设备的通信;
中央网关、ECU都包括有DoIP模块,外部设备通过DoIP诊断协议与车内的ECU建立连接。
有益效果:
1.本发明的技术方案中,在ECU升级时,都采用了基于车载以太网传输,相比于CAN协议等传输,其速率快,保证了更新的高效性,更新时间降低50%以上;所有流程使用的协议命令使用UDS协议,延续了成熟度,同时考虑到文件更新有增加,修改,删除等特点增加部分命令。
2.另外,对原来14229-2锁定义的flashbootloader更新流程进行简化和更新,依据ECU的操作系统的特点,只需要对模块的文件进行更新即可,无须像传统的ECU升级方法那样进行整体刷机。
3.针对升级的特点,在升级过程中,进行升级前后的备份升级以及安全验证,在升级失败后,车内ECU也能够正常工作。在升级完成后,新升级能够自动验证,确认成功后才释放新系统。
附图说明
以下附图仅对本发明做示意性说明和解释,并不限定本发明的范围。
图1是本发明具体实施方式中ECU的升级结构示意图。
图2本发明具体实施方式中ECU内部的结构示意图。
图3本发明具体实施方式中基于文件系统的ECU升级方法流程图。
图4本发明具体实施方式中外部设备申明自身存在网络的流程图。
图5本发明具体实施方式中ECU申明自身存在网络的流程图。
图6本发明具体实施方式中例程服务包括的内容。
图7本发明具体实施方式中外部设备发送文件传输的请求的具体内容。
具体实施方式
为了对本文的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示相同的部分。为使图面简洁,各图中的示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,为使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。
关于控制系统,功能模块、应用程序(APP)本领域技术人员熟知的是,其可以采用任何适当的形式,既可以是硬件也可以是软件,既可以是离散设置的多个功能模块,也可以是集成到一个硬件上的多个功能单元。作为最简单的形式,所述控制系统可以是控制器,例如组合逻辑控制器、微程序控制器等,只要能够实现本申请描述的操作即可。当然,控制系统也可以作为不同的模块集成到一个物理设备上,这些都不偏离本发明的基本原理和保护范围。
本发明中“连接”,即可包括直接连接、也可以包括间接连接、通信连接、电连接,特别说明除外。
本文中所使用的术语仅为了描述特定实施方案的目的并且不旨在限制本公开。如本文中所使用地,单数形式“一个”、“一种”、以及“该”旨在也包括复数形式,除非上下文明确地另作规定。还将理解的是,当在说明书中使用时,术语“包括”和/或“包含”是指存在有所陈述的特征、数值、步骤、操作、元件和/或组分,但是并不排除存在有或额外增加一个或多个其它的特征、数值、步骤、操作、元件、组分和/或其组成的群组。作为在本文中所使用的,术语“和/或”包括列举的相关项的一个或多个的任何和全部的组合
应当理解,此处所使用的术语“车辆”或“车辆的”或其它类似术语一般包括机动车辆,例如包括运动型多用途车辆(SUV)、公共汽车、卡车、各种商用车辆的乘用汽车,包括各种舟艇、船舶的船只,航空器等等,并且包括混合动力车辆、电动车辆、可插式混合动力电动车辆、氢动力车辆以及其它替代性燃料车辆(例如源于非石油的能源的燃料)。正如此处所提到的,混合动力车辆是具有两种或更多动力源的车辆,例如汽油动力和电力动力两者的车辆。
此外,本公开的控制器可被具体化为计算机可读介质上的非瞬态计算机可读介质,该计算机可读介质包含由处理器、控制器或类似物执行的可执行程序指令。计算机可读介质的示例包括,但不限于,ROM、RAM、光盘(CD)-ROM、磁带、软盘、闪存驱动器、智能卡和光学数据存储设备。计算机可读记录介质也可分布在通过网络耦合的计算机系统中,使得计算机可读介质例如通过远程信息处理服务器或控制器区域网络(CAN)以分布式方式存储和执行。
本实施例提供一种基于文件系统的ECU更新装置,参见图1,包括外部设备、中央网关、T-box、ECU,中央网关分别与ECU、T-box模块通过车载以太网相连接,车载以太网的连接方式是通过各自的PHY模块进行连接;
外部设备包括计算机、远程服务器、移动设备中的一种或多种,其与中央网关进行有线或无线连接,当进行有线连接时,外部设备通过车载以太网与中央网关连接,当进行无线连接时,外部设备通过WiFI、蓝牙、4G、5G通信方式与T-box进行连接,进而通过T-box与中央网关进行通信,实现外部设备与车内设备的通信。
ECU包括文件系统和Bootloader,参见图2,文件系统包括Linux、QNX、android、window等操作系统,在操作系统中,包括内核、应用程序;
中央网关、ECU都包括有DoIP(Diagnostic Over IP)模块,外部设备通过DoIP诊断协议与车内的ECU建立连接;
当外部设备含有ECU的升级包并且需要对ECU中进行文件更新,参见图3,具体包括以下步骤:
步骤S1,外部设备通过中央网关用DoIP协议与待升级的ECU建立连接,当连接成功后,外部设备与待升级的ECU进行诊断会话;
步骤S2,待升级的ECU与外部设备进行安全访问验证,判断是否需要进行文件更新,若需要更新则进入请求文件更新模式;
步骤S3,外部设备发送请求传输文件的报文给ECU,ECU接收到请求后,判断是否需要升级,若需要升级,则发送升级文件响应给外部设备,外部设备收到升级文件响应后,开始传送升级文件给ECU;
步骤S4,当所有需要升级的文件传输完成后,对传输完成的文件进行完整性检查,当检查所有文件都完整后对含有待升级的ECU进行重启;
步骤S5,对升级完成后的ECU进行功能性能验证,若通过,则提示升级成功,若不通过,则提示升级失败并记录升级失败的日志。
步骤S1中,外部设备与车内ECU建立连接的过程具体包括:
步骤S11,外部设备与车内ECU申明自身存在网络;
外接设备通过中央网关接入车内网络,外部设备接入车内网络并通知车内ECU,包括:外部设备和ECU分别从网络中获取配置IP地址和端口号,外部设备通过广播UDP(UserData Protocol)协议发送车辆识别请求给ECU,若ECU收到车辆识别请求后将外部设备信息加入外部设备信息管理状态表,通过单播UDP协议发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表;
当新的ECU接入网络时,ECU在网络申明自身的存在,参见图4,具体步骤如下:ECU从网络中获取配置的IP地址和端口号,ECU通过广播的UDP协议发送三次车辆公告信息给外部设备,外部设备收到ECU的车辆公告信息后将该ECU信息加入ECU设备信息管理状态表,然后发送车辆识别请求给ECU,ECU收到车辆识别请求后,发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表。
由于在升级或诊断过程中,可能会出现多种不同的外部设备,而资源有限,因此,其中一个外部设备结束后,就会换成下一个外部设备,但是外部设备的下线并不会发送信息通知车内的ECU,这样会造成ECU一直要保存该外部设备的信息,当有多个外部设备,无效的外部设备占据较多的系统资源,如内存,IP地址、端口号等。
在车内网络中任意选择一个ECU作为周期的ECU(具体参见图5),让其在预设时间周期进行申明自身在车内网络的存在,外部设备接收到周期ECU的车公告消息后,发送反馈带有外部设备的信息给周期ECU,周期性ECU收到所有在线的外部设备的消息后,删除没有发送反馈信息的外部设备,更新外部设备信息管理状态表,然后周期的ECU通过广播UDP协议发送更新后的外部测设设备管理状态表给其余的ECU,其余的ECU收到更新后的外部设备管理状态表后对自身的外部设备状态表进行更新。
ECU在启动后,需要主动广播车公告(Vehicle announcement)消息,该消息也同样带有设备的相关信息,如果此时有外部设备在线,那么外部设备就获知到该ECU的信息,即可进入下一步的通信建立流程。
步骤S12,外部设备与车内ECU通过TCP/IP协议建立路由激活,从而完成外部设备与车内ECU建立连接的过程;
ECU的文件系统采用Window、QNX、Android、Lunix系统中的一种,操作系统包括两个分区,其中一个分区用来系统备份文件,另一个分区用于当前的系统运行;操作系统中安装不同的APP,其中,APP也需要升级;
步骤S13,外部设备发送拓展模式请求报文($10 03)给待升级ECU,待升级ECU接受后进入拓展诊断会话;
步骤S14,程序控制,发送例程控制服务($31 01 02 03),检查待升级的ECU电源、当前工作状态是否满足更新条件;
参见图6,例程服务包括数据标识符、里程名称,标识位,结果定义,请求描述,数据标识符设计02,03;例程名称,如:检查刷写条件,结果定义:0x00检查成功;0x01标识检查失败,请求描述设有开始和停止,开始用3101 02 03表示,停止用31 02 02 03,详细各种名称的代码描述参见图6。
步骤S15,会话可控制,进入编程会话模式;
步骤S2中的具体步骤包括:
步骤S21,待升级的ECU与外部设备进行安全访问成功,则继续执行步骤S22,若外部设备与待升级的ECU进行安全访问失败,则等待预设时间,继续进行下一次的安全访问,若在预设的访问次数或预设时间内建立安全访问失败,则结束进程;
在安全访问过程中,操作系统存储有外部设备的数字证书和ECU数字证书,数字证书由可信的数字证书中心分别颁发,数字证书数据库中的数据分别存储在市售安全存储芯片中,实现敏感数据不被外界篡改;
在安全访问过程中,采用双向认证模式,搭建PKI平台,负责客户证书的发放和管理,需要在ECU的操作系统中安装根证书以及客户证书,服务端证书,并采用动态对称密钥加密通信通道;
ECU操作系统与升级服务器通过各自的数字证书并遵循HTTPS协议进行双向认证,并确定两者通信的会话密钥session key,两者的后续通信均通过会话密钥session key加密。
安全访问失败包括ECU被锁住,锁住的条件包括:接收到另外一个安全访问请求或切换到另外一个诊断会话,或切换到相同的诊断会话时;
安全访问请求包括请求格式、内容、安全级别等;
对ECU解锁之前,写入数据请求和传输进程需要被禁止:
安全访问包括设计授权标识符或标示表,还需要通过系统内的数据访问过滤机制对所有的数据访问请求进行分析;如果是对受保护数据的访问并且用户没有被授权,则拒绝该访问请求并通知用户;如果是对非保护区和保护区访问且用户已被授权,则执行该访问请求;
步骤S22,外部设备将指纹信息发送给ECU,ECU收到指纹信息将指纹信息保存在预设路径中;
指纹信息包括更新模块的模块名、更新模块的时间、更新客户端名称;
步骤S23,程序控制ECU的操作系统进入编程模式并判断指纹识别信息是否有效,当指纹识别信息有效后,控制ECU进入文件更新模式;
S24,ECU系统进入文件更新模式后,系统关闭所有正在执行的APP程序,保证文件更新过程中关联程序都退出工作;
步骤S3具体包括以下步骤:
步骤S31,外部设备发送文件传输的请求由刷写进程进行发起,刷写进程包括:请求文件传输($38),数据传输($36)和请求退出传输($37)3个服务请求组成;
请求文件传输的内容如图7所示,其中包括请求文件传输请求标识(Request FileTransfer Request SID)、文件操作模式、文件路径和名称长度,文件格式,文件大小等;
版本检查时将返回版本信息,升级包密钥、以及签名信息。ECU在下载和安装升级包时,强制验证签名,如果签名不一致则拒绝安装,一方面确保升级包的完整性,另一方面确保升级包只能给当前终端使用。升级包在本地以加密形式存储,只有在使用时才解密为明文;
外部设备首先应判断更新模块与之前版本文件上的差异,有些文件是增加的,有些文件是删除,有些文件是删除时更新覆盖文件,文件更新操作按照下表设置,将更新模块包含的文件进行属性分类;
表1更新模块的文件操作模式
Mode of operation 功能 文件名称
0x01 增加文件
0x02 删除文件
0x03 更新覆盖文件
在外部设备传输文件数据给ECU的文件系统之前,ECU操作系统通过备份模块启动对升级前的当前系统进行备份,并将备份文件进行压缩后存储于备份分区中;
步骤S32,外部设备按照发送文件传输的请求报文传输文件数据给ECU;
步骤S33,当文件数据传输结束时,检查传输文件的完整性,若传输文件完整,则执行步骤S34,若传输文件不完整,则将接收的文件数据删除,发送文件数据重传的命令给外部设备要求重新发送文件数据;
传输文件的完整性检查通过ECU计算的MD5值与传输文件的MD5是否相同,若相同,则通过验证,若不同,则不通过;
步骤S35,通过程序控制对传输完成的文件进行检查、校验文件、版本兼容检查,确保都通过,若出错,则删除文件,申请重新传输;
步骤S36,继续下一个升级的文件数据传输;
步骤S37,当一个文件传输完成后,进行下一个文件的传输和处理,若文件操作方式是删除,对文件进行删除后,直接进行下一个文件操作;
步骤S4的具体步骤包括:
步骤S41,当文件传输结束后,ECU根据传输文件的请求报文通过程序控制检查接收文件数据完整性,当所有更新的文件数据都完整,则执行步骤S42,若发现文件数据缺失,则发送缺失文件的重新传输;
步骤S42,预置标记位,使Bootloader下次从新系统启动;
步骤S43,Bootloader设置预设时间长度进行自检计时;
步骤S44,重启ECU操作系统。
步骤S5的具体包括以下步骤:
步骤S51,ECU操作系统自检,判断新系统是否可以正常工作,若能够正常工作,执行步骤S52,若不能够正常工作,执行步骤S53;
步骤S52,BootLoader计时终止,将ECU原程序文件删除,对新系统进行自动备份并将旧文件备份删除,将启动标志位设置为从新系统启动,结束进程;
步骤S53,若BootLoader启动新系统时间超过设定的时间界限,就回复标记位,使Bootloader去启动原系统;
步骤S54,将自检计时擦除,将预置的标记位擦除,将ECU操作系统中的升级包文件删除,提示升级失败并记录升级失败的日志。
以上所述的仅是本发明的优选实施方式,本发明不限于以上实施例。本领域的技术人员可以清楚,该实施例中的形式不局限于此,同时可调整方式也不局限于此。可以理解,本领域技术人员在不脱离本发明的基本构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本发明的保护范围之内。

Claims (17)

1.一种基于文件系统的ECU更新方法,其特征在于,包括:步骤S1,外部设备通过中央网关用DoIP协议与待升级的ECU建立连接,当连接成功后,外部设备与待升级的ECU进行诊断会话;
步骤S2,待升级的ECU与外部设备进行安全访问验证,判断是否需要进行文件更新,若需要更新则进入请求文件更新模式;
步骤S3,外部设备发送请求传输文件的报文给ECU,ECU接收到请求后,判断是否需要升级,若需要升级,则发送升级文件响应给外部设备,外部设备收到升级文件响应后,开始传送升级文件给ECU;
步骤S4,当所有需要升级的文件传输完成后,对传输完成的文件进行完整性检查,当检查所有文件都完整后对含有待升级的ECU进行重启。
2.根据权利要求1所述的一种基于文件系统的ECU更新方法,其特征在于,包括:步骤S5,对升级完成后的ECU的操作系统进行功能验证,判断升级后的ECU功能是否正常。
3.根据权利要求1所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S1具体包括以下步骤:步骤S11,外部设备与车内ECU申明自身存在网络。
4.根据权利要求3所述的一种基于文件系统的ECU更新方法,其特征在于,所述外部设备与车内ECU申明自身存在网络具体包括:外部设备申明自身在网络存在和ECU申明在网络存在;
外部设备申明自身在网络存在包括:外接设备通过中央网关接入车内网络,外部设备接入车内网络并通知车内ECU,包括:外部设备和ECU分别从网络中获取配置IP地址和端口号,外部设备通过广播UDP协议发送车辆识别请求给ECU,若ECU收到车辆识别请求后将外部设备信息加入外部设备信息管理状态表,ECU通过单播UDP协议发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表;
ECU申明在网络存在包括:当新的ECU接入网络时,ECU从网络中获取配置的IP地址和端口号,ECU通过广播的UDP协议发送三次车辆公告信息给外部设备,外部设备收到ECU的车辆公告信息后将ECU设备信息加入ECU管理状态表,然后发送车辆识别请求给ECU,ECU收到车辆识别请求后,发送车辆识别响应给外部设备,外部设备将收到的车辆识别响应放入ECU管理状态表。
5.根据权利要求4所述的一种基于文件系统的ECU更新方法,其特征在于,在车内网络中任意选择一个ECU作为周期的ECU,让其在预设时间周期进行申明自身在车内网络的存在,外部设备接收到周期ECU的车公告消息后,发送反馈带有外部设备的信息给周期ECU,周期性ECU收到所有在线的外部设备的消息后,删除没有发送反馈信息的外部设备,更新外部设备信息管理状态表,然后周期的ECU通过广播UDP协议发送更新后的外部设备管理状态表给其余的ECU,其余的ECU收到更新后的外部设备管理状态表后对自身的外部设备状态表进行更新;
ECU在启动后,需要主动广播车公告消息,车公告消息包括带有ECU的信息,如果此时有外部设备在线,外部设备就获取ECU的信息。
6.根据权利要求3所述的一种基于文件系统的ECU更新方法,其特征在于,步骤S1具体还包括以下步骤:
步骤S12,外部设备与车内ECU通过TCP/IP协议建立路由激活,从而完成外部设备与车内ECU建立连接的过程;
步骤S13,外部设备发送拓展模式请求报文给待升级ECU,待升级ECU接受后进入拓展诊断会话;
步骤S14,程序控制,发送例程控制服务,检查待升级的ECU电源、当前工作状态是否满足更新条件。
7.根据权利要求1所述的一种基于文件系统的ECU更新方法,其特征在于,所述ECU包括Bootloader和文件系统,其中,文件系统采用Window、QNX、Android、Lunix操作系统中的一种。
8.根据权利要求7所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S2具体包括:
步骤S21,待升级的ECU与外部设备进行安全访问成功,则继续执行步骤S22,若外部设备与待升级的ECU进行安全访问失败,则等待预设时间,继续进行下一次的安全访问,若在预设的访问次数或预设时间内建立安全访问失败,则结束进程。
9.根据权利要求8所述的一种基于文件系统的ECU更新方法,其特征在于,在安全访问过程中,操作系统存储有外部设备的数字证书和ECU数字证书,数字证书由可信的数字证书中心分别颁发,采用双向认证模式,搭建PKI平台,负责客户证书的发放和管理,并采用动态对称密钥加密通信通道;
ECU操作系统与外部设备通过各自的数字证书并遵循HTTPS协议进行双向认证,并确定两者通信的会话密钥session key,两者的后续通信均通过会话密钥session key加密。
10.根据权利要求8所述的一种基于文件系统的ECU更新方法,其特征在于,安全访问失败包括ECU被锁住,锁住的条件包括:接收到另外一个安全访问请求或切换到另外一个诊断会话,或切换到相同的诊断会话时;
安全访问请求至少包括请求格式、内容、安全级别;
对ECU解锁之前,写入数据请求和传输进程需要被禁止:
安全访问包括设计授权标识符或标示表,还需要通过系统内的数据访问过滤机制对所有的数据访问请求进行分析;如果是对受保护数据的访问并且ECU没有被授权,则拒绝该访问请求并通知ECU;如果是对非保护区和保护区访问且ECU已被授权,则执行该访问请求。
11.根据权利要求8所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S2具体还包括:
步骤S22,外部设备将指纹信息发送给ECU,ECU收到指纹信息将指纹信息保存在预设路径中;
指纹信息包括更新模块的模块名、更新模块的时间、更新客户端名称;
步骤S23,程序控制ECU的操作系统进入编程模式并判断指纹识别信息是否有效,当指纹识别信息有效后,控制ECU进入文件更新模式;
S24,ECU系统进入文件更新模式后,系统关闭所有正在执行的APP程序,保证文件更新过程中关联程序都退出工作。
12.根据权利要求7所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S3具体包括:步骤S31,外部设备发送文件传输的请求由刷写进程进行发起,刷写进程包括:请求文件传输,数据传输和请求退出传输;
请求文件传输的内容包括请求文件传输请求标识、文件操作模式、文件路径和名称长度,文件格式,文件大小;
文件操作模式包括增加文件、删除文件、更新覆盖文件;
在外部设备传输文件数据给ECU的文件系统之前,ECU操作系统通过备份模块启动对升级前的当前系统进行备份,并将备份文件进行压缩后存储于备份分区中。
13.根据权利要求8所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S3具体还包括:
步骤S32,外部设备按照发送文件传输的请求报文传输文件数据给ECU;
步骤S33,当文件数据传输结束时,检查传输文件的完整性,若传输文件完整,则执行步骤S34,若传输文件不完整,则将接收的文件数据删除,发送文件数据重传的命令给外部设备要求重新发送文件数据;
传输文件的完整性检查通过ECU计算的MD5值与传输文件的MD5是否相同,若相同,则通过验证,若不同,则不通过;
步骤S35,通过程序控制对传输完成的文件进行检查、校验文件、版本兼容检查,确保都通过,若出错,则删除文件,申请重新传输;
步骤S36,继续下一个升级的文件数据传输;
步骤S37,当一个文件传输完成后,进行下一个文件的传输和处理,若文件操作方式是删除,对文件进行删除后,直接进行下一个文件操作。
14.根据权利要求7所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S4具体还包括:
步骤S41,当文件传输结束后,ECU根据传输文件的请求报文通过程序控制检查接收文件数据完整性,当所有更新的文件数据都完整,则执行步骤S42,若发现文件数据缺失,则发送缺失文件的重新传输;
步骤S42,预置标记位,使Bootloader下次从新系统启动;
步骤S43,Bootloader设置预设时间长度进行自检计时;
步骤S44,重启ECU操作系统。
15.根据权利要求2所述的一种基于文件系统的ECU更新方法,其特征在于,所述步骤S5具体还包括
步骤S51,ECU操作系统自检,判断新系统是否可以正常工作,若能够正常工作,执行步骤S52,若不能够正常工作,执行步骤S53;
步骤S52,BootLoader计时终止,将ECU原程序文件删除,对新系统进行自动备份并将旧文件备份删除,将启动标志位设置为从新系统启动,结束进程;
步骤S53,若BootLoader启动新系统时间超过设定的时间界限,就回复标记位,使Bootloader去启动原系统;
步骤S54,将自检计时擦除,将预置的标记位擦除,将ECU操作系统中的升级包文件删除,提示升级失败并记录升级失败的日志。
16.一种基于文件系统的ECU更新系统,其特征在于,包括外部设备、中央网关、T-box、ECU,中央网关分别与ECU、T-box模块通过车载以太网相连接,车载以太网的连接方式是通过各自的PHY模块进行连接;
还包括如权利要求1至15所述的任一项基于文件系统的ECU更新方法。
17.如权利要求16所述的一种基于文件系统的ECU更新系统,其特征在于,所述外部设备包括计算机、远程服务器、移动设备中的一种或多种,其与中央网关进行有线或无线连接,当进行有线连接时,外部设备通过车载以太网与中央网关连接,当进行无线连接时,外部设备通过WiFI、蓝牙、4G、5G通信方式与T-box进行连接,进而通过T-box与中央网关进行通信,实现外部设备与车内设备的通信;
中央网关、ECU都包括有DoIP模块,外部设备通过DoIP诊断协议与车内的ECU建立连接。
CN201911401549.0A 2019-12-31 2019-12-31 一种基于文件系统的ecu更新方法及系统 Active CN111061499B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911401549.0A CN111061499B (zh) 2019-12-31 2019-12-31 一种基于文件系统的ecu更新方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911401549.0A CN111061499B (zh) 2019-12-31 2019-12-31 一种基于文件系统的ecu更新方法及系统

Publications (2)

Publication Number Publication Date
CN111061499A CN111061499A (zh) 2020-04-24
CN111061499B true CN111061499B (zh) 2023-06-13

Family

ID=70305064

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911401549.0A Active CN111061499B (zh) 2019-12-31 2019-12-31 一种基于文件系统的ecu更新方法及系统

Country Status (1)

Country Link
CN (1) CN111061499B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807075A (zh) * 2020-06-11 2021-12-17 卓品智能科技无锡有限公司 一种使用文件系统增加标定能力的方法
CN111722860B (zh) * 2020-06-16 2024-02-02 东软睿驰汽车技术(沈阳)有限公司 基于有穷状态机的ota升级方法和装置
CN112035152B (zh) * 2020-08-24 2023-10-10 成都三零嘉微电子有限公司 一种SoC芯片固件升级的安全处理系统及方法
CN112148312A (zh) * 2020-09-15 2020-12-29 中国第一汽车股份有限公司 一种电子控制器的固件升级管理方法、装置、设备和介质
CN112235076B (zh) * 2020-09-17 2023-02-17 苏州挚途科技有限公司 提高双系统之间通信速率的方法、系统与处理器
CN112383899A (zh) * 2020-09-23 2021-02-19 芜湖莫森泰克汽车科技股份有限公司 基于5g网络对车窗防夹ecu程序远程升级方法
CN112698857B (zh) * 2021-01-04 2023-09-19 潍柴动力股份有限公司 一种数据刷写的方法及设备
CN113225200A (zh) * 2021-01-29 2021-08-06 成都市卡蛙科技有限公司 一种固件刷写方法及固件刷写装置
CN112953775B (zh) * 2021-02-25 2023-03-24 亿咖通(湖北)技术有限公司 一种车机升级系统及方法
FR3123473A1 (fr) * 2021-05-31 2022-12-02 Psa Automobiles Sa Véhicule automobile, système automobile et procédé associé pour la mise à jour d’un calculateur
CN113541939B (zh) * 2021-06-25 2022-12-06 上海吉大正元信息技术有限公司 一种车联网数字证书颁发方法和系统
CN113609476A (zh) * 2021-07-28 2021-11-05 南京慧尔视智能科技有限公司 一种雷达固件远程升级方法和升级系统
CN114091040B (zh) * 2022-01-10 2022-05-06 苏州萨沙迈半导体有限公司 车辆ecu的升级方法、存储介质、客户端
CN115442233A (zh) * 2022-08-09 2022-12-06 北京罗克维尔斯科技有限公司 Ecu升级方法、装置、电子设备、存储介质及车辆

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017118334A1 (zh) * 2016-01-08 2017-07-13 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN109062594A (zh) * 2018-07-20 2018-12-21 武汉科技大学 一种嵌入式QNX/Linux下汽车ECU程序自动安全升级的方法
CN109348453A (zh) * 2018-09-20 2019-02-15 重庆长安汽车股份有限公司 基于车载以太网的音频传输的方法及系统
CN110474961A (zh) * 2019-07-14 2019-11-19 江苏开沃汽车有限公司 纯电乘用车基于can总线实现多路远程ota升级方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017118334A1 (zh) * 2016-01-08 2017-07-13 阿里巴巴集团控股有限公司 一种日志收集客户端及其升级方法
CN109062594A (zh) * 2018-07-20 2018-12-21 武汉科技大学 一种嵌入式QNX/Linux下汽车ECU程序自动安全升级的方法
CN109348453A (zh) * 2018-09-20 2019-02-15 重庆长安汽车股份有限公司 基于车载以太网的音频传输的方法及系统
CN110474961A (zh) * 2019-07-14 2019-11-19 江苏开沃汽车有限公司 纯电乘用车基于can总线实现多路远程ota升级方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈晓苏,李华.面向C/S应用系统的一种自动升级方法.郑州轻工业学院学报(自然科学版).2001,(03),全文. *

Also Published As

Publication number Publication date
CN111061499A (zh) 2020-04-24

Similar Documents

Publication Publication Date Title
CN111061499B (zh) 一种基于文件系统的ecu更新方法及系统
US11733992B2 (en) Center device
US11683197B2 (en) Vehicle master device, update data distribution control method, computer program product and data structure of specification data
US11669323B2 (en) Vehicle electronic control system, program update notification control method and computer program product
US20220179644A1 (en) Vehicle electronic control system, vehicle master device, and rewrite instruction program product under specific mode
US11947953B2 (en) Vehicle electronic control system, progress screen display control method and computer program product
US11671498B2 (en) Vehicle master device, update data verification method and computer program product
US11822366B2 (en) Electronic control unit, vehicle electronic control system, rewrite execution method, rewrite execution program, and data structure of specification data
US20210155177A1 (en) Vehicle electronic control system, distribution package download determination method and computer program product
US11467821B2 (en) Vehicle master device, installation instruction determination method and computer program product
US11604637B2 (en) Electronic control unit, vehicle electronic control system, difference data consistency determination method and computer program product
US20210155252A1 (en) Vehicle master device, control method for executing rollback, computer program product for executing rollback and data structure of specification data
US20210155173A1 (en) Vehicle master device, vehicle electronic control system, activation request instruction method and computer program product
US11928459B2 (en) Electronic control unit, retry point specifying method and computer program product for specifying retry point
US20210157492A1 (en) Vehicle electronic control system, file transfer control method, computer program product and data structure of specification data
US20210157574A1 (en) Vehicle master device, non-rewrite target power supply administration method and computer program product
US11941384B2 (en) Vehicle master device, rewrite target group administration method, computer program product and data structure of specification data
US11926270B2 (en) Display control device, rewrite progress display control method and computer program product
US20220179643A1 (en) Vehicle master device, vehicle electronic control system, configuration setting information rewrite instruction method, and configuration setting information rewrite instruction program product
US11907697B2 (en) Vehicle electronic control system, center device, vehicle master device, display control information transmission control method, display control information reception control method, display control information transmission control program, and display control information reception control program
US11656771B2 (en) Electronic control unit, vehicle electronic control system, activation execution control method and computer program product
US11876898B2 (en) Vehicle master device, security access key management method, security access key management program and data structure of specification data
US20230254374A1 (en) Vehicle master device, update data verification method and computer program product

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
GR01 Patent grant
GR01 Patent grant