智能驾驶系统与软件升级的关联设计方案

汽车ECU开发 2022-10-21 08:28

由于智能汽车集中化趋势,导致在网络连接上已经由传统的低带宽Can网络升级转换到高带宽以太网网络为主的升级过程。为了提升车辆升级能力,基于为车主提供持续且优质的体验和服务,需要在现有系统基础(由原始只对车机上传统的 ECU 进行升级,转换到实现以太网增量升级的过程)之上开发一套可兼容现有 OTA 系统的全新 OTA 服务系统,实现对整车软件、固件、服务的 OTA 升级能力,从而最终提升用户的使用体验和服务体验。



1.软件升级触及的两大领域-FOTA/SOTA


整车软件升级是通过OTA技术,是对车载娱乐、导航、人机互动等应用软件及转向、制动、车身控制等固件进行升级。整车OTA升级包是由升级对象中可升级ECU的升级包组合而成。对于整车OTA类型,主要分为两类,FOTA(Firmware-over-the-air)和SOTA(Software-over-the-air),两者均为主机厂重点关注及逐步落地的领域,可适应不同场景的OTA需求。


FOTA(又称为移动终端空中下载软件升级技术),通过给车辆控制器下载安装完整的固件镜像,来实现系统功能完整的升级更新。FOTA涉及控制器相关策略核心功能的一个完整的系统性更新,对整车性能影响较大,升级过程对时序、稳定性、安全性要求极高,同时升级前置条件包括挡位、电量、车速等要求,升级过程一般不支持点火用车。


FOTA通过给车辆控制器下载安装完整的固件镜像,来实现系统功能完整的升级更新。例如升级车辆的智驾系统,让驾驶员享受越来越多的辅助驾驶功能;升级车辆的座舱系统,提高驾驶员疲劳检测的准确率;升级车辆的制动系统,提升车辆的制动性能。


SOTA实际可看成一种软件可售策略的核心需求,他是通过给车辆控制器安装“增量包”,来实现控制器功能的一个“增量”更新,一般应用于娱乐系统和智驾系统。例如更换多媒体系统操作界面,优化仪表盘显示风格,更新娱乐主机里的地图程序时,用到的都是SOTA升级方式。SOTA涉及控制器应用层一个小范围的功能局部更新,对整车性能影响较小,升级前置条件要求较低。SOTA的增量更新策略,可以大幅减小升级包文件大小、从而节约网络流量和存储空间。


这里我们举例说明FOTA和SOTA分别如何在智能驾驶升级中进行有效定义。


例如升级智能驾驶汽车系统,为了让驾驶员享受越来越多的辅助驾驶功能;通常根据功能开发难度、时间长度来确定对阶段性功能的不断更新迭代(包含从低级别功能向高级别功能进阶的软件更迭)。同时,过程中需要升级车辆的座舱系统,提高驾驶员疲劳检测的准确率;升级智能驾驶车辆的关联子系统(如制动、转向系统等模块),提升车辆的制动性能。



2.智驾系统中的软件升级架构


对于整个OTA升级而言,从下至上主要包括如下三方面:升级对象、OTA管理器、OTA云服务平台。自动驾驶域控制器与座舱域控制器通过以太网连接,升级协议一般为常用的DoIP,除开域控本身外,升级过程还包括高精定位模块升级,传感器升级。对于由以太网连接的摄像头而言,其升级过程主要是通过主域控端所搭载的整个集成程序进行升级。也就是说对于纯摄像头传感器而言,没有单独的程序升级过程。对于由CANFD搭载的毫米波/超声波雷达而言,由于是自带控制器的,其升级过程主要是通过CANFD连接控制器,域控通过CANFD接入公CAN,由座舱域负责刷写CANFD域控制器转发报文到各雷达控制器上。



如上图所示,OTA云服务平台主要对OTA升级包进行管理与下发,并完成升级任务的配置、调度及跟踪。OTA管理器主要完成升级包的下载、解密、验签、差分包重构等功能,最终将升级包发送至对应的升级对象。升级对象是由一个或多个ECU构成,升级对象接收到升级包后,将对应的ECU升级包发送至对应的ECU,ECU完成升级包的刷写。


3.智驾系统中的升级过程原理


目前的升级方式主要是静默升级。即包含常态化模式下的有感升级和非常态模式下的无感升级。常态模式实际就是在工厂模式下,多媒体接收升级命令后,在满足升级条件的情况下下载升级包,进行车辆的自动化升级。升级过程中,如收到解闭锁/开车门/按下启动按钮/云服务解锁信号后,车辆显示屏不显示 OTA 升级,常规升级过程中车辆处于静默状态。


