软件定义汽车的设计初衷是在汽车整个生命周期内通过无线更新不断增强。基于云的虚拟化新技术允许开发始于芯片量产之前,并延续到汽车上路之后。
嵌入式系统的软件和硬件通常紧密相连,错综复杂。开发人员面对有限资源和紧迫截止日期等限制,还要确保无缝集成。这需要进行多轮器件测试。
这种方法对于快速的产品开发生命周期并不适用,也不符合以服务为导向的商业模式的要求。汽车制造商正在逐步接受软件定义汽车(SDV)的概念,而不是仅依靠维修期间进行的关键或有限的固件更新。SDV的目标是在其整个生命周期内持续发展和增强。
实现SDV必须采取平台方法。通过将硬件和软件解耦,应用程序和架构设计变得更加灵活,并且可以随着时间的推移添加其他功能。解耦还有助于在不同车型中增加软件复用,减少平台之间的适应成本。车主还将享受到更高的安全性和可靠性,同时降低能耗。
这种方法将彻底颠覆汽车软件开发。我们将看到行业“向左移动”,即使在原型硬件未量产的情况下,软件也能在产品开发生命周期的早期完成。同时,该行业还可以“向右延伸”,在车辆售出后继续进行更新。这让汽车制造商能够通过基于云的服务寻找新的收入源,让不同车型的车主都可以享用他们的服务,并通过无线(OTA)更新在汽车的整个生命周期内添加功能。
“向左移动,向右延伸”框图
在持续集成和部署的基础上构建
持续集成和持续部署(或近持续部署)概念在企业领域已经成功应用多年。“向左移动”和“向右延伸”是合乎逻辑的下一步。如果开发团队选择了正确的软件开发方法,这两者的要求在很大程度上是一致的。
SDV与其他嵌入式系统和支持技术没有本质的区别。例如,虚拟化和软件容器可以隔离软件模块,并将其从底层硬件中抽象出来。这种方法的优势是能更加轻松地与多项增值服务的云流程集成。这类服务通常将核心汽车功能与人工智能(AI)和基于云的分析相结合。
嵌入式系统的核心变化在于不再需要在物理硬件上进行大量的原型制作,或者至少尽量减少相关工作,以确保对时序和硬件行为的假设符合实际情况。然而,嵌入式系统确实需要一个额外的组件。
虚拟化和模拟如何助力开发
容器化是在云环境中采用持续集成和部署方法的重要要素,能够减少应用程序对硬件的依赖性。应用程序可以与测试所用的支持库和设备驱动程序一起打包,从而与底层操作系统隔离开。在嵌入式环境中,需要额外的隔离和保护层,由虚拟化技术提供。在虚拟化环境下,管理程序将I/O消息映射到底层硬件。管理程序对虚拟平台的管理还有助于安全隔离在同一处理器复合体上运行的独立任务。
容器化提高了汽车制造商部署更新的灵活性和能力。这对于需要频繁进行OTA更新的系统部分特别有帮助,例如车舱内的娱乐中控模块。尽管这些模块将更加独立,但硬件接口及其依赖关系对汽车的实时控制和安全系统仍然非常重要。开发人员需要了解硬件变化如何影响他们的软件,而数字孪生技术能够解决这个问题。
数字孪生是一种复制硬件和固件行为的虚拟模型。在数字孪生技术的加持下,开发人员无需访问硬件即可完成大部分测试。数字孪生可以在交互式调试模式或高度自动化的回归测试套件中运行,既可以在桌面工具上,也可以在基于云的容器中进行。回归测试通过执行多种测试,加速了在进行变更时的质量控制检查。另外,团队还能利用分析和机器学习技术,更快地发现bug。
可以针对任何代码模块或子系统进行更新测试,查看变更是否会导致意外的交互或问题。数字孪生并不能在项目中完全取代硬件。传统的硬件在环(HIL)测试仍然是检查数字孪生模拟在实际条件下的行为的必要手段,但一旦解决了行为差异,数字孪生可以广泛用于支持中期更新。广泛的硬件前测试可以通过云端在多台服务器上高速运行,使汽车制造商有信心在准备就绪后立即大规模部署基于新功能的OTA更新。
SDV虚拟模型
使用非常精细和详细的模型
模型的准确性非常重要,尽管许多测试并不需要完全精确定时的模型。高度精细和详细的模型通常运行速度较慢,而那些为分析目标处理器的指令吞吐量和应用逻辑而优化的模型则更快。通过仅运行需要完全详细模拟的组件或子系统模型的分区,可以简化测试时间和验证流程。
尽管汽车制造商和子系统供应商可以自行构建数字孪生模型,但与合适的半导体供应商建立合作关系具有显著的优势。恩智浦半导体等供应商承诺,在产品交付给汽车制造商组装成原型和最终产品之前,提前一年开发其芯片平台模型。
数字模型还可以帮助汽车制造商和子系统供应商了解架构创新能够为目标应用带来哪些优势。磁阻随机存取存储器(MRAM)就是一个很好的例子。它是闪存的高性能替代方案,同时克服了易失性DRAM和SRAM在持久数据方面的局限性。基本模型可以将闪存和MRAM等非易失性存储器视为等效存储器,在延迟或带宽方面没有区别。而更准确的模型则可以反映出它们在读写时间和其他行为方面的差异。
这些差异可以通过更改代码库来加以利用,从而充分发挥现有技术的优势。因此,通过采用以模型为中心的开发方法,软件团队可以帮助指定未来的硬件实现方案,以提升多代产品的性能。
持续改进
支持“向右延伸”的方法将不断提高产品质量和服务收入。除了对汽车本身进行OTA更新外,汽车制造商还可以从运行系统中收集传感器数据,并将其应用于多种机器学习和分析系统。这些信息可以在筛选后应用于数字孪生模拟,以评估现实世界中的性能。
这样,在新的OTA更新部署之前,可以在回归环境中测试改进,从而减少开发和部署之间的时间,加快产品改进的周期。这不仅能增强现有硬件,还能为未来的技术变革奠定基础。这也进一步证明,包含持续集成和数字孪生的整体开发方法有助于简化产品设计和支持。
作者:
Andy Birnie
恩智浦半导体汽车系统工程主管
Andy Birnie负责系统概念原型制作,致力于为软件定义汽车开发系统解决方案和工具,提升汽车性能及其开发效率。Birnie整合恩智浦的专业知识、市场领先的产品和独特的软件,创建系统解决方案,为客户带来巨大的价值。Andy Birnie拥有30多年的行业经验,在摩托罗拉、飞思卡尔和恩智浦担任过多个技术、产品和系统开发职位。