登录 | 注册 退出 投稿

浅谈 FOTA :通过固件方式升级汽车 ECU

牛小喀 2022-08-08

内容提要:OTA是一个工具,FOTA是使用OTA这个工具去做具体一件事。相对来说FOTA定义范围较小,OTA的定义相对宽泛。FOTA是OTA技术的一种。


OTA 是Over the Air的缩写,顾名思义通过空中方式升级,所谓“空中”指的是远程无线方式,OTA可以理解为一种远程无线升级技术。

FOTA 是 Firmware Over the Air 的缩写,即固件空中升级,最常见的就是手机固件的升级。

固件的定义范围比较模糊,windows操作系统升级、手机升级、嵌入式系统、单片机控制程序等都的远程升级可以笼统地称为FOTA。没有特别说明的情况下,FOTA可以认为是一切远程升级的统称。可以理解为:OTA是一个工具,FOTA是使用OTA这个工具去做具体一件事。相对来说FOTA定义范围较小,OTA的定义相对宽泛。FOTA是OTA技术的一种。

如今,运营商和无线终端制造商将FOTA视为避免设备召回、减少客服电话和降低运作执行成本的宝贵能力。FOTA为运营商提供了一种能力,既能及时将最新款的无线终端设备推向市场,同时又能避免设备召回、品牌受损和消费者个人数据的丢失。FOTA技术现在正在应用于汽车行业,本文介绍了汽车行业现有的更新方法、其优缺点以及在汽车中使用 FOTA 的好处。


1、汽车嵌入式软件升级方法

汽车上大部分的控制模块之间,大部分是通过某种形式的车辆网络接口相互连接,比如CAN、LIN、MOST 或 FlexRay。 但是,只有一小部分控制模块可以访问外部蜂窝或 Wi-Fi 网络,通常是信息娱乐主机或远程信息处理模块。这些能够与外部连接的控制模块,我们可以把它们作为“更新网关”。而那些不能够与外部连接的控制模块,也可以通过“更新网关”接收固件更新,然后通过车辆内部网络传输到需要更新的模块。通过这种方式,在任何情况下,车辆的每个控制模块都可以完成更新。

如今,有几个用于更新汽车软件的用例:
△召回(强制或自愿)

定期维护
客户投诉
提供新功能和应用程序


其中,召回是最常见的,也是成本最高,并且最流程上最繁琐的。

当汽车需要召回时,一般是 OEM 发现车辆的功能存在问题,该问题可以通过更改车辆 ECU 之一中的软件来修复受影响的功能。于是,OEM 要求相应的 ECU 供应商提供新版本。供应商将软件版本发送给 OEM,由 OEM 对其进行质量保证 (QA) 测试。

OEM 在确保新的软件版本可以修复车辆功能问题后,通知经销商和车主召回。OEM 也会将新软件版本以 CD 形式发送给经销商。经销商使用 CD 中的内容更新重新编程(串行通信)工具。

车主在收到通知后,到经销商店铺下车并登记。在收到车辆后,技术人员开始修复功能问题。首先,将串行通信工具连接到车载总线以访问目标 ECU。然后,开始目标 ECU 的更新过程。最后,检查目标 ECU 的新软件版本,以确保正确重新刷写。那么,这个更新持续的时间有多久呢?这就要看控制模块的大小,以及串行协议的速度了。

修复完成后,客户取回车辆,经销商向 OEM 收取召回人工费用。

由于大量的管理费用,经销商会向 OEM 收取 1-2 小时的人工费。有些车型的更新时间可能超过 2 小时。此外,刷写工具的价格比较昂贵,因此同时重新刷写的次数也是有限制的。

那么,上述这种重新编程升级软件的方式,到底是好还是坏呢?

局限性和约束性:

  • 消耗时间和资源。每个更新版本都要发送给各经销商,所有经销商都需要维护一个软件版本库。此外,还可能导致无法将最新的软件安装到车辆上,存在延迟的情况。

  • 下载过程和手动设置耗时较长,导致人工成本较高、不便利和客户不满意。由于持续时间很长,消费者需要先下车,然后再回来取车——这是一个很大的问题。

  • 由于涉及物理设备连接,该过程不能扩展或并行执行。

  • 一些现有的重刷方法需要顺序更新,即从版本1 到2 到3,这会使整个更新过程更长。

  • 有时(对于非公路车辆),需要将重新刷写设备移动到车辆上。

  • 从通知客户到实际更新车辆可能需要很长时间。许多客户对召回通知没有反馈。对于较旧的车辆,OEM 可能没有最新的车主信息,这意味着某些车辆永远不会收到所需的更新。能否成功召回取决于客户的合作。

  • ECU 的重新刷写是手动执行的。

  • 整体客户满意度下降。 