非工厂模式下做无感升级,在用户不感知的情况下进行升级作为一保留方案。由于受国家相关法律的限制,这种方案的实现需要智能驾驶所有模块满足两面分区升级策略。这里的两面区分指的是A/B双面升级过程。即针对域控中的SOC开辟A/B两个存储空间,每个存储空间上均安装有一个系统,其中一个系统处于激活使用状态时,另一个系统就会处于待命备用状态。在进行系统升级时,可在激活的系统中对备用系统进行升级,升级完成后重启切换成新升级的系统。由此,在智驾域控的SOC中的升级过程可描述为当运行区为 A 区,则升级 B 区,升级完成后,从 B 区重启,启动后,择时将 B 区同步到 A 区。且当 SOC 升级失败的时候,不允许使用使能驾驶。


此外,对于域控中的MCU刷写而言,最好采用双APP机制。即MCU采用bootloader单区+app双区部署方式,bootloader一般没有升级需求。因此,对MCU的升级过程只需要对双区部署的APP进行即可。



整个升级过程中,需要完成如下升级过程中的任务:


1)升级前置条件判断:


通过以太网、CAN 等车内网络获取车辆当前状态检查,根据项目实际需求定制包含但不限于蓄电池电量、发动机转速、车辆速度、车辆档位、手刹状态、座椅传感器状态、门状态、锁状态等。座舱域控制器在升级开始前,需要针对升级车辆进行状态检查后继续后续动作。其当前状态的检查项目包括:模块剩余内部存储空间、模块硬件版本、模块固件版本、模块软件版本。通常情况下,升级过程中需要判断是否满足车辆是否静止,档位是否为P档,域控制器的SOC电量是否大于一定阈值条件。在适当的情况下,由中控界面/电检电脑显示屏上弹出预约升级或立即升级指示。有两种情况会触发升级:上下电自检与用户主动触发。升级条件触发,触发成功进入下一步,否则退出本次升级流程。


2)下载升级包:


在云端升级策略和升级包下发过程中,云端需要检测版本号是否更新,OTA升级服务器下发升级策略包到座舱域控制器,此过程中用户不会感知。座舱域控制器支持常规的刷写升级方式,DoIP 和 CAN烧写。


基于CAN协议的软件刷写


CAN 烧写过程实际是一种根据规范(规范主要是根据 ISO 14229 )进行编程的过程。编程过程中需要指定参照如下几种类型的不同步骤进行有效的寻址及服务访问:


标准步骤作为一种强制性的步骤,要求无论任何情况下客户端和服务器都应按照规定行事。推荐步骤是可选的,他需要使用特定的诊断服务标识符,并包含有关如何执行操作的建议。这种可选的方案仅要求在使用指定的功能的情况下,客户端和服务器应按照规定行事。OEM实施步骤:其使用和内容(例如,使用的诊断服务标识符)由车辆制造商自行决定,当然也可作为另一种可选的步骤。


CAN软件刷写主要分三个阶段:预编程阶段,编程阶段,结束阶段。相应的各阶段需要进行的业务流程如下图所示:


基于DoIP协议的软件刷写详解


DoIP(Diagnostic communication over Internet Protocol)作为基于车载以太网的诊断,主要存在于OSI 七层模型中的传输层,DoIP是在以太网网络上传输UDS诊断数据的传输协议。DoIP具有高带宽,适合传输大量数据的场景,这就非常适合作为车上更新的OTA软件升级。相较于CAN,DoIP主要是在物理层和传输层对数据的传输进行了优化并提升了速度。在应用层和诊断服务环节,CAN与DoIP的实现均基于14229协议。ODX数据库部分,除需增加DoIP协议通讯参数和相关控制器外,一般情况下,不需要进行额外调整,这大大节省了诊断数据开发时间与成本。


对于DoIP的文件刷写主要包括无文件系统控制器的DoIP刷写和有文件系统控制器的DoIP刷写。针对无文件系统控制器的刷写,其总方案类似于 CAN 节点刷写方案。多媒体主机按地址传输,控制器按地址写入方式。对于有文件系统的控制器,多媒体主机只需要将升级包传到控制器(当然过程中需要能支持断点续传),并没有其他的要求。


目前常用的DoIP诊断连接方式分为两种:其一,是以太网线缆直连形式:在整车情况下,制作OBD-Ethernet线缆直连;其二,是兼容CAN/CAN FD通讯,并满足生产和售后需求,通过使用诊断VCI集成以太网激活功能,实现DoIP通讯。数据库创建完成后,使用相关诊断工具,即可实现车辆刷写过程。


座舱域控收到服务器下发的整车工厂模式自动化升级指令后,在满足升级条件的情况下请求服务器自动下载升级包,并对车辆进行自动化升级,支持断点续传,完整性校验,存储空间管理等功能。


3)智驾域控制器升级状态反馈:


智驾域控制器上报域控制器信息到座舱域控制器完成升级前置条件判断,条件满足时方可进入 OTA 升级,升级这类信息需要上传到OTA服务器。这类信息包括域控制器各个模块的软/硬件版本号、序列号(SN) 、定位信息(GPS)等。


4)执行升级任务:


座舱域控制器将根据服务器下发的升级包,升级策略等信息,进行 OTA 升级。如果同时需要进行多 ECU 联合升级刷写时,需要根据下发的升级任务序列,按照升级顺序与对应控制器发送点对点升级交互信息,即可完成对应的升级任务。


