为什么要用AP? Adaptive AutoSAR到底给企业提供了一些什么?

Adaptive AUTOSAR通过提供标准化接口和平台,简化了应用开发,允许快速移植和减少重复工作。它强调了标准化应用接口和平台,确保安全性和架构要求。AP提供系统中间件并支持面向服务的架构,但不标准化中间件之间的交互,这意味着企业基于AP开发的协议栈和中间件可能需要针对不同供应商进行适配。AP的优势在于智能ECU、强大的计算能力、独立服务模块和敏捷开发,但也面临移植性和性能挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果说只提供了标准和方法,那这个标准指的是什么?接口和协议吗?方法又指的是什么?是开发工具吗?

还是说AP其实也提供了一部分系统软件和中间件?那为什么很多企业又说自己基于AP开发了相关协议栈和中间件呢?那AP又提供了哪些中间件呢?

AP最重要的是给产业链带来了标准化。这个标准化包含应用接口标准化和AP平台本身标准化。

对于AP平台使用方(OEM,Tier-1)来讲:

1, 开发应用可以标准化,允许应用快速移植到不同的AP平台,减少重复开发。

2, 因为AP标准对平台本身有要求,安全要求,架构要求等等,那么平台使用方在采购时不用重复在RFQ里定制需求,可以直接引用标准里的要求。

对于比如在自动驾驶领域,拥有核心算法公司只需要将算法做成AP应用,提供给Tier-1/OEM做集成就可以。

 

你指的方法,我们一般称为Methodology。这里只是用来给系统建模,做最后的集成。建模工具链由AP平台供应商提供。

AP标准里定义了所有系统中间件,面向应用的接口。哪些中间件你可以参考autosar主页AP部分。都可以免费下载。网上也有很多对标准的中文翻译。AP标准每年更新2次。

跟CP不同的是,AP不会标准化系统中间件之间的交互。那么,哪个公司号称自己开发了一部分AP中间件,应该是不可信的。因为,

1, AP平台供应商不会开发中间件之间的内部接口, 自己开发的AP中间件甚至无法和AP平台供应商的中间件集成。

2, 即使能够集成,那针对不同的AP供应商,自己开发的中间件需要重新适配。效率太低。

我认为使用AP只有下列几种情况:

1, 使用一个AP供应商的工具链和AP平台,包括所有系统中间件。

2, (也是我们做过的项目)采用了一部分AP中间件,比如ara::com (通讯管理)和Execution Manager( EM,进程管理)。其他部分没有使用AP组件。

 

传统的E/E架构示意图如下:

它的特点是:没有域控,没有中央处理器,没有高性能处理器节点

它的缺点是:节点无预留资源供新增功能使用或消耗

关于硬件

  1. 在智能网联汽车发展的过程中,肯定要处理视频、地图等大数据,那么我们传统的微控制器MCU的算力是否够用呢?
  2. 不够用的话,是不是要用上高性能的处理器CPU?接着是不是要考虑用CPU去开发域控制器,为我们新增的功能预留一些资源。
  3. 虚拟硬件开发要不要考虑一下呢?这样可以降低我们的一些开发成本。

 

关于OS

  1. 在使用高性能处理器的时候,经典AUTOSAR中的OS是否还能适配呢?
  2. 要不要用POSIX OS?Linux的话是符合的,但它是开源的,通信安全怎么保证?诊断怎么去做?
  3. 要不要使用ASIL-D的操作系统?在对安全要求特别高的汽车上,我们是不是要考虑使用有经过功能安全认证的OS?比如MCOS、QNX等等。

关于SOA

对SOA不太熟悉的话可参考上一期视频:

02 自动驾驶 & 域控中间件——AP AUTOSAR & SOA

  1. 要不要基于SOA开发?不用的话,增加一个节点的时候,你要更改什么——更改路由表吗?增加一个功能的时候,你要更改什么——更改通信矩阵吗?
  2. 要不要使用面向服务的通信?不用的话,当前通信协议栈的带宽和通信效率是否足够?要是想用DDS和RESTful的话,自己开发的成本有多大?
  3. 要不要使用面向服务的软件架构?不用的话,软件的动态部署怎么办呢?自己设计的话,开发成本与周期考虑过吗?

 

关于中间件

  1. 要不要使用中间件?不用的话,耦合性怎么办?没有中间件的话,应用层就是直接调用操作系统的接口,操作系统一旦出现问题,就会导致牵一发而动全身的后果。
  2. 要不要使用中间件?不用的话,后期要是换了操作系统,成本有多高?应用层的代码和算法可能要推倒重来,重新进行书写。
  3. 整个系统的安全性考虑了吗?以开发ADAS为例,如果不用AP AUTOSAR开发的话,能达到什么样的安全等级?

当前中间件有很多种,各有优缺点,如果大家计划使用中间件的话,可以随时发邮件与我们交流哦~

关于APP

  1. 实现OTA的话不难,但是要在运行时执行OTA呢?
  2. 更换网络绑定怎么实现?多重网络绑定又怎么实现?
  3. 人工智能算法和机器学习算法是否可以与AP AUTOSAR进行结合呢?