虽然这种召回车辆重新刷写升级软件的方式有局限性和约束性,但也有一些优点:

  • 目前最广泛采用的解决方案:FOTA虽然正在普及,但距离成为汽车行业广泛采用的解决方案,还需要几年的时间。

  • 环境受控:重新刷写是在受控环境中进行的。

  • 可监督:重新刷写时,车辆没有移动,并且有技术人员监督刷写过程,一定程度上降低发生错误的概率。

  • 大量经验证明有效:这种方法是经过验证的,并且在过去一直有效。

  • 及时:当出现问题时,技术人员都可以及时发现。

  • 安全:在用于重新刷写的车辆上,它的有线串行通信协议和算法在本质上是专有的和闭源的。因此,协议针对未经授权的软件更改提供了额外的安全层。

图3.1.png

2、固件无线更新技术(FOTA)

FOTA 更新过程主要分三个阶段,和“大象放进冰箱”一样简单易懂。第一步,生成更新包。第二步,传输更新包。第三步,安装更新。

图3.2.png

图1:典型的 FOTA 解决方案高层架构

2.1 生成更新包

生成可修复缺陷或补充新功能的软件更新包是执行FOTA 更新的前提。通常,软件所有者,也就是一级供应商负责生成此更新包。然而为了尽可能压缩空间占比(一般小于原大小的5%),更新包只包含了ECU中现存版本与部署到车辆新版本之间的变化(也称为“增量”)。

2.2 管理更新包的传输

生成后,将通过远程信息处理或无线 (OTA) 诊断系统把更新包发布到分销平台中。在移动行业中,这类平台由手机商或是网络运营商管理;而在汽车领域,该平台由 OEM 管理,包括各种版本更新包的处理,以及将更新包传输(下载)到相应的车型和特定的 ECU中。各个不同版本的更新包都对应了特定的车型和配置。

下面介绍了将集中式软件包存储库应用于 FOTA 的案例。通过这一集中存储库,省略了向各个经销商分发软件更新的环节,大大缩短了新软件版本的上市时间 (TTM)。此外,该系统还可通过不同方法将增量包发送到设备。在移动领域,市场参与者普遍采用由开放移动联盟设备管理 (OMA-DM) 组织开发的标准协议。

2.3 执行更新

在第三阶段,下载的更新包用于执行原始软件的实际更新(刷新)。更新包和执行更新所需的 FOTA 更新软件占用车辆嵌入式设备内较少的内存,解决了内存有限的问题。同时FOTA 更新软件会验证是否已收到正确的更新包以及更新过程是否已成功完成。值得一提的是,FOTA 更新无视软件版本之间的顺序,支持任意软件版本的更新。

3、经销商 FOTA 场景

当前的汽车软件更新方法(例如:召回),适用于汽车搭载的软件数量最少的情况。然而考虑到软件对汽车的运行和功能集的重要性,有必要对软件更新方法进行改进。

从节约成本和提高用户体验的角度而言,用户能够自助操作升级,而非在经销商网点执行软件升级是一种更好、更优化的方法。但是,这种方法可能会带来一些潜在的程序问题,例如需要在更新过程中确保汽车不处于驾驶状态。因此,在汽车行业全面采用 FOTA 还需要一个漫长的过程。

3.1 经销商使用 FOTA 的场景

本节介绍了 OTA 经销商的具体案例。

起初,经销商选择 FOTA ,是因为 FOTA 便于使用,因为它能够帮助 OEM 解决软件可靠性和职责问题。然而随着FOTA 更新越来越频繁,原始“经销商 FOTA”与其他更具成本效益的案例相比便失去其优势。

这些使用案例包括:

1 OEM 发现车辆功能存在问题,并且可以通过修改车辆中某个ECU软件来修复受影响的功能。

2 要求相关供应商提供新的增量版本,并发送给 OEM 。

3  OEM 通过邮件通知经销商和所有者进行车辆召回。 OEM 可以通过邮件和电子方式将新版本刻录 CD发送给经销商。

4 车主把车送至经销商店。

5 技术人员通过 FOTA 请求对指定车辆立即启动软件更新。主服务器对车辆身份进行验证并确认更新进程开始。

6 FOTA过程是无线传导(OTA)执行的;增量文件被下载和更新。更新完成后会显示完成状态(整个过程持续不到 15 分钟)。

7 检查车辆以确保正确重新刷新。