5)断点接续升级:


断点接续升级是指基于状态机的管理,在升级过程中,对当前升级的文件或块设备进行备份存储。如果在升级过程中出现中断,断电,或其它干扰,导致正在升级的文件被破坏,那么,控制器会记录当前升级状态,后续在下次重启程序时,控制器会执行一定的校验算法(如hash 校验)评估该文件是否已经遭到破坏,如果程序完好,则会直接按照未被标记升级过的程序进行顺序升级。如果文件已损坏,则会用备份的存储来恢复升级。


对于整个升级过程一般要求刷写失败后有数次重试机会。且有关联模块依赖时,对于已升级的关联模块需要全部回滚。


6)联动升级管理:


针对功能相关联的 ECU(比如前毫米波雷达升级可看成同性质下的联动升级),后台可以设定联动升级,也可以针对关联 ECU 设置升级顺序。升级过程为当座舱域控制器自后台取得升级任务后,会检测升级指令中是否有联动升级要求,如果有便会依照顺序进行逐一升级并关联 ECU。


座舱域控制器在整个升级过程中会管理并不间断派发升级包,监控整个升级过程直到所有 ECU完成升级,再统一上报后台升级结果。当检测到有任一ECU升级失败需要进行回滚时,控制器会联动所有关联 ECU 同步进行版本回滚。同时,座舱域控制器会有效上报因为哪一个 ECU 升级失败导致回滚。


相应的软件升级时序图如下:



基于如上说明,整车各模块升级可概括为:由 OTA 服务器下发升级策略文件决定升级顺序,在服务器上配置升级时生成策略文件,座舱域控根据策略文件制定各 ECU 升级方案和顺序。智能驾驶相关模块的升级顺序则按照如下优先级顺序进行先后升级控制:CAN 模块—>DoIP 无文件系统模块—>DoIP 有文件系统。


相较于CAN,DoIP主要是在物理层和传输层对数据的传输进行了优化并提升了速度。在应用层和诊断服务环节,CAN与DoIP的实现均基于14229协议。



4.总结


对于智能驾驶系统而言,软件升级已作为不可或缺的一部分。在为客户提供实时在线升级功能的同时,域控制器需要满足云端安全通信,包括协议通信链接管理,升级指令接收和升级状态发送,升级包下载、升级包解密、差分包重构、对升级包进行合法性验证,还包括密钥证书管理服务,数据加密服务,数字签名服务等功能。可以说,智驾级别的软件升级是引领起其不断发展的源源动力。


推荐阅读

国内主机整车EEA架构汇总

谈谈整车控制器对油门信号处理的理解

浅谈电机控制器及其功能

谈谈电池管理系统的功能

谈谈整车控制器的功能

谈谈整车OTA系统的理解

五千字说清汽车基础软件及国产现状

带不带功能安全(IS26262)的区别,功能安全要做啥?

谈谈simulink自动代码生成

浅谈电机控制器及其功能

谈谈Bootloader自更新

电子电气架构设计需要考虑哪些方面?

汽车E/E架构的网络安全分析

深度解读汽车域控制器

自动驾驶域控制器信息梳理

深度分析整车控制域现状与发展

分享不易,恳请点个【👍】和【在看】

汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 150浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 73浏览
  • 本文介绍瑞芯微开发板/主板Android配置APK默认开启性能模式方法,开启性能模式后,APK的CPU使用优先级会有所提高。触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。源码修改修改源码根目录下文件device/rockchip/rk3562/package_performance.xml并添加以下内容,注意"+"号为添加内容,"com.tencent.mm"为AP
    Industio_触觉智能 2025-01-17 14:09 164浏览
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 112浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 41浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 186浏览
  • Ubuntu20.04默认情况下为root账号自动登录,本文介绍如何取消root账号自动登录,改为通过输入账号密码登录,使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!添加新账号1、使用adduser命令来添加新用户,用户名以industio为例,系统会提示设置密码以及其他信息,您可以根据需要填写或跳过,命令如下:root@id
    Industio_触觉智能 2025-01-17 14:14 122浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 399浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 101浏览
  •  光伏及击穿,都可视之为 复合的逆过程,但是,复合、光伏与击穿,不单是进程的方向相反,偏置状态也不一样,复合的工况,是正偏,光伏是零偏,击穿与漂移则是反偏,光伏的能源是外来的,而击穿消耗的是结区自身和电源的能量,漂移的载流子是 客席载流子,须借外延层才能引入,客席载流子 不受反偏PN结的空乏区阻碍,能漂不能漂,只取决于反偏PN结是否处于外延层的「射程」范围,而穿通的成因,则是因耗尽层的过度扩张,致使跟 端子、外延层或其他空乏区 碰触,当耗尽层融通,耐压 (反向阻断能力) 即告彻底丧失,
    MrCU204 2025-01-17 11:30 182浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 53浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