您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [ETAS]:汽车微控制器软件开发中的五大挑战 - 发现报告

汽车微控制器软件开发中的五大挑战

交运设备 2024-09-26 ETAS 玉苑金山
报告封面

汽车微控制器软件开发中的五大挑战 摘要作为车辆实时能力和功能安全的关键推动要素,微控制器在汽车行业中继续发挥着至关重要的作用。然而,优化微控制器软件的开发过程通常不是首要任务,市场更关注差异化和创新的应用,而不是在后台工作的嵌入式功能。在通往软件定义车辆的道路上,基本的开发任务往往会被搁置一边。但是,正是这一过程的优化保证了汽车制造商和供应商未来的成功。为了促进最先进的汽车软件开发过程,ETAS整理了客户面临的五大挑战:高集成工作,标定复杂,测试耗时,可扩展性和灵活性限制,以及整体网络安全要求。根据V模型的具体过程步骤,本白皮书描述了这些挑战并提供了适当的解决方案,这将帮助您提高开发过程的效率、减少工作量、实施更高的安全标准,并最终跟上快速发展的市场步伐。 汽车微控制器软件开发中的五大挑战 目录1.介绍2.世界车辆微控制器概览3.车载单片机软件的开发过程3.1.ECU生成变化的原因3.2.开发过程中的主要步骤4.制造商和供应商面临的主要挑战4.1.高集成工作4.2.标定复杂4.3.测试和调试耗时4.4.可扩展性和灵活性限制4.5.整体网络安全需求5.结论 汽车微控制器软件开发中的五大挑战45667991011121314 1.介绍安全性、实时性、资源优化——这些特性在很大程度上取决于电子控制单元(ECU),特别是微控制器,它们是现代车辆中各种重要功能的基础。但是,原始设备制造商(OEM)和供应商面临的创新压力往往导致他们忽视ECU软件的开发过程,而倾向于更令人兴奋的技术。尽管如此,ECU仍有很大的改进潜力:更多的自动化、更高的效率、克服安全限制,等等。随着需求的增加和创新速度成为决定性因素,不更新这些基本流程最终会产生不良影响。在一辆典型的现代汽车开发过程中,有很多这样的基础工作要做。车辆代码的大部分分布在微控制器上,在不被用户注意到的情况下完成其日常工作。然而,这种深度嵌入式软件在车辆中具有非常特殊的责任:汽车部件的故障可能对乘客的健康产生严重影响。因此,汽车行业的要求也很高,尤其是在满足不断变化的安全法规方面。嵌入式微控制器系统的软件开发虽然是一项日常任务,但它极其重要——而且在未来几年里仍将如此。本白皮书旨在帮助制造商和供应商重新组织其流程,以实现最先进的微控制器软件开发。首先介绍了车辆微控制器的重要性以及为ECU代际更换开发新软件所需的步骤。然后深入探讨了主要主题:开发过程中面临的五大主要挑战及可能的解决方案。并非每家汽车公司都会同样受到所有挑战的影响。一些制造商和供应商并不在内部完成所有步骤。其他因素同样具有决定性作用,例如数字化的成熟度、现有工具的组成、遗留软件的数量以及硬件设置。尽管如此,了解全局、常见的困难和潜在的解决方案对汽车行业的每个参与者都是有益的。 汽车微控制器软件开发中的五大挑战 汽车微控制器软件开发中的五大挑战2.世界车辆微控制器概览车辆中的大多数控制和通信任务都是由各种微控制器作为ECU的核心来完成的:从用于传感器接口和控制的经济实惠的8位微控制器,到用于现代信息娱乐显示器和车辆动态系统的32位微控制器。标准的现代车辆包含超过40个这样的电子组件,高端车型甚至多达150个。这些组件确保了例如安全气囊、ABS(防抱死制动系统)、ESC(电子稳定控制系统)、发动机控制、轮胎压力和电池状态等功能的可靠性。所有这些都在后台进行,驾驶员察觉不到。目前,OEM和供应商正面临着越来越短的E/E架构创新周期,以及越来越多的车辆型号和功能。因此,基于微控制器的软件开发也必须变得越来越高效。与软件定义汽车相关的趋势,如软硬件解耦、集中式车载计算机或车载云计算,只是在表面上取代了传统的ECU方法。实际上,嵌入式系统将继续发挥决定性作用,因为它们是确保实时能力和功能安全达到ASIL-D的唯一途径。市场报告预测微控制器领域将有相当大的增长(见图1)。因此,原始设备制造商和供应商必须调整ECU软件的开发过程,以适应新的市场对速度、灵活性和安全性的要求。嵌入式微控制器系统的软件开发既不是新的,也不是汽车行业所独有的。这些组件安装在电子设备和日常用品中,从牙刷到吸尘器。那为什么在汽车领域开发过程显得特别呢?最重要的方面是从车辆上路的第一分钟起就需要高安全性和可靠性要求,其次是几十年的可维护性。此外,可靠的实时能力对于动力系统控制或车辆动力学等许多系统至关重要:电子控制系统必须始终与车辆或环境中展开的物理过程保持同步。虽然微控制器编程对于OEM和供应商来说是一项周期性的常规任务,但随着每一代的变化,使其适应高监管要求,同时使其在全球OEM和供应商网络中尽可能高效是具有挑战性的。对于那些使用长期建立的流程链且工具和方法仅部分兼容当前要求的公司来说,这尤其如此。 简要解释:ECU、MCU、MPU和VCU的协调汽车系统中使用的电子控制单元(ECU)是管理车辆中特定功能的专用计算机。在这些ECU中,微控制器(MCU)处理实时任务,如发动机控制和传感器管理。微处理器(MPU)则用于更高级的ECU,提供更高的处理能力,用于复杂的应用,如信息娱乐系统和高级驾驶辅助系统(ADAS),通常运行在Linux等操作 系 统 上 。 车 辆 计 算 机 (VCU) 协 调 这 些ECU,确保整个车辆网络的无缝通信和操作。 汽车微控制器软件开发中的五大挑战3.车载单片机软件的开发过程E/E架构正朝着更加集中的方式进行重组,但基于微控制器的ECU将继续存在。嵌入式软件的一般开发过程理论上可以继续保持不变。然而,为了满足对功能性渴求的市场需求,开发周期将急剧加快,正如我们在流行的软件定义车辆(SDV)中所遇到的那样。传统的方法无法跟上这种速度,然而,它们也不能简单地在一夜之间被取代。在许多情况下,最佳解决方案是将经过验证的流程和工具与创新解决方案相结合。首先,重要的是要了解流程的触发因素,并将该流程中的各个步骤分离出来。3.1ECU生成变化的原因在深入探讨具体挑战之前,让我们简要地看一下为什么必须首先开发新的ECU软件,以及为什么这个过程如此耗时且复杂。一切都始于从一代ECU向下一代的转变,这需要对软件进行大幅度的重塑。在车辆ECU软件开发过程中,程序员在开始创建新软件之前,必须投入精力进行工具链设置。每一代新的ECU都有其特定的开发过程,取决于具体的领域和合作模式。相应的工具链是为即将到来的这一代单独定义的,因此可能会包含相当大的变化,这与通过更新解决的小调整形成对比。指导原则是尽可能少地(或仅在必要时)从一代到下一代进行更改,因为新的工具链总是需要高昂的迁移成本和项目风险。(见图2)。有些是内在的,例如质量问题或对当前工具或工具供应商的不满意程度较低。其他则是由外部因素决定的,例如新的立法或流程要求(例如,ASPICE,ISO 26262 ASIL-D)。市场压力或增强的可用性和最先进的用户界面也起着决定性作用。代际变更最常见的障碍包括高成本、质量风险和不一致的遗留问题,即难以适应、不灵活的工具链设置。主要需求是提高流程中的自动化水平。图2:ECU生成变化的原因和障碍质量问题质量风险立法或程序要求对现有工具或工具供应商难以处理和不一致或工具供应商满意度低的问题增强的可用性变革的主要原因变革的主要障碍 6从一代到下一代需要进行这些变更的原因有很多高成本最先进的用户界面难以适应且不灵活的工具链设置自动化需求市场压力 3.2开发过程中的主要步骤嵌入式软件开发过程的一个常见示例是V模型,它有不同的变体。根据我们的经验,我们将阶段划分为以下主要工作步骤,如下面的图3所示。图3:车辆软件开发的V模型DetailingRequirementspecificationArchitecturedesignMiddlewareconfigurationV模型将软件开发分为两个主要部分。此版本已适应ECU软件开发过程体系结构设计作为ECU的一部分,微控制器负责特定的互连功能,如发动机或车辆动态控制。因此,非常详细的需求目录是关键。第一步包括识别所有功能、约束、硬件元素、中间件及其相互依赖关系。在这个早期阶段,所有硬件和软件组件都必须符合严格的汽车标准,需要对细节进行细致入微的关注。中间件配置中间件是指ECU中位于操作系统或硬件与应用软件之间的软件层。它可以作为桥梁,促进车辆软件架构中各个组件之间的通信和数据交换。通过将应用程序和与硬件相关的系统解耦,中间件使独立开发、维护和升级它们成为可能。中间件充当中介,抽象底 汽车微控制器软件开发中的五大挑战CodingRequirement and variant managementHolisticsecurity 7它们不一定一个接一个地处理。有些可以并行运行,或者必须多次执行。需求和变体管理在所有工作步骤中都是必要的,并且需要多次迭代。TimeDeploymentCalibrationTesting andvalidationIntegration层硬件并为软件组件提供标准化接口,以实现无缝交互。不言而喻,这样的中间件必须符合最高的安全标准,因为ECU中的漏洞和合规性问题可能导致未经授权的访问、数据泄露和系统故障,从而危及车辆的安全性和可靠性。确保这种水平的合规性符合严格的行业标准需要广泛的测试和验证,这增加了开发过程的复杂性和时间。因此,中间件的选择至关重要,重点在于成熟度(符合ISO 26262 ASIL-D)、未来导向(无供应商锁定)和网络安全。只有一个健壮且高度可配置的中间件解决方案,并且具有持续更新,才能保护ECU免受不断发展的威胁,并满足所有(不断变化的)法规需求。 编码一旦定义了体系结构,并且确定了具有特定需求的所有组件,开发人员就可以将系统设计转换为功能软件。所需的功能已经存在于标准流程中。在这里,软件开发人员编写新的(补充)功能,消除错误,并优化或扩展现有功能。挑战在于建立一个确保实现现有功能而无需重写它们的可能性的过程。这意味着高可重用性,同时保持高水平的功能安全、网络安全和代码效率。集成在这一点上,所有的工作流都可以聚集在一起:中间件配置、架构设计信息、应用软件以及预校准数据都被构建为可以闪现到微控制器上的代码。一个主要的挑战在于优化,即平衡汽车功能的性能与新硬件的能力,以满足特定的效率目标和环境条件。这涉及到对中间件进行微调,以实现高效的系统资源使用和实时操作。当然,安全性和合规性也至关重要:满足严格的安全标准和监管要求意味着执行严格的测试和认证流程。 汽车微控制器软件开发中的五大挑战测试和验证测试和验证阶段确保ECU的功能符合有关安全性、性能和可靠性的所有要求和规范。广泛的测试可以识别可能出现的任何潜在问题或故障。在软件密集型车辆的情况下,这个过程可能变得非常复杂和漫长。因此,在尽可能短时间内执行尽可能多的测试对于最小化成本和最大化性能至关重要。校准在校准过程中,参数和字段填充数据,确保软件的行为适应物理系统。有些应用程序可能包含成千上万个相互影响的参数。此外,参数需要满足特定的性能目标、环境条件和监管标准。调整必须在以后的更新中实施,例如当排放标准发生变化时。部署一旦软件达到“可用”阶段,它将经过最终的批准过程,并完全刷写到目标ECU上 8 汽车微控制器软件开发中的五大挑战4.制造商和供应商面临的主要挑战现在我们对流程中涉及的步骤有了一个很好的概述,在此过程中更容易匹配具体的挑战。有些只局限于其中一个步骤,有些则适用于整个过程或从一代到另一代的转变。我们已经确定了我们在整个汽车行业中反复遇到的五大挑战。4.1高集成工作车辆系统几乎总是在棕地环境中开发,即在现有的软件环境中开发,这导致在集成过程中出现许多遗留问题,从而使开发过程变得复杂。各种组件之间多样且复杂的通信接口需要复杂的配置和广泛的测试,以确保无缝互操作性。此外,依赖手动流程进行集成任务会导致错误率增加和开发时间延长。RequirementCalibrationspecificationArchitectureTesting anddesignvalidationMiddlewareIntegra