8 客户取车。

9 经销商向 OEM 收取人工费,软件操作和检查大约需要 30 分钟。


上述过程中的注意事项:

  • 由于软件由原始设备制造商集中维护,经销商无需花时间对更新进行存储和管理。

  • 可以对多辆汽车(10-50 辆)同时执行更新,因此可以忽略编程工具的限制问题。

  • 可以将车辆停在外面,无需停放在车库内。这样节省了大量时间,也提高了容纳的车辆数。此外,更新时车主可能根本不必离开经销商网点。

  • 在断电的情况下,进程从最后写入的代码块重新开始,节省了大量重新刷新已写入代码块的时间。

  • 在某些情况下,此更新可能仅涉及ECU 硬件模块的换出。

3.2 客户场景下的 FOTA

本节介绍了客户自行完成 FOTA 升级的案例。此方式不仅为客户提供了便利,而且将最大限度地节省 OEM 的成本。

这些使用案例包括:

1  OEM 发现车辆功能存在问题,并且可以通过修改车辆中某个ECU软件来修复受影响的功能。

2 要求相关供应商提供新的增量版本,并发送给原始设备制造商。

3 原始设备制造商通过邮件通知经销商和所有者进行车辆召回。原始设备制造商通过集中系统存储所有软件版本,所以无需将新版本发送给经销商。

4 车主致电经销商并请求更新 FOTA。经销商要求车主将车停驻(家中或办公室)。

5 技术人员请求立即启动指定车辆的远程软件更新 (FOTA) 过程。主服务器验证车辆身份并确认过程开始。

6 FOTA进程通过无线传导执行(下载并更新增量文件)。一旦过程完成(通常少于 15 分钟),就会显示完成状态。

7 通知车主对其车辆进行检查以确保正常运行。

8 经销商向原始设备制造商收取人工费用(软件操作和车辆检查大约需要 15 分钟)。

9 可以使用交互式语音响应 (IVR) 来执行更新过程从而节省成本。


上述过程中的注意事项:

  • 由于软件包由原始设备制造商集中维护,所以经销商无需花时间对更新进行存储。

  • 可以对多辆汽车(成百上千辆)同时执行更新,因此可以忽略编程工具的限制问题。

  • 车辆位于客户所在地,因此经销商车库停车位不构成限制条件。

  •  OEM 可以使用交互式语音响应 (IVR) 实用程序来进一步扩展更新规模并节省劳动力成本。


3.3 汽车中使用 FOTA 的动机

在汽车中使用 FOTA 有很多动机,包括:

  • 降低保修成本——召回成本将下降。节省了技术人员和客户的时间。

  • 不受位置限制——通过无线通信,车主无需亲自到经销商处便可实现软件更新。

  • 缩短修正周期——产品和软件开发都要经过严格的开发流程、测试和审查。实地重新刷新现有的 ECU 可以提高产品的质量。

  • 集中式服务器——所有更新都位于一个集中式服务器中,不会分发给成千上万的经销商,因此可以避免潜在的错误并确保安装最新的软件。此外,它还缩短了新软件更新的上市时间 (TTM)。

  • 便利——尽管经销商FOTA 模式已经实现了消费者的便利,但用户自行执行 FOTA 可以将此便利达到最优。

  • 允许强制更新——在某些情况下,无论客户是否接受(例如进行与安全相关的召回)都可以进行重新编程。

  • 提高安全性——无线软件更新的应用可降低召回车辆在故障状态下的行驶时间。

  • 技术过硬——经过电信行业超过 10 亿部移动电话和连接的应用证明,无线设备FOTA 是一种经过验证的技术。此外,汽车内强大的蜂窝服务保证了更新的覆盖和接收。

  • 无需经培训的专业技术人员来执行更新。


3.4 更新粒度和用户参与

通常,在给定的模块中可能有多种可独立更新的软件组件。例如,在现代信息娱乐系统中可能包括基本固件映像、导航系统、音乐/多媒体数据库、语音识别系统和其他可升级的软件组件。某些更新可能是强制性的,而其他更新可能是按需提供或经用户批准的。对于强制“推送”更新,安静的后台更新更受欢迎;而对于选择性更新或需要最终用户批准的更新,个性化地的方法接受度更高。

在极端情况下,用户导向的更新可能包含全新的功能和应用程序,因此应用商店需提供可用内容的清单,以便用户作出选择。可以使用相同的 FOTA 更新机制来促进此类更新。


3.5 其他执行FOTA的案例

