编辑推荐: |
本文主要讲解了FOTA和SOTA的区别、OTA升级的意义、OTA升级流程、OTA短期体验问题及OTA长期体验问题。
本文来自于微信公众号 汽车电子与软件,由火龙果软件Linda编辑、推荐。 |
|
汽车OTA(Over-the-Air Technology,空中下载技术),简单讲就和手机的软件更新或者系统升级是一个东西。比如IOS12升级等。核心是这个图,画的潦草了一些,这里面橙色画的都是OTA的部分,更新的一般是核心服务(固件)和软件两种。
汽车OTA与手机OTA虽然两者有相似的地方,但汽车的OTA升级难度远大于手机OTA,原因有两个
浅层的说,车是安全产品,对安全的要求较高。2000年以前并没有汽车的OTA,到2015年OTA技术才逐步实现了大部分软件的更新.
深层次且更重要的是,在没有在整车电气架构上体现软件定义汽车所需要的集中化,OTA是天方夜谭,因此OTA同样是互联网思维的一种渗透和体现。很多传统主机厂也能够对软件进行升级,只不过不能通过远程来完成,主要就是架构的受限。但要推翻现有可靠性极高、平台化极高、安全性极强的架构,让很多传统主机厂为难。
1 FOTA和SOTA的区别
刚才说一般两种固件和应用更新。在汽车OTA里面。固件升级叫FOTA(Firmware-Over-The-Air,固件在线升级)软件升级叫SOTA(Software-Over-The-Air,软件在线升级)。
FOTA,指的是给车辆下载完整的固件镜像(核心服务)可能影响所有应用程序(手机会变成砖头),影响较大
SOTA,只仅发送需要更改的部分应用软件,只对小范围的功能有影响。(下载一个知乎应用)。
SOTA对整车的要求较低,一般你一个稍微高级点的ECU接一个4G网卡就可以实现简单的应用升级,由于影响范围有限,且大多是娱乐系统,单独并不大。但FOTA的实现(一般需要进行固件更新的都是高阶复杂的域控制器)往往涉及整车重要的控制器,包括车身、动力和自动驾驶系统,整车要求较高。
2 OTA升级的意义
对客户而言,升级会本质上的提升其用户体验,区别就如同,老师大哥大和智能手机的差别。汽车功能的迭代会带来惊喜感。
对车企的整车销售来说,玩法更多。可以和手机和互联网产品一样,精简产品线,通过解锁方式进行释放,用更新方式进行增加。就如我这个回答(纯属搞笑)
对车企的质量保障来说,原来复杂的召回过程,现在都变得简单,特斯拉在收到各种抱怨后,对车辆的控制器策略做过多轮调整
对车企的整车研发来说可以缓解流程压力。整车的开阀锁定制度决定了G6到G5阀的阶段需要完成所有软件研发,但这对于自动驾驶,智能座舱这种软件来说都是不够的,有时由于研发周期过长,还有完成及过时的问题。OTA升级可以帮助整车在不影响发布的情况下,延迟1-2年的研发时间
3 OTA升级流程
OTA一般分为三步:第一步,生成更新包;第二步,传输更新包;第三步,安装更新。
云端生产更新包
OTA云端的框架结构主要包括五部分:OTA管理平台、OTA升级服务、任务调度、文件服务、任务管理。待升级的软件包一般由设备软件供应商提供,给到OTA服务营运方。软件包包括要更新的内容,全量还是分量,一个车型,一个批次,还是一个特定群体等,这些包被放在OTA云端服务器上开始交互。
管端传输更新包
通过4G/5G网络建立车辆与服务器之间的安全连接,确保全新的、待更新的固件安全地传输到车辆的TelematicsUnit(也叫TBOX),上面运行着OTA升级管理程序(OTAManager)和升级代理程序(Update
Agent)。
车端安装更新包
更新软件到执行的各个ECU,主要由上述两个软件完成。
OTA Manager(左边的锁)是整个更新的核心,它负责连接车辆与OTA云平台的管理程序,管理车辆所有ECU的更新过程,
它控制着将固件更新分发到ECU,并告知ECU何时执行更新-在多个ECUs需要同时更新的情况下尤为重要。OTA升级任务下发到车辆后,升级管理程序OTA
Manager也必须判断车辆条件是否符合。对于不符合条件的车辆,升级管理程序必须中止升级任务并上报给云平台,合适的安全完成后,也要上报云端。OTA升级还需要能够灵活定义升级的具体范围,升级时机,升级内容,提示事项,失败后给用户的失败处理提示,提升大规模升级中的运营效率和运营体验。
另外,它实现了端云的安全通信,包括协议通信链接管理,升级指令接收和升级状态发送,升级包下载、升级包解密、差分包重构、对升级包进行合法性验证,还包括密钥证书管理服务,数据加密服务,数字签名服务等功能。
Update Agent(右边的锁)是为了兼容不同的车内通信网络和通信协议(包括CAN,以太网),以及不同OEM间各品牌车型的接口差异,进行封装适配的部分。应对不同的安全等级的域控制器(动力系统域、车身系统域、智能座舱域、自动驾驶域)的多个ECU,不同ECU有不同版本的软件。升级先后次序,依赖关系也各不想同。升级代理提供了统一接口,由OTA厂商负责实现接口,完成接口和业务逻辑的适配。
从营运角度出发,一般会区分静默升级(库存车升级)和非静默升级(客户车升级)。非静默升级其中又分为普通升级和紧急升级,紧急升级一般是用于特别重要安全补丁的推送升级,车主知情但是无法拒绝。
客户导向的OTA设计原则
整个OTA过程大家可看到影响用户短期体验的是“管”(左侧的锁)(升级包下载中。。),“端”(右侧的锁)(升级包安装中。。)两个环节。下载的核心侧重是安全(不被篡改,损坏),安装的核心侧重是鲁棒(确保安装成功),两者都决定了速度(下载速度+刷鞋速度)。
整个OTA过程大家可看到影响用户长期体验的是“云”,包括丰富而定制化的数据包,无感的升级体验,过程的惊喜感。
我们分别看下这些内容的具体细节
4 OTA短期体验问题
OTA升级的安全考量
怎样保证升级文件被安全下载到车辆?升级文件如何能不被恶意替换掉?如何确保升级文件来自于车企自己的云端?从升级包制作,发布,下载,分发,刷写等环节,OTA需要从云,网络,车端来保证安全。
下载过程要安全,软件更新内容不仅需要认证,还需要加密,以保证数据在传输过程中不被仿冒和窃取。这就需要将标识密钥技术运用到OTA运行过程中。搭载标识密钥技术的车辆,在进行软件升级时,能够实现云端服务器、车端之间的身份认证,并对车和云之间的通讯数据进行加密,使数据能够以密态形式分发到车端,防止在通讯过程中数据被挟持和篡改,提高了
OTA 更新的安全性。
刷写过程要安全,硬件上需要专门的安全芯片进行校验、解码,一旦检测到安全芯片中的数据存在安全风险,数据会自动销毁。另外通过汽车功能域隔离,划分不同ASIL等级,通过冗余设计保证整车的功能可靠性,通过安全启动来保证可信的软件在ECU上加载启动运行,另外采用并行独立的OTA路径。
OTA过程的鲁棒性考量
在OTA传输过程中,外界干扰或者其他因素导致刷写异常或者中断,车载ECU必须支持软件回滚、断点续传、丢失重传等处理机制。另外还要处理刷写过程断电,刷写失败,刷鞋后不兼容等情况。
整个刷写过程,一般都会是“一备份,一运行”的模式,一部分用于存储当前运行的程序,一部分用于存储备份程序。如果升级过程中发生错误,ECU内部自动回滚至上一版程序,防止车辆变砖头。自动驾驶软件类似,是“一运行,一后台运行”用来比较和测试相关功能,确认功能满足预期后,将后台软件替换至前台软件。
OTA升级的速度考量
速度主要由下载和刷写速度共同决定
下载速度没啥可说的,4G/5G网络下载,减小包大小,采用静默预下载等逻辑,提升速度
刷写过程特别涉及动力域传统ECU的刷写,是通过CAN网络进行安装包分发的。由于CAN传输速率很低,且CAN总线负载率要控制在30%以内,因此在带宽允许的情况下,尽可能采取采用并行刷写模式,选取刷写时间最长的节点优先处理等设计原则减少OTA升级时长。
5 OTA长期体验问题
OTA的包制作,升级管理,都是一个间歇性而长期的,OTA云平台包括升级模型管理,升级包管理,升级任务,升级策略以及日志管理
升级模型是用于定义设备模型基本信息和能力支持情况。升级模型一般能够体现一个车型下各个零部件ECU的依赖关系,例如多个零部件ECU直接软件包配套关系和升级顺序控制,对于升级任务在设备侧的准确完整执行非常重要。此外,升级模型还包含了升级规则的定义。升级规则可以用于描述升级流程中,用于允许升级能否继续进行的判定条件。在整车升级中,一般包括了一款车型在升级下载前,下载中,安装前,和安装中的判定规则配置。
升级包是在升级任务中,用于真正下载和安装部署的文件。常见的升级包制作处理包括文件压缩合并,生成特定的文件描述信息,文件签名和加密处理。许多设备闪存较小,升级包要能完成安装,需要尽可能地压缩大小。OTA平台在升级包制作中提供了差分生成的离线和在线工具。升级差分包之前,通过比较新旧版本之间的差异,生成差异文件。差分更新的核心技术是各家OTA供应商掌握的字节差分算法。
升级任务是OTA平台用于执行和监控一组设备的升级活动的集合。升级任务可针对特定范围的设备,使用相应的升级包和升级策略,进行升级任务创建,下发,监控,状态维护等整组活动的管理。升级任务的监控功能,提供了对一组升级活动中,升级任务状态,进度和结果的反馈。按照升级任务状态的状态,主要包含了成功,失败,升级中等设备的数量和各个状态下的比例。升级任务的控制功能,提供了对一组升级活动中,升级任务的启动,停止,暂停,恢复,重启,撤销等操作能力,实际上是维护了任务状态机的状态变迁干预能力。
升级策略是升级活动中的用于描述任务特征和目标设备升级行为的配置。升级主要会涉及到下载和安装两个阶段,升级策略中,一般会包含升级包下载策略和升级包安装的策略,以及异常情况下的处理策略。例如,在整车升级中,升级策略包括静默升级,常规升级和紧急升级的分类,也包括了升级包下载前,是否需要通知给用户下载确认的配置。
升级日志包括云平台的日志,车端与云平台通信产生的日志和车端升级程序搜集上来的日志。主要用于升级失败后的分析和支撑升级运维运营管理。
6 总结
云管端三个点,制作传输安全三个过程,首要安全,次要灵活,最后要速度。满足大家对功能迭代速度的诉求。这就是OTA。下一讲我们说说OTA行业解决供应商情况,以及蔚来、理想、特斯拉等热门车型的OTA架构升级情况。
|