CN117806733A - 一种基于域控制器的汽车软件自修复系统及方法 - Google Patents

一种基于域控制器的汽车软件自修复系统及方法 Download PDF

Info

Publication number
CN117806733A
CN117806733A CN202410005016.5A CN202410005016A CN117806733A CN 117806733 A CN117806733 A CN 117806733A CN 202410005016 A CN202410005016 A CN 202410005016A CN 117806733 A CN117806733 A CN 117806733A
Authority
CN
China
Prior art keywords
software
domain controller
self
repairing
vehicle
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
Application number
CN202410005016.5A
Other languages
English (en)
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 Xingyu Zhixing Technology Co ltd
Original Assignee
Shanghai Xingyu Zhixing Technology 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 Xingyu Zhixing Technology Co ltd filed Critical Shanghai Xingyu Zhixing Technology Co ltd
Priority to CN202410005016.5A priority Critical patent/CN117806733A/zh
Publication of CN117806733A publication Critical patent/CN117806733A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请涉及车辆控制技术领域,尤其涉及一种基于域控制器的汽车软件自修复系统及方法。自修复系统,包括SOC处理器,SOC处理器与车辆上的传感器连接;MCU处理器,MCU处理器中包括reset不重置RAM区域,reset不重置RAM区域由LSL文件定义。自修复方法:运行系统,默认进入Version1(最新版本)软件;运行version1软件的过程中将获取的环境信息共享,同时对adas功能进行诊断;当检测到发生故障时,请求进入safety程序,safety程序介入并利用最新信息接管车辆,操作循环结束后,以后上电运行version2(上一版本)软件直至请求结束,本申请在MCU的的资源,定义reset不重置区域,当检测到自身逻辑运行异常时,主动请求紧急处理操作,实现程序快速跳转实现,以较低的成本致力于软件故障的快速修复。

Description