02 总结

  1. AP AUTOSAR支持高性能处理器,也支持虚拟硬件开发来降低我们的开发成本。
  2. AP AUTOSAR规定只要是POSIX OS都可使用,当然包括那些达到ASIL-D的操作系统。
  3. AP AUTOSAR既是中间件,又是一个面向服务的架构。所以我们在增加功能和节点的时候,问题不大;更换OS或硬件的话,问题也不大。
  4. AP AUTOSAR支持多重网络绑定,也支持动态部署,以及运行时更新。
  5. AP AUTOSAR把Safety和Security都考虑进去了。(考虑了哪些点我们会在后期进行分享)

 


3,Adaptive AUTOSAR

Adaptive AUTOSAR标准定义了一个ARA运行环境(AUTOSAR Runtime for Adaptive Applications)。分为两种接口类型:service和APIs。平台由根据服务(Platform Service)和Adaptive AUTOSAR基础(Platform Foundation)分组的多个功能栈(功能集群)组成。每个功能栈:

  • 聚合了自适应平台功能
  • 定义了功能栈需求规范
  • 从应用程序和网络角度描述软件平台的行为
  • 但不限制最终在自适应平台中的具体软件架构设计

每台(虚拟)计算机必须至少有一个包含Adaptive AUTOSAR基础(Platform Foundation)的实例,而服务功能栈(Platform Service)可能分布于车载网络中。

相比于Classic AUTOSAR,用于Adaptive AUTOSAR的AUTOSAR Runtime Environment在运行时动态链接服务和客户端。

Adaptive AUTOSAR主要特点:

  • 基于C++语言面向对象开发
  • SOA架构(service-oriented architecture)
  • 基于服务的SOA动态通信方式(SOME/IP…)
  • 硬件资源间的连接关系虚拟化,不局限于通信线束的连接关系(互联网)
  • 服务可根据应用需求动态加载,可通过配置文件动态加载配置,并可进行单独更新
  • application加载到RAM运行,每个application独享(虚拟)一个地址空间
  • POSIX-basedOS(Linux\PikeOS…),兼容性广,可移植性高

 

Classic AUTOSAR(CP)满足了传统嵌入式ECU的需求,而上述ECU的需求无法满足。因此AUTOSAR指定了另外一个软件平台,即Adaptive AUTOSAR(AP)。AP更专注提供高性能计算和通讯机制,并提供灵活的软件配置,例如支持无线更新软件(FOTA)。

Adaptive AUTOSAR优势:

  • ECU更加智能:基于SOA通信使得AP中ECU可以动态的同其他ECU提供或获取服务,动态同其他ECU进行连接
  • 更强大计算能力:基于SOA架构使得AP能够更好支持多核、多ECU、多SoCs并行处理,提供更强大的计算能力
  • 更加安全:基于SOA架构使得AP中各个服务模块独立,可独立加载,IAM管理访问权限
  • 敏捷开发:Adaptive AUTOSAR服务不局限于部署在ECU本地可分布于车载网络中,使得系统模块可灵活部署,并可后期灵活独立更新(FOTA)
  • 高通信带宽:基于Ethernet等高通信带宽的总线通信
  • 更易物联:基于以太网的SOA通信,更易实现无线、远程、云连接,部署V-2-X应用
  • 系统兼容:通过SOME\IP等协议AP可以同CP/Non-AUTOSAR等ECU

 

 

 

 

听说Adaptive AUTOSAR好处之一:一次开发的ARA应用可以不改动代码得快速移植到其他ECU上。真的?

供应商之间的工具链完全不兼容,配置文件根本无法重新导入,怎么快速移植?


把配置文件的问题解决了,
一个真实的V2X案例显示,直接把两个本地通讯的服务中一个移植到另ECU上,使用SOME/IP+以太网通讯,性能降低5倍。如果移植的前提是不管性能,这移植有何用?

本地通讯的服务当移植到远程RPC后,通讯数据的颗粒度选择上非常有讲究。要想接近之前的性能,代码做了不小的改动。

说好的快速移植呢?

 

来自博世ETAS工程师的回答:Adaptive AUTOSAR好处确实有,但是并不是所有的场景都可以搬到AP autosar上使用,要根据实际情况而定。

 

 

 

Classic AUTOSAR

Classic AUTOSAR标准在最高抽象级别上将运行在控制器上的软件分为三层:Application,runtime environment(RTE)和basic software(BSW)。

  • Application Layer,不依赖于硬件的
  • 软件模块间通过RTE交互,并通过RTE访问BSW
  • RTE体现了application的所有接口
  • BSW又分为3大层和复杂驱动:服务层、ECU抽象层、MCU抽象层
  • 服务层又细分为不同的服务组件,比如系统服务、存储服务、通信服务等

Classic AUTOSAR主要特点:

  • 基于C语言面向过程开发
  • FOA架构(function-oriented architecture)
  • 基于信号的静态配置通信方式(LIN\CAN...通信矩阵)
  • 硬件资源的连接关系局限于线束的连接
  • 静态的服务模块,模块和配置在发布前进行静态编译、链接
  • 大部分代码静态运行在ROM,所有application共用一个地址空间
  • OSEK OS

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值