读懂Adaptive Autosar架构-基础应用篇

2023-05-16

对于Adaptive AUTOSAR,咱们经常会看到这句话:Write once, Adopt everywhere。但实际上理想很丰满,现实很骨感。毕竟Classic Platform(后面简称:CP)搞了这么多年大家都还没玩转,更何况这刚出没几年的Adaptive Platform(后面简称:AP),但作者也相信随着Autosar标准的不断推进和应用,我们不断在向这个目标接近。

 

 

 

如上篇《读懂Adaptive Autosar架构-入门篇》所说,Adaptive Autosar并不是为了取代Classic Autosar和非Autosar架构的平台,而是为了更好的与当前这些架构平台相互兼容、协作并满足未来的需求。例如Classic Autosar已增加对车载以太网SOME/IP的支持,而这对于Adaptive Autosar来说必须是基本操作,而且还会支持更加先进的通讯方式。

 

图片

 

1

Adaptive Autosar的特点

 

1. 以C++为实现形式

 

Adaptive Autosar平台的Applications都将采用C++编程,我们知道C是嵌入式系统的主要编程语言,具有执行速度快、效率高的特点;但在性能要求非常高的复杂应用和算法开发上(如机器学习、图像特征识别等)具有面向对象特性的C++显然比C更具有优势,而AP主要适应未来智能化和网联化的需求,这些需求的实现主要涉及复杂应用和复杂算法的开发,因此选用一种面向对象的编程语言是必要的。最新Release的Adaptive Autosar标准完全采用C++ 11/14作为首选语言。

 

图片

 

2. 面向服务的通讯方式(SOA)

 

为了支持复杂的应用程序,并在并行处理和计算资源分配上具有最大的灵活性和可扩展性,AP采用面向服务的通讯架构。SOA主要基于以下概念:系统由一组服务构成,其中一个可使用另外一个的服务,应用程序Applications可根据自己的需要使用一个或多个服务;此外服务可以在应用程序运行的本地ECU上,也可在运行另一个AP实例的远程ECU上。

 

图片

 

3. 并行处理能力

 

分布式计算本质上是并行的,先进的多核异构处理器既具有强大的计算能力也能为并行计算提供技术支持,随着多核异构计算技术的发展,AP具有扩展其功能和性能架构的能力。事实上,硬件和接口规范仅是实现AP的一部分,在OS等技术和开发工具的发展上对实现AP的应用也至关重要。

 

图片

 

4. 利用现有标准

 

闭门重新造车是没有意义的,尤其在规范方面。正如C++中所描述的那样,AP采用重用和调整现有开放标准的策略,来促进AP本身更快的发展应用并在现有标准的生态系统中受益。因而开发的AP规范并不是随意引入新的标准,因为现有标准已提供了所需的功能需求。

 

5. 具有一定的安全性

 

AP目标系统通常需要一定的安全性,新技术的引入不应破坏这些要求,尽管实现起来并非易事。为了应对该挑战,AP则将架构、功能和过程方法结合起来来保证一定的安全目标。AP架构是基于SOA的分布式计算架构,这种方式可保证功能组件更加独立而不受意外干扰,从而可实现专用功能的安全性,此外诸如C++编码指南等指导书有助于我们更加安全可靠的使用诸如C++的复杂编程语言。

 

图片

 

6. 动态部署

 

AP支持应用程序的动态部署,通过资源和通讯的动态管理来降低软件开发和集成的effort,从而实现短迭代周期。增量部署还支持软件开发阶段,就如开发个Beta版本的软件部署在控制器上去不断测试验证和修复,从而达到最终的正式版。

在AP架构下,不同的Applications可能由不同供应商提供,因此在产品交付阶段,AP允许系统集成商合理限制这种动态部署的特性以降低不必要的风险和影响。应用程序将受到Application Manifest中所规定的约束限制,几个应用程序的Manifest在设计时可能会产生相互影响,但在执行时,在配置的范围内,资源和通讯路径的动态分配仅可以限定的方式进行。 

 

2

Adaptive Autosar软件分层架构

 

下面是AP的软件分层架构,在此随意选两点谈谈,谬误之处,还请指正。

 

图片

