AUTOSAR Classic Platform的概要

时间:2024-03-27 16:46:53

AUTOSAR是什么

AUTOSAR是为提高汽车行业软件开发效率而制定的车载软件开发标准。其中定义了三个文档组:Classic Platform(CP)、Adaptive Platform(AP)和Foundation(FO)。

过去,仅定义了以处理控制系统的电子控制单元(ECU)为主要对象的Classic Platform,例如运行/转弯/停止。以自动驾驶(AD)和先进驾驶支援系统(ADAS)等需要高性能计算的ECU为目标,后来定义了Adaptive Platform。基于CP和AP的ECU可以彼此连接,并且用于相互协作的共同标准是Foundation。

在对汽车用软件的要求、开发规模、复杂程度逐年增大的情况下,AUTOSAR为了应对这些问题,作为实现开发效率化的方法之一就是软件的再利用。AUTOSAR中定义了推进再利用所需的标准。

一般来说,说到软件的标准,很多人都会想到软件体系结构。但是,AUTOSAR不仅进行软件体系结构的标准化,还进行方法(软件开发作业的流程和输入输出的形式的定义)以及应用程序接口(API)的标准化。

使用该规定的流程、输入输出形式、API有助于推进再利用。

AUTOSAR CP中标准化的软件开发流程

为了在各种开发人员和工具之间交换设计信息,有必要标准化开发流程,即步骤和步骤,这些步骤之间的连接以及在每个步骤中使用的设计信息的形式。在AUTOSAR中,这些称为方法。由此,对过去的开发成果进行再利用的开发变得容易。

AUTOSAR通过逻辑设计→系统设计→个别ECU设计流程来细化设计。

在逻辑设计中,将汽车的整体功能表现为逻辑模型。构成其逻辑模型的软件元素称为应用软件组件(SW-C)。进行这些逻辑设计的结果的图像如图1所示。
AUTOSAR Classic Platform的概要
进行来自SW-C的输入/输出的存取API(AUTOSAR Interface/详细内容后述)被标准化。另外,无论SW-C被放置在哪个ECU中,都不需要改变SW-C的内容。

AUTOSAR CP中定义的软件构架

AUTOSAR CP中定义的软件架构具有图2所示的三层结构。上面称为Application Layer、Runtime Environment(RTE)、Basic Software(BSW)。
AUTOSAR Classic Platform的概要
作为最上层的Application Layer是放置SW-C集合体的层。

作为从上面起的第二层的RTE提供AUTOSAR Interface,该AUTOSAR Interface是SW-C之间的通信接口以及对BSW提供给SW-C的系统服务(后述)的API。作为SW-C和BSW的执行环境,RTE还提供执行控制和排他控制。RTE对再利用性的提高有很大贡献的点是,无论通信对方的SW-C存在于同一ECU中,还是存在于分离的ECU中,调用的API(AUTOSAR Interface)都不变。RTE在同一ECU内和远离ECU之间切换不同的通信路径。结果,SW-C不受放置在特定ECU中的限制,并且即使系统配置改变,也可以容易地重复使用。

第三层BSW是提供ECU通常使用的功能的层。

在BSW中,硬件依赖层被称为MCAL(Microcontroller Abstraction Layer)。另外,通过RTE和AUTOSAR Interface向SW-C提供与硬件无关层中的系统服务,如通信、存储器、安全等有关的服务。

MCAL一般相当于被称为设备驱动程序。MCAL的API规范由AUTOSAR CP标准化。结果,上层总是使用相同的API来处理不同的硬件,并且容易形成可重复使用的结构。

BSW一般使用软件供应商提供的,而不是由汽车制造商或供应商自行开发。这也是标准化带来的整个汽车行业的软件重用之一。

AUTOSAR 接口

在AUTOSAR CP中,用于连接SW-C和RTE的接口称为AUTOSAR Interface。
AUTOSAR Classic Platform的概要
当SW-C与另一个SW-C通信时,并且当SW-C使用BSW的系统服务时,无论它被放置在哪个ECU中,总是使用相同的AUTOSAR接口。如果作为通信伙伴的其他SW-C和BSW在相同的ECU中,则RTE切换处理路径。当通信伙伴是在不同的ECU,RTE经由BSW的通信服务,CAN,通过总线,例如LIN与另一方的ECU进行通信。由于SW-C可以被分配给任意的ECU,所以SW-C的重用被促进。