一种基于域控制器的汽车软件自修复系统及方法
技术领域
本申请涉及车辆控制技术领域,尤其涉及一种基于域控制器的汽车软件自修复系统及方法。
背景技术
随着汽车软件的功能越来越多,网络各种升级刷写的普遍,面对复杂多变的道路交通环境,面对汽车软件功能的日益增加,与之伴随的风险也是越来越多。
当软件升级后发生新的故障时,例如某些车辆在下坡时刹车踏板无法踩下去、某些车辆在高速上定速巡航功能无法退出、诸如此等,当故障发生时会给人们生命财产安全造成极大威胁。因此在程序运行过程中的异常处理,这些年来也备受关注,工程师们都在积极探索如何实现异常程序的自修复。
现有技术围绕在针对bug问题使用版本升级、增加程序备份实现故障程序的修复两个角度来处理这类问题。在bug问题的修复过程中定会经历史故障的再现、分析、修复验证、以及一系列的测试最终才能上线,或通过售后诊断刷写工具下载、或通过无线在线升级的方式推送到客户的手中,但是实车在客户手中是随时都可能需要使用的,有些故障也会在实车的运行过程中才能显示出来,通过升级程序的方式,显然会面临修复响应慢的问题,当涉及到辅助驾驶、档位、刹车等控车功能时,这种处理机制与快速响应的需要之间的矛盾也会更加突出。
其次,现有技术中也有通过扩展存储芯片将程序从备用分区拷贝到待修复程序方式,还有通过扩展存储芯片给主程序设置多个备份的方式,当主程序出错时,通过校验方式来检查备份程序,选择满足校验条件的备份程序进行跳转,这种方式在一定程度上解决了故障程序的完全不能运行问题,但是在快速响应,在芯片成本、在所能处理的问题上也很受限,在实车运行过程中发生故障时同样也面临响应时间过长的问题,并且有些故障只有在某种特定场景下才会触发,相同的备份程序理应在同样的环境中会再次触发故障,也不满足紧急情况下的快速安全响应,而且随着程序备份数量的增加,需要外部增加额外的程序存储器,导致电路系统复杂、外部程序存储器也会占用更多的IO口,导致IO扩展性能也受限。
发明内容
本发明旨在解决上述背景技术中存在的问题之一。
为此,本发明提供一种基于域控制器的汽车软件自修复系统及方法。
本发明解决其技术问题所采用的技术方案是:
一种基于域控制器的汽车软件自修复系统,包括
SOC处理器,所述SOC处理器与车辆上的传感器连接;
MCU处理器,所述MCU处理器中包括第一RAM区域和第二RAM区域;
其中,所述第一RAM区域为reset不重置RAM区域,能够实现复位后的数据保存,所述第一RAM区域由LSL文件定义。
通过采用上述技术方案,有效利用MCU处理器中的LSL文件定义内部固定地址空间RAM数据复位不清除的特性,实现环境信息数据及用户配置数据快速再利用、接管车辆控制的效果,不额外增加程序存储芯片不增加产品成本、不占用更多的MCU端口不更改硬件设计、以较低的成本致力于快速的故障修复、快速的逻辑处理、降低车辆不受控的风险,把用户体验做到更佳。
进一步地,所述LSL文件定义一个能够存储环境感知数据以及用户配置信息的存储空间。
进一步地,所述LSL文件通过定义存储空间的启示和终止位置定义存储空间。
进一步地,所述第一RAM区域中设置有多个存储段,具体包括:感知环境数据库、系统用户配置数据库、用于存储boot程序的PF0段、用于存储此域控制器中最新的版本软件的FP1、用于存储最新版本上一版本软件的PF2、用于存储Safety程序的PF3、PF4和PF5。
一种基于域控制器的汽车软件自修复方法,包括以下步骤,
默认运行最新版本的软件version1,并判断adas是否在正常运行;
运行version1软件的过程中获取感知信息及用户配置信息,并上传共享buff;
当adas功能在运行过程中出现故障时,请求safety程序介入并直至请求结束;
下次上电时运行上一版本的软件version2。
进一步地,先对车辆环境进行判断其是否满足adas功能的启用,再对adas功能是否正常启动进行判断。
进一步地,判断adas功能是否可以正常启动;当adas功能不能正常启动时,开启故障修复,修复成功满足启用条件,后续可启用adas功能,修复失败时,请求下电结束前均不可使用adas功能。
进一步地,运行adas功能开启时对功能运行情况进行自诊断,一切正常时直至请求下电结束,不做处理;当发生紧急情况时,则请求立即跳转safety程序。
进一步地,进入safety程序后采用version1中共享的感知信息及用户配置信息,接管车辆,并请求用户对此次的接管使用体验进行反馈。
进一步地,将收集到的用户数据、反馈数据、传感器数据等上传至云端进行存储和共享。
本发明的有益效果是,本申请通过对自身功能的诊断,当检测到自身逻辑功能运行异常时,主动请求紧急处理操作,实现程序快速跳转,功能的快速衔接,避免因功能异常,看门狗复位重启所造成的风险威胁问题。
基于使用的MCU的资源,不额外增加程序存储芯片不增加产品成本、不占用更多的MCU端口不更改硬件设计、以较低的成本致力于快速的故障修复、快速的逻辑处理、降低车辆不受控的风险,把用户体验做到更佳
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明中一种基于域控制器的汽车软件自修复系统的结构示意图。
图2是本发明中MCU处理器中存储分配及数据传递图的结构示意图。
图3是本发明中version1软件运行的流程图。
图4是本发明中safety程序的运行流程图。
图5是本发明中version2软件运行的流程图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1、图2,一种基于域控制器的汽车软件自修复系统,包括SOC处理器和MCU处理器、调试器,SOC处理器与MCU处理器之间通过SPI总线实现信号传输,调试器通过以太网与SOC处理器连接。
具体的,SOC处理器采用J3处理器,其内部设置有信号摄像头数据接收器、前视图像格式转换器、视频mipi输出器、神经网络运算单元、视频编解码模块、通讯模块等,外部的传感器(包括但不限于前后监控视频、摄像头、环视大屏显示、环视摄像头等)通过解码器与SOC处理器连接,SOC处理器可以对从外部传感器中获取的信息进行解码和神经网络学习处理,并将信息传输至车载端显示、与MCU处理器进行信息传输。
MCU处理器与外部的传感器(包括但不限于前后雷达、超声波探测器等)通过GPIOS接口连接,MCU处理器可以直接从外部传感器中获取信息,也可以通过SOC处理器获取信息。
需要说明的是,本实施例中MCU处理器选用TC397高算力平台,其中MCU处理器中设置有多个存储空间,MCU处理器中包括第一RAM区域和第二RAM区域,第一RAM区域为reset不重置RAM区域,可以实现复位后的数据保存。
第一RAM区域可以由LSL文件进行定义,第一RAM区域中设置有多个存储段,具体包括:感知环境数据库,用于存储由外部传感器获取的感知信息;系统用户配置数据库,用于存储系统用户标定信息、配置信息、反馈信息、历史优化方案等;PF0段,用于存储boot程序,实施程序跳转;FP1用于储存Release1软件,Release1软件为此域控制器中最新的版本软件,默认进入此程序;PF2用于存储上一版Release2软件,用于经过安全程序诊断之后,认为最新版软件存在bug这种环境下的备用;PF3用于存储Safety程序,此段程序用于失控状态下的控车处理,强掉实现在任意环境下的安全控车处理;PF4和PF5分别为标定数据存数空间和预留空间等。
具体的,LSL文件定义一个存储空间,存储空间的大小能够根据使用需要进行变化,LSL文件通过定义存储空间的启示和终止位置定义存储空间。
本实施例中定义PF0的起始位置分别为8060 0000和808F FFFF,PF1的起始位置分别为8090 0000和80BF FFFF,PF2的起始位置分别为8000 0000和802F FFFF,PF3的起始位置分别为8030 0000和805F FFFF,PF4的起始位置分别为80F0 0000和811F FFFF,PF5的起始位置分别为80C0 0000和80CF FFFF。
通过LSL中reserved关键字在lmuram中定义一段空间,来存放感知数据和用户的配置数据。
利用字符串:reserved"NoInitRAM"定义复位不重置空间,实现复位后的数据保存。
定义空间之间的跳转优先级,使用关键字priority和exec_priority在映射上设置定位优先级。这些优先级的值是相对的,这意味着它们增加了内存的优先级。内存上的优先级设置适用于通过内存映射可达的所有地址空间区域,而映射上的优先级设置仅适用于通过映射可达的地址空间区域。优先级最高的内存映射在定位时优先考虑。若要仅为非可执行(数据)部分设置优先级,请添加具有所需值的priority关键字,并将exec_priority设置为0。若要仅为可执行(代码)部分设置优先级,只需将exec_priority关键字设置为所需的值。
故障情况下的逻辑判断由MCU处理器完成,在故障环境下的感知数据由J3通过摄像头读取并通过SPI传递过来,雷达的相关信息由CAN2/CAN3/CAN4这三路CAN获取,大于16通道的ADC提供了丰富接口用以检查各路的电压是否符合预期,以太网-PHY88Q2220的使用给故障的云端上传在SOC/MCU处均提供了可能。
对于使用的系统配置参数,以及程序,可以通过云端推送进行更新,每次控车后的效果也可以基于理论与实车信号反馈进行再标定,随着使用年限的增加,或者因轮胎等车身配件的更换而进行历史方案的再优化,此外每次控车的效果也可以根据用户的反馈进行云端的上传与共享,反馈的信息数据向下作用于内部参数的微调整实现用户体验的持续优化。LSL定义的Reset不重置的RAM区域相较一般RAM可以实现复位后的数据保存,用此段区域可以实现Release1程序故障时,跳转至Safety程序数据的快速使用,避免了因NVM数据的初始化读取,感知重新的获取及链路打通所造成的迟滞问题,实现功能的无缝接管,避免因卡死、跑飞、功能的悄悄退出、等造成的安全风险问题。
实施例2
参照图3-5,一种基于域控制器的汽车软件自修复方法,包括以下步骤:
步骤一:启动实施例1中的汽车软件自修复系统。
步骤二:首先boot程序跳转至PF1中,调用version1程序(最新版本的软件)。
S2.1MUC处理器从系统用户配置数据库中读取最新的用户标定及配置信息,然后接摄像头以及雷达等外部传感器开始正常工作,从而可以从感知环境数据库中读取最新的感知信息。并且将系统收集用户配置信息对系统用户配置数据感知环境数据库中信息进更新,上传至云端进行共享。
S2.2判断车辆环境,是否满足adas功能启动。
S2.2.1车辆环境满足adas功能启动,启动adas功能:
S2.2.1.1对adas功能运行进行诊断(车辆辅助驾驶功能自运行判断):
若功能运行一切正常,表明此次操作周期内各部分运行正常,则使用adas功能控车,并运行请求结束功能,至结束。
若功能运行故障,则请求safety安全程序介入,重新上电进行判断:
S2.2.1.1.1MUC处理器运用release1中程序(运行version1时)获取的感知数据及用户配置数据再次接管车辆,进入安全程序safety app实现安全控车的操作,safety app接管车辆,对车辆进行安全控车操作。
2.2.1.1.2请求停车,判断是否请求下电结束:
S2.2.1.1.2.1未请求下电结束,则启动紧急安全机制,收集对此次的接管操作请求的用户反馈信息,记录相关参数,对加速度,刹车,转向等体验信息进行历史迭代优化,将反馈信息和相关参数传输至云端共享buff;并刷新系统用户配置数据库中的用户配置信息,以及感知环境数据库中的信息。
S2.2.1.1.2.2请求下电结束,则结束下电,下次上电是直接启动version2。
S2.2.1.2对外界环境信息进行诊断(外部传感器的判断正确):
若外界环境信息未发生异常,功能可以继续使用,则使用adas功能控车,并运行请求结束功能,至结束。
S2.2.2车辆环境不满足adas功能启动:
S2.2.2.1车辆环境不满足adas功能启动,则开启车辆故障诊断,利用诊断仪读取故障信息,并对故障进行修复,若修复成功,则进入S2.2.1。
S2.2.2.1若对故障进行修复不成功,则记录故障信息并上传至云端,然后请求结束。
S2.3重新上电后,运行version2,boot程序跳转至PF2中,运行version2软件(由于运行最新版本version1运行故障,即表示version1中存在bug,从而直接跳转运行version2,最新版本的上一版本,version2作为备用版本可以流程运行,实现Safety程序与Release程序各功能逐一无缝衔接,强调任一场景下安全控车,紧急处理至停车,一般不做更新迭代)。进入此程序表明历史上adas功能曾发生过紧急故障,当用户再请adas功能时候,会提醒用户潜在的风险,请求售后升级;
在上述步骤中,当自诊断与侧面诊断任一触发故障时,因为此时处于行车状态属于紧急异常立即请求Safety程序介入,跳转至Safety程序后用reset不更新段RAM数据作为safety程序的默认输入,实现功能接管,安全控车。待下电控车结束后,请求用户对此次安全操作评价反馈,反馈结果作为控车方案优化输入并且反馈数据也实现云端共享,在运行version1时,系统收集用户配置信息对系统用户配置数据感知环境数据库中信息进更新。
经过安全程序后,下次上电经Boot选择进入Version2(上次发布版本)程序。排除因程序更新引入的bug问题。此外在Version2中,用户请求Adas功能时会提醒此功能存在风险,需要官方售后或者online升级。
Safety程序在域控制器上线时随Release程序一并存入Pflash,Safety程序与Release程序各功能逐一无缝衔接,强调任一场景下安全控车,紧急处理至停车、一般不做更新迭代。
综上所诉,本申请基于使用的MCU的资源,有效利用域控制器的高算力平台TC397LSL文件定义内部固定地址空间RAM数据复位不清除的特性,实现环境信息数据及用户配置数据快速再利用、接管车辆控制的效果,不额外增加程序存储芯片不增加产品成本、不占用更多的MCU端口不更改硬件设计、以较低的成本致力于快速的故障修复、快速的逻辑处理、降低车辆不受控的风险,把用户体验做到更佳。
有效利用域控制器的高算力平台TC397 Pflash的空间较大的特点,通过安全代码持续的分析改善、理论设计研讨与实际验证的反复叠加优化、以安全的角度确保在现实环境中都能实现车辆的最优控制,存储进去特定段落的Pflash空间以备不时之需。通过对自身功能的诊断,当检测到自身逻辑功能运行异常时,主动请求紧急处理操作,实现程序快速跳转,功能的快速衔接,避免因功能异常,看门狗复位重启所造成的风险威胁问题。
此外,由于随着车辆行驶年限的增加,各个部件不同程度的老化,从而车辆的用户配置数据会随着使用产生变化,基于车辆驾驶习惯与车身控制的数据分析,相关的控制参数逐渐调整,以期望实现任意姿态下的车身控制接管,保护使用者的生命财产安全;通过历史控制数据的分析,用户体验的回访及数据上传,持续优化紧急控车接管方案。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要如权利要求范围来确定其技术性范围。