在AP架构下,一切都是OS中的进程,这跟CP架构有着显著的区别,在CP架构下,所有应用都是静态配置的,即应用的进程在OS中被写死,一旦软件编译完成就不可更改,其调用的周期也是确定,因此基于CP架构的软件一旦有小的应用变更就得重新配置和编译:费时费力。而AP架构的软件就如计算机的工作原理,应用是动态运行的,何时调用、进程生存周期、资源占用及进程结束等都由系统动态管理,好比你手机上的App何时打开、运行后其会调用的资源及何时关闭都是动态进行的。

图片 AP架构的优势能使车载控制器可如同手机一样(理想的目标),使应用实现动态的部署和升级更新。

图片

在AP架构下每个Application都是一个App,每个App主要包含如下这些部分:

图片

图片

App都有一个非常重要的API->ara::com,这个API在分层架构下的位置如下:

图片

ara::com使基于SOA的通讯方式成为可能,负责进程间和不同控制器间基于服务的通讯。

图片

在AP这种灵活的框架下,ara::com可支持或扩展对车载以太网SOME/IP  、 TSN 、 DDS等SOA通讯技术的应用。

图片

对Data Distribution Service(DDS)或基于时间敏感网络(TSN)等通讯技术的支持如下:

图片

图片

 

3

Adaptive Autosar的应用

 

Adaptive Autosar的应用是灵活的,下面楼主就列举三个吧。

 

1. 大众MEB平台软件架构

 

我们知道针对互联化、智能化的趋势,大众推出MEB平台,期望从MQB分布式的E/E架构向MEB的中央集成式E/E架构过渡,并希望在后续的电动车上都采用最先进的MEB平台打造,构建从高端到平价的车辆体系,有点后发先至的感觉。

 

图片

 

楼主在2019年的上海车展上已看到大众向电动化进军的决心,今年车展大众带来了各系列车型的混动或纯电动版本,借助MEB平台,大众希望打造互联、智能并可具有高度扩展性、灵活性的整车系统。

 

图片

 

而整车的软件架构毫无疑问需要AP架构的加入和支持,如下:

 

图片

 

2. 域控制器

 

域控制器也是最近这些年才热起来的,所谓的域就是将整车E/E架构划归为不同的区,如动力域、车身域、底盘域、娱乐域等,每个域只需要挂载单个控制器来负责所在域的通讯和控制,减少之前一个功能、一个“盒子”的分布式E/E架构复杂的布线和集成:其实就是将多个控制器的软件糅合进一个控制器。我们知道不同的控制器软件可能由一个或多个供应商提供,若由多个供应商提供,每个供应商除了负责各自软件的升级,还涉及复杂且不同类型软件的集成,那么显然AP架构可很好的满足这种需求,使不同的软件在单个多核控制器上的集成和升级工作变的相对容易些。

 

图片

 

3. 自动驾驶应用

 

自动驾驶领域的竞争目前是十分火热的,既有传统大佬,也有新入玩家,目前主要的玩家有如下这些,但就如几年之前的手机操作系统一样,相信最终只有少数玩家才能赢得这场竞赛。

 

图片

 

自动驾驶应用的加入使整车功能更加复杂,不同的应用可能由很多供应商提供,其次应用也越来越复杂,对计算资源和性能要求越来越高,需要更牛逼的硬件来支持,而AP架构既能满足应用对高性能计算的需求又具有一定的功能安全等级。

 

图片

图片

 

例如BMW计划在以后的自动驾驶系统方面,对软件组件进行重新设计,以支持不同的API要求,从而将软件合理布置在不同架构上发挥更优的功能。

 

图片

 

4

总结

 

