0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文搞懂智能驾驶整车软件升级方案

智能汽车电子与软件 来源:焉知智能汽车 作者:Jessie 2022-12-20 15:16 次阅读

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

01 软件升级触及的两大领域-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分别如何在智能驾驶升级中进行有效定义。

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

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

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

c33b9e82-8016-11ed-8abf-dac502259ad0.png

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

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

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

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

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

c355314e-8016-11ed-8abf-dac502259ad0.png

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

1)升级前置条件判断:

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

2)下载升级包:

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

基于CAN协议的软件刷写

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

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

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

c37785be-8016-11ed-8abf-dac502259ad0.png

基于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 升级失败导致回滚。

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

c3a3ac98-8016-11ed-8abf-dac502259ad0.png

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

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

04 总结

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

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16064

    浏览量

    176918
  • OTA
    OTA
    +关注

    关注

    7

    文章

    563

    浏览量

    35089
  • 智能驾驶
    +关注

    关注

    3

    文章

    2397

    浏览量

    48587

原文标题:一文搞懂智能驾驶整车软件升级方案

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    为未来移动出行升级整车电网

    随着当前汽车行业的巨大变革(如即将到来的软件定义汽车等趋势),推进汽车技术基础设施的需求变得日益重要。新型可靠且安全的电源解决方案是实现更高级别自动驾驶、引入新的技术平台(例如底盘线控系统)以及应对
    的头像 发表于 09-18 16:32 400次阅读
    为未来移动出行<b class='flag-5'>升级</b>下<b class='flag-5'>一</b>代<b class='flag-5'>整车</b>电网

    百度言APP升级小言

    百度宣布其文心言APP正式升级小言,标志着百度在智能搜索领域迈出了重要步。小言作为百度
    的头像 发表于 09-04 16:06 317次阅读

    电动卡丁车语音芯片方案选型:让驾驶体验更智能、更安全

    在追求速度与激情的电动卡丁车领域,每升级都意味着更加极致的驾驶体验。而今天,我们要介绍的,正是款能够显著提升电动卡丁车智能化与安全性的
    的头像 发表于 07-08 09:36 207次阅读

    广汽丰田携手Momenta推出端到端全场景智能驾驶方案

    在近日举行的广汽丰田科技开放日上,场引领未来的智能驾驶技术盛宴吸引了全球目光。广汽丰田携手国内领先的自动驾驶解决方案提供商Momenta,
    的头像 发表于 06-29 17:36 1603次阅读

    高级别智能驾驶神级利器:自研OTA系统

    精地图等专业模块,组成了套完整的智慧港口解决方案。OTA(OverTheAir)软件升级系统旨在为无人驾驶车辆提供控制器
    的头像 发表于 06-21 08:00 1289次阅读
    高级别<b class='flag-5'>智能</b><b class='flag-5'>驾驶</b>神级利器:自研OTA系统

    稳定远程连接,贝锐向日葵赋能自动驾驶远程研发调试

    家乘用车高级辅助驾驶(ADAS)和高阶自动驾驶(AD)解决方案供应商,该企业整合了软件、算法和硬件,致力于为
    的头像 发表于 06-03 17:16 340次阅读
    稳定远程连接,贝锐向日葵赋能自动<b class='flag-5'>驾驶</b>远程研发调试

    同星智能荣获沙利认证“中国市场汽车软件工具链客户覆盖度第

    2024年4月,同星智能获得由全球增长咨询公司弗若斯特沙利(Frost&Sullivan,简称“沙利”)授予的“中国市场汽车软件工具链客户覆盖度第
    的头像 发表于 05-18 08:21 335次阅读
    同星<b class='flag-5'>智能</b>荣获沙利<b class='flag-5'>文</b>认证“中国市场汽车<b class='flag-5'>软件</b>工具链客户覆盖度第<b class='flag-5'>一</b>”

    地平线发布新代Horizon SuperDrive™全场景智能驾驶解决方案

    4月24日,地平线举办“征程所向,向高而行”——2024智驾科技产品发布会。立足于智能驾驶时代,地平线凭借对软硬结合全栈技术理念的前瞻预判和深厚积累,重磅发布新代车载智能计算
    的头像 发表于 04-25 09:17 1396次阅读
    地平线发布新<b class='flag-5'>一</b>代Horizon SuperDrive™全场景<b class='flag-5'>智能</b><b class='flag-5'>驾驶</b>解决<b class='flag-5'>方案</b>

    毫末智行与高通宣布采用Snapdragon Ride平台打造智能驾驶解决方案

    面向先进驾驶辅助系统和自动驾驶功能的智能驾驶解决方案基于毫末智行业界领先的ADAS及自动驾驶技术
    的头像 发表于 04-24 09:35 489次阅读
    毫末智行与高通宣布采用Snapdragon Ride平台打造<b class='flag-5'>智能</b><b class='flag-5'>驾驶</b>解决<b class='flag-5'>方案</b>

    2025量产L4 RoboTaxi,滴滴自动驾驶再进

    的面向出行服务的L4自动驾驶技术方案,合作打造L4无人驾驶量产车,实现自动驾驶领先技术与新能源整车制造成熟经验的深度融合。   滴滴自动
    的头像 发表于 04-18 00:12 4217次阅读

    长城汽车携手软件测评中心打造整车全链路智能化的深度测试模式

    近日,长城汽车和中汽研软件测评(天津)有限公司(以下简称“软件测评中心”)宣布,将联手打造整车全链路智能化的深度测试模式。
    的头像 发表于 03-25 10:55 733次阅读

    远知行与联想车计算共同推出L4级别自动驾驶解决方案

    远知行与联想车计算共同推出的L4级别自动驾驶解决方案项具有里程碑意义的合作。此次合作不仅将双方的先进技术进行了深度整合,更在自动驾驶
    的头像 发表于 03-20 10:15 465次阅读

    详解整车网络管理指南

    整车处于休眠状态,即所有的控制器都睡觉了,在整车某个休眠唤醒场景下,制动踏板行程传感器BPS感知到变化了,从而唤醒的硬线信号有了变化,被IEB检测到了,那么处于休眠的IEB将被唤醒,对应着图中1区域,这里IEB称为主动唤醒节点。
    发表于 01-22 11:40 1412次阅读
    <b class='flag-5'>一</b><b class='flag-5'>文</b>详解<b class='flag-5'>整车</b>网络管理指南

    你还是分不清多进程和多线程吗?搞懂

    你还是分不清多进程和多线程吗?搞懂! 多进程和多线程是并发编程中常见的两个概念,它们都可以用于提高程序的性能和效率。但是它们的实现方式和使用场景略有不同。 1. 多进程: 多进程指的是在操作系统
    的头像 发表于 12-19 16:07 510次阅读

    华为小鹏互怼?谁没搞懂智能驾驶?何小鹏喊话“不知道他急什么”?

    目前行业厂商在智能驾驶方案方面的竞争正加速升级;各路智能驾驶解决发
    的头像 发表于 11-05 17:11 795次阅读