FOTA在汽车量产中广泛用于以下三个领域:

  • 车载信息娱乐系统 (IVI)

  • 电动汽车 (EV)

  • 远程信息处理单元

汽车制造商和一级原始设备制造商出于各种原因而决定在汽车系统中实施 FOTA。对组件代码的频繁更改需要通过经过验证的新方法进行无线传导更新。此外,基于无线传输软件更新包的功能,FOTA 可以降低汽车制造商和服务提供商的蜂窝和漫游费用,从而降低成本。

4、FOTA 所面临的挑战

下列困难已经由电信行业解决,汽车行业可参考利用这些经过验证的标准和协议。

4.1 技术困难

  • 下载协议——需要一种能够安全可靠地将软件包从车辆制造商无线传输到目标车辆ECU的方法。电信 OMA-DM 标准为汽车软件更新提供了一个可行的选择。

  • 外部/蜂窝信道——至少需要一个具有无线功能的组件充当无线网关,并且必须通过内部总线或蓝牙与其他嵌入式系统连接。

  • 多个设备——车内有多个设备需要更新。如果每个设备都有一个用于更新的外部无线通道,必定会增加成本,因此可以使用上述相同的网关概念。

  • 能够支持多种通信协议,例如蜂窝和 Wi-Fi。

  • 电池寿命的计算应将重新刷新过程考虑在内。

  • 车辆只有在无线接收区域内才能通过无线方式下载新软件版本。

  • 可以将下载过程与更新过程分开,以便在无线接收区域外也可以执行更新过程

  • 适当提高存储量以存储增量和更新代理。

  • FOTA 更新系统必须能够更新内存中的读/写和只写区域。

  • FOTA 更新系统必须尽量减少下载和更新时间。

4.2 用户和过程方面的难题

由于用户会常常注意到车辆功能的变化,所以在未经用户同意的情况下对车辆的功能性软件进行更新可能会让其感到不安,甚至会认为车辆存在问题。为此,需要通知客户软件更新,如仪表板上的显示发生了软件更新,或者显示屏显示软件更改标识 (SCID)。客户可以由此登录车辆制造商的网站并查找 SCID 以了解有关软件更改的更多信息。

FOTA 更新系统必须能够根据车辆的位置智能地决定所采用的无线技术种类。例如,当汽车停在家中时,FOTA 更新可以通过 Wi-Fi 而不是蜂窝网络执行。

行业必须制定执行更新程序的时间。例如,在完善的流程和安全措施下,ECU 在执行车辆功能时不会更新,并且只有在车辆停止移动且关闭点火钥匙时才执行更新。

4.3经销商所面临的问题

随着无线软件更新(维护)所需的劳动力减少,经销商逐渐失去了其主要收入来源。

此外,在初始阶段,由于更新过程随时发生,同时并非所有系统适用于 OTA 更新,所以经销商会面临混乱的局面。

4.4汽车原始设备制造上所面临的难题

车辆制造商必须跟踪每辆车的 ECU 和软件版本,包括 ECU 之间的依赖关系。当特定 ECU 软件更新时,必须同步更新列表。

制定正确的测试和验证流程,从而保证车辆在软件更新后正常运行。同时,在任何情况下,更新过程都不应影响目标 ECU重新刷新后其软件的完整性和安全性。

构建后端基础设施,从而通过无线方式将更新包发送到汽车端。在某些情况下,此基础架构应连接到应用程序商店的交付系统中的客户服务或计费系统。

5、结论

汽车行业正面临着与八年前移动行业相同的经历。随着软件维护需求的增大,更新汽车 ECU 已成为一项必须操作。当前软件更新的模式成本高昂,对客户不友好,而且不够灵活,无法应对汽车行业正在发生的快速变化,因此,如今的汽车行业正寻找新的、更高效且更具成本效益的方法。

经验证,对于原始设备制造商和汽车制造商的汽车软件更新管理来说,FOTA 技术安全且具有成本效益的方法,它将汽车从实物驱动转向代码驱动。

FOTA 可以帮助汽车制造商节省时间和成本、降低风险并吸引和留住客户群。此外,还能帮助使汽车制造商建立新的追加销售服务方式,从而在整个汽车生命周期中为消费者提供新的功能和应用程序。

在吸取电信行业的经验和教训的基础上,汽车行业可以顺利而成功的完成现有更新方法向 FOTA的过渡。



作者:SCCM特邀专家
牛喀网文章,未经授权不得转载!


下一篇: 自动驾驶系统的预期功能安全(SOTIF)场景开发
上一篇: 汽车功能安全工程师入行指南
相关文章
返回顶部小火箭