此次俺又唠叨了很多,总体来说呢,CP架构虽然搞了这么多年但依然在路上,因为其依然需要不断的完善,由于CP标准的复杂性,到目前我们还没玩转,整车控制系统的软件架构要实现完美的Classic Autosar依然任重而道远;而AP架构伴随着互联化、网联化的趋势在这两年应运而生,其更需要不断的完善和发展。CP和AP不是为了谁取代谁,而是针对不同的应用领域和不同的功能安全要求相辅相成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读懂Adaptive Autosar架构-基础应用篇 的相关文章

  • 车载以太网 - SOME/IP简介

    SOME IP Scalable service Oriented MiddlewarE over IP 是车载以太网通信引入的一个概念 xff0c 位于OSI 7层模型的层4 传输层 之上 在以CAN总线为主的车载网络中 xff0c 通信
  • AUTOSAR_DCM&DEM(UDS&OBD)

    1 术语与缩写 术语 DCM Diagnostic Communication Manager DEM Diagnostic Event Manager UDS Unified diagnostic services OBD On Boar
  • 精心整理的 CP AUTOSAR科普介绍材料

    一 AUTOSAR的背景介绍 AUTOSAR是AUTOmotive Open System Architecture xff08 汽车开放系统架构 xff09 的首字母缩写 xff0c 是由全球各大汽车整车厂 汽车零部件供应商 汽车电子软件
  • CP AUTOSAR 简介

    嵌入式系统不支持硬件抽象 xff0c 使得我们每次在进行新的处理器更换之后 都需要进行重新进行底层软件的开发 2003年建立autosar 组织 autosar官方文档非常长2万多页 xff0c 从这里可以看出什么 xff1f 1 auto
  • 进程概述和ps管理进程

    什么是进程 xff1a 下图所示是进程的生命周期 xff1a 简单理解 xff1a 父进程退出了子进程没有退出 xff0c 那么这些子进程就没有父进程来管理了 xff0c 就变成僵尸进程 进程的属性 xff1a 使用ps查看进程工具 xff
  • CP AUTOSAR 通信

    现在汽车中 xff0c 车内网络普遍采用CAN LIN FlexRay总线 xff0c CAN FD和车载以太网也将在未来得到更多应用 作为汽车电子软件的主要标准 xff0c AUTOSAR在总线网络通信方面提供了完整的架构 AUTOSAR
  • 二层交换机与三层交换机区别

    我们习惯说 xff0c 在二层网络环境中相同vlan之间可以通信 xff0c 不同vlan之间不可以通信 xff0c 如果想通信必须借助三层设备 xff0c 所以说三层交换机必须要做的事情是路由转发 xff0c 但是二 三层交换机具体有什么
  • Autosar 软件中间件

    我们都知道手机 xff0c 电脑啥的在应用之下 xff0c 硬件之上 xff0c 还有一个东西叫操作系统 xff0c 车辆里也有类似的东西 操作系统 xff0c 中间件 xff0c 应用软件 各司其职分工不同 操作系统 我负责对硬件 xff
  • AUTOSAR和ROS有哪些联系和区别

    AUTOSAR和ROS有哪些联系和区别 xff1f AUTOSAR和ROS有哪些联系和区别 xff1f 用ROS可以实现AUTOSAR的功能吗 xff1f 从Linux和Ros系统转向AP该如何转 xff1f 为什么需要转 xff1f AP
  • Autosar开发人员必知概念

    1 什么是Autosar架构 xff1f 答 xff1a 汽车开放系统架构 xff08 AUTomotive Open System Architecture xff09 是一家致力于制定汽车电子软件标准的联盟 AUTOSAR是由全球汽车制
  • Linux下source命令详解

    Linux下source命令详解 source命令用法 source FileName source命令作用 在当前bash环境下读取并执行FileName中的命令 注 xff1a 该命令通常用命令 来替代 使用范例 xff1a sourc
  • CMakeLists.txt 语法介绍与实例演练

    一 Cmake 简介 cmake 是一个跨平台 开源的构建系统 它是一个集软件构建 测试 打包于一身的软件 它使用与平台和编译器独立的配置文件来对软件编译过程进行控制 二 常用命令 1 指定 cmake 的最小版本 cmake minimu
  • tar 解压缩命令详解

    tar 解压缩命令详解 以下是对tar命令的一些总结 xff1a tar cvf test tar test 仅打包 xff0c 不压缩 tar zcvf test tar gz test 打包后 xff0c 以gzip压缩 在参数f后面的
  • 嵌入式Linux应用开发---GCC程序编译

    电脑编程就是一个 翻译 过程 xff0c 要把用户的程序翻译成CPU指令 xff0c 其实也就是机器代码 所谓的机器代码就是用CPU指令书写的程序 xff0c 被称作低级语言 而程序员的工作就是编写出机器代码 由于机器代码完全是一些数字组成
  • 嵌入式Linux应用开发---Makefile工程管理

    GUN make Linux程序员必须要学会GUN make 来构建和管理自己的软件工程 GUN 的make能够使整个软件工程的编译 链接只需要一个命令就可完成 make 在执行时 xff0c 需要一个命名为Makefile的文件 Make
  • uptime查看系统负载 -top动态管理进程

    一 uptime 查看系统负载 top动态管理进程 1 uptime 查看cpu负载工具 span class token punctuation span root span class token annotation punctuat
  • 嵌入式Linux应用开发---Linux文件编程

    系统调用 文件访问 库函数 文件访问 时间编程 Linux中文件编程可以使用两种方法 xff1a Linux系统调用 C C 43 43 语言库函数 前者依赖于Linux系统 xff0c 后者与操作系统是独立的 xff0c 在任何操作系统下
  • 嵌入式Linux应用开发---进程控制理论基础

    进程控制理论基础 进程是一个具有一定独立功能的程序的一次运行活动 特点 xff1a 动态性并发性独立性异步性 进程ID 进程ID xff08 PID xff09 xff1a 标识进程的唯一数字 父进程的ID xff08 PPID xff09
  • 嵌入式Linux应用开发---进程通信 管道

    目录 进程间通信概述 管道通信 信号通信 共享内存 进程间通信概述 为什么需要进程间通信 xff1f 数据传输 xff1a 一个进程需要将它的数据发送给另一个进程资源共享 xff1a 多个进程之间共享相同的资源 事件通知 xff1a 一个进
  • QNX操作系统简介

    前言 说到操作系统 xff0c 先来列举一些 UNIX 和 类Unix 操作系统 分类操作系统UNIX System V家族A UX AIX HP UX IRIX LynxOS SCO OpenServer Tru64 Xenix Sola