Claims (10)

1.一种基于域控制器的汽车软件自修复系统,其特征在于,包括
SOC处理器,所述SOC处理器与车辆上的传感器连接;
MCU处理器,所述MCU处理器中包括第一RAM区域和第二RAM区域;
其中,所述第一RAM区域为reset不重置RAM区域,能够实现复位后的数据保存,所述第一RAM区域由LSL文件定义。
2.根据权利要求1所述的基于域控制器的汽车软件自修复系统,其特征在于,所述LSL文件定义一个能够存储环境感知数据以及用户配置信息的存储空间。
3.根据权利要求2所述的基于域控制器的汽车软件自修复系统,其特征在于,所述LSL文件通过定义存储空间的启示和终止位置定义存储空间。
4.根据权利要求1所述的基于域控制器的汽车软件自修复系统,其特征在于,所述第一RAM区域中设置有多个存储段,具体包括:感知环境数据库、系统用户配置数据库、用于存储boot程序的PF0段、用于存储此域控制器中最新的版本软件的FP1、用于存储最新版本上一版本软件的PF2、用于存储Safety程序的PF3、PF4和PF5。
5.一种基于域控制器的汽车软件自修复方法,其特征在于,包括以下步骤,
默认运行最新版本的软件version1,并判断adas是否在正常运行;
运行version1软件的过程中获取感知信息及用户配置信息,并上传共享buff;
当adas功能在运行过程中出现故障时,请求safety程序介入并直至请求结束;
下次上电时运行上一版本的软件version2。
6.根据权利要求5所述的基于域控制器的汽车软件自修复方法,其特征在于,先对车辆环境进行判断其是否满足adas功能的启用,再对adas功能是否正常启动进行判断。
7.根据权利要求5所述的基于域控制器的汽车软件自修复方法,其特征在于,当adas功能不能正常启动时,开启故障修复,修复成功满足启用条件,后续可启用adas功能,修复失败时请求下电结束前均不可使用adas功能。
8.根据权利要求6所述的基于域控制器的汽车软件自修复方法,其特征在于,运行adas功能开启时对功能运行情况进行自诊断,一切正常时直至请求下电结束,不做处理,当发生紧急情况时,则请求立即跳转safety程序。
9.根据权利要求8所述的基于域控制器的汽车软件自修复方法,其特征在于,进入safety程序后采用version1中共享的感知信息及用户配置信息,接管车辆,并请求用户对此次的接管使用体验进行反馈。
10.根据权利要求5所述的基于域控制器的汽车软件自修复方法,其特征在于,将收集到的用户数据、反馈数据、传感器数据等上传至云端进行存储和共享。
CN202410005016.5A 2024-01-02 2024-01-02 一种基于域控制器的汽车软件自修复系统及方法 Pending CN117806733A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410005016.5A CN117806733A (zh) 2024-01-02 2024-01-02 一种基于域控制器的汽车软件自修复系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410005016.5A CN117806733A (zh) 2024-01-02 2024-01-02 一种基于域控制器的汽车软件自修复系统及方法