随机推荐

  • 虚拟化技术介绍 & hypervisor简介

    什么是虚拟化 xff1f 虚拟化 xff08 英语 xff1a Virtualization xff09 是一种资源管理技术 xff0c 是将计算机的各种实体资源 xff0c 如服务器 网络 内存及存储等 xff0c 予以抽象 转换后呈现出
  • 什么是ARA?它由什么组成?

    什么是ARA xff1f 它由什么组成 xff1f 什么是Machine xff1f Machine与ECU之间的关系是怎么样的 xff1f Execution Manifest 的作用是什么 xff1f Execution Managem
  • 从工程师的角度看AUTOSAR

    软件定义汽车 的火热带动了工程师们对于汽车电子软件热烈地讨论 不曾想到 xff0c 隐藏在控制器内部 xff0c 默默地发挥着作用的汽车电子软件 xff0c 如今备受瞩目 本人毕业到现在 xff0c 一直在汽车行业做软件 xff0c 切身感
  • 车载以太网SOME/IP概述

    车载以太网SOME IP概述 汽车测试技术 汽车测试网 车载以太网SOMEIP概述 xff08 二 xff09 汽车技术 汽车测试网 The error handling of SOME IP is shown as an example
  • 基于模型的嵌入式软件开发

    对工具的分类和资质审核 通过认证的方式发放证书 应对复杂系统时 xff0c 软件开发人员的工作效率在降低 解决复杂软件开发效率低下的路径 xff1a 模块化开发 xff08 一个复杂的系统包含很多模块 xff0c 每个模块都比较简单 xff
  • ARM Cortex-A系列处理器性能分类比较

    在如今这个电子产品泛滥的年代 xff0c 仅仅靠品牌或是外观已经不足以辨别产品的优劣 xff0c 其内置的处理器自然也就成为了分辨产品是否高端的标准之一 那么我们今天就不妨好好了解一下近几年来电子产品中较为主流的RAM处理器 在这之前让我们
  • linux 前后台进程详解

    前后台进程切换 nice 进程优先级 free 实战 screen 后台执行命令 linux 前台进程与后台进程的区别 xff1a 进程的前台与后台运行 跟系统任务相关的几个命令 xff1a 注 xff1a 实际生产环境中 xff0c 都是
  • 编写项目工作说明书(SOW)

    工作说明书 SOW 是一个项目必须提供的工作指南 SOW是一个关键的管理工具 xff0c 不管是用来指导卖方或者承包商的工作 xff0c 或者是用来指导他们的内部工作 xff0c SOW必须包括所有所期望工作的描述 这些描述不需要在一个很详
  • i++在两个线程执行100次,最终的结果是

    i 43 43 语句只需要执行一条指令 但当有多个线程时 xff0c 并不能保证多个线程i 43 43 xff0c 操作同一个i 因为还有寄存器的因素 xff0c 多个cpu对应多个寄存器 每次要先把i从内存复制到寄存器 xff0c 然后
  • 一万字解读CP AUTOSAR

    导读 xff1a AUTOSAR旨在改善汽车电子系统软件的更新与交换 xff0c 同时更方便有效地管理日趋复杂的汽车电子软件系统 AUTOSAR规范的运用使得不同结构的电子控制单元的接口特征标准化 xff0c 应用软件具备更好的可扩展性以及
  • 关于SOME/IP的理解

    1 总体说明 如上图所示为标准的网络七层架构 xff0c SOME IP Scalable service Oriented MiddlewarE over IP xff0c 即 运行于IP之上的可伸缩的面向服务的中间件 他在系统中其实就是
  • 系统性思维是什么?

    像是魔方一个 xff0c 当你遇到一个问题时 xff0c 有系统性思维的人会告诉你为什么你会有这个问题 xff0c 这个问题的前因后果是什么 xff0c 怎么避免类似问题 xff0c 正确的方法是什么 xff0c 其他可能得错误路径是什么
  • 如何从普通员工成为一个领导者

    how to become a company leader from one employee 要想成为一个领导或者领导 xff08 影响别人 xff09 首先需要基本的领导基本功 这里分享一些我的心得体会 自我反省 xff1a 要不断自
  • 读书笔记1

    第七期主题词 xff1a 告别 1 我们最终都要远行 xff0c 最终都要与稚嫩的自己告别 xff0c 告别是通向成长的苦行之路 海子 2 我和谁都不争 xff0c 和谁争我都不屑 xff0c 我的双手烤着生命之火取暖 xff0c 火萎了
  • 武志红《为何爱会伤人》

    最近读武志红 为何爱会伤人 xff0c 让我们从另一个角度去理解爱情 xff0c 本书从全新的视角解读爱情 xff0c 提出从 认识自己内心 的角度来看待爱情 xff0c 什么是迷恋 xff1f 什么是一见钟情 xff1f 如何获得真爱等问
  • 关于如何去寻找自己的另一半和我的爱情观

    用这个题目 xff0c 我自己都没想到 xff0c 因为目前我还是单身 xff0c 虽然谈过几次恋爱 xff0c 但最后都成了白月光 下面我给出了自己的反思 xff0c 也找了我的领导谈心 xff0c 也看了一些书 xff0c 想找到为什么
  • 一篇文章完全讲解C语言指针

    指针对于C来说太重要 然而 xff0c 想要全面理解指针 xff0c 除了要对C语言有熟练的掌握外 xff0c 还要有计算机硬件以及操作系统等方方面面的基本知识 所以本文尽可能的通过一篇文章完全讲解指针 为什么需要指针 xff1f 指针解决
  • MySQL定时备份

    MySQL定时备份实例 xff1a 每周一晚上3 00 xff0c 备份数据库服务器上webdb库的所有数据到系统的 mysqlbak目录中 xff0c 使用系统日期做备份文件名 xff01 span class token operato
  • 一篇文章完全讲解C语言指针

    https mp weixin qq com s biz 61 MzU3NDU5NDczMw 61 61 amp mid 61 2247504309 amp idx 61 5 amp sn 61 5421ee86fb1be92b43d99f
  • 读懂Adaptive Autosar架构-基础应用篇

    对于Adaptive AUTOSAR xff0c 咱们经常会看到这句话 xff1a Write once Adopt everywhere 但实际上理想很丰满 xff0c 现实很骨感 毕竟Classic Platform xff08 后面简