Publications (1)

Publication Number Publication Date
CN117806733A true CN117806733A (zh) 2024-04-02

Family

ID=90421818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410005016.5A Pending CN117806733A (zh) 2024-01-02 2024-01-02 一种基于域控制器的汽车软件自修复系统及方法

Country Status (1)

Country Link
CN (1) CN117806733A (zh)

Similar Documents

Publication Publication Date Title
US8655541B2 (en) Vehicle upgrade system and method thereof
CN107531198B (zh) 程序改写装置和程序改写方法
US8452465B1 (en) Systems and methods for ECU task reconfiguration
US11151076B2 (en) Vehicle control system verification device, vehicle control system, and vehicle control system verification method
CN102262404A (zh) 整车下线配置系统及其配置方法
JP6147792B2 (ja) プログラム書換装置及びプログラム書換方法
CN101927738A (zh) 一种整车网络配置系统及其配置方法
US10625754B2 (en) Control apparatus, control method, and computer program
CN110865822B (zh) 整车控制器用Bootloader刷写程序的启动架构及方法
CN112612490A (zh) 车辆升级方法、车辆及存储介质
US20210141634A1 (en) Device and method for over the air update of vehicle
CN113434168A (zh) 一种基于智能硬件算力的车载网络架构自适应升级方法
CN112000358A (zh) 充电桩的升级方法与智能充电桩
CN102033765B (zh) 一种bcm程序升级方法和车载电控系统升级方法
JP6147790B2 (ja) プログラム書換装置及びプログラム書換方法
CN117806733A (zh) 一种基于域控制器的汽车软件自修复系统及方法
CN113672254A (zh) 车辆ota升级方法、装置、存储介质和无人驾驶设备
CN115503626A (zh) 车辆的控制系统、方法、电子设备及存储介质
CN114895947A (zh) 车载控制器的软件升级方法、装置、设备和存储介质
JP3296043B2 (ja) 車両用電子制御装置
JP5034866B2 (ja) 車載制御装置
CN116088485B (zh) 车辆故障数据采集系统、方法及车辆
CN114840241A (zh) 一种数据处理方法以及相关设备
CN116909609B (zh) 车载智能设备的软件升级方法、装置及车载智能设备
CN115277413B (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