Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征

2023-05-16

本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本。本文从AUTOSAR_EXP_PlatformDesign.pdf开始,一边学习,一边顺带着翻译一下。尽力而为,不保证精确。你若愿意,也可以当作 AUTOSAR Adaptive Platform (AP)中文版来阅读 😃

1 介绍

1.1 内容

本规范(AUTOSAR_EXP_PlatformDesign.pdf)描述 AP 设计。目的在于提供概述,但不涉及所有的设计细节。为AP 用户AP 实现者提供 AP 的设计概述关键概念

第二章“技术范围和方法”介绍了 AP 的背景。第三章“架构”分别从逻辑物理视角介绍了 AP,然后介绍了方法论和 Manifest
之后各个章节分别介绍了每个功能模块 (FC,Functional Clusters)

详细的规范和讨论参见相应的 RS、SWS、TR 和 EXP 文档。

译注:各类文档介绍及下载方式参考上一篇 AP 学习笔记

1.2 预读

本文档(AUTOSAR_EXP_PlatformDesign.pdf)是 AUTOSAR high level 概念文档之一。在此之前,可以阅读[1][2][3]。

1.3 和其他 AUTOSAR 规范的关系

参考 1.1 和 1.2 节。

2 技术范围和方法

2.1 概述

传统 ECU 主要功能是替代/增强机电系统。软件主要根据总线的输入信号控制输出信号。很多控制软件在车辆的生命周期内不会有大的变化。

但新的技术如自动驾驶,引入了高度复杂、对计算资源要求很高的软件,且必须严格遵守完整性、安全性要求。这些软件实现了环境感知、行为规划、和后端/基建系统集成等功能。在车辆的生命周期内,软件要不断更新以适配外部系统的更新以及改进功能。

CP 标准是针对传统 ECU 需求而提出的,无法满足上述新型 ECU 的需求,于是 AUTOSAR 推出了新的软件平台 AP。
AP 主要提供了:

  • 高性能计算和通信机制
  • 灵活的软件配置以支持 OTA 软件升级

AP 也可以支持传统的汽车总线的信号,但不是 AP 标准的重点。

2.2 技术驱动

AP 背后的技术驱动主要是以太网处理器

以太网

不断增长的带宽需求引入了以太网。和传统车身通信技术(如 CAN)相比,以太网提供了更高的带宽和交换网络,传输长报文效率更高,支持点对点通信。CP 虽然也支持以太网,但 CP 主要为传统通信技术设计、优化,无法充分利用、发挥以太网的优势。

译注:长报文有效载荷比更大;交换网络不同于总线式广播,点对点传输,减少总线冲突,提高传输效率。

处理器

随着汽车越来越智能,对处理器性能的要求增长巨大,出现了众核(manycore,十核到百核)处理器、通用目的GPU、FPGA、专用硬件加速器,较传统 MCU 可以大幅提升性能。CP 原本为单核 MCU 设计,虽然支持多核(multicore),但对新型处理器的支持大大超出了 CP 的设计。此外,电源效率也日渐重要,尤其是这些智能 ECU。受限于 Pollack 法则,处理器的频率不可能无限增长,要想提升性能,只能增加核心数并行计算。为了取得最佳的电源效率性能/瓦,需要混合用到众核、协处理器、GPU、FPGA 及硬件加速器。这被称为异构计算,已被用于 HPC(High-Performance Computing),当然远超 CP 的范围。

Pollack Rule:处理器性能的提升与其复杂性的平方根成正比。 如果一个处理器的硬件逻辑提高一倍,至多能提高性能40%,而如果采用两个简单的处理器构成一个相同硬件规模的双核处理器,则可以获得70%~80%的性能提升。同时在面积上也同比缩小。

值得一提的是,处理器被集成到一块芯片上,通过新的处理器互联技术(如 NoC,Network-on-Chip),处理器之间的通信效率比传统 ECU 间通信提高了几个数量级。处理器性能和通信的提升也促进了对新平台(AP)的需求。

2.3 AP 特征

2.1 和 2.2 节决定了 AP 的特征。

2.3.1 C++

译注:C++ 比其他语言性能更好。和 C 相比,C++ 标准库提供 STL及标准库算法,可以快速适配新算法,提高开发效率。

2.3.2 SOA

为了支持复杂的应用,同时在分布式处理和计算资源分配时,保证最大灵活性和可扩展性,AP 遵循面向服务的架构(SOA)。SOA 基于如下概念:系统由一些列的服务组成,服务之间可以相互调用,应用可以根据需要使用一个或多个服务。一个服务可以运行在本地 ECU,也可以运行在远程 ECU 上。不论哪种情况,应用程序的代码都一样(译注:通过代理模式实现)。通信服务负责处理具体通信细节,应用程序无需关心。从另一个角度来看这个架构:分布式计算,通过消息传递的形式来通信。这种消息传递、基于通信的架构也受益于快速、高带宽的通信(如以太网)的兴起。

2.3.3 并行处理

分布式计算本来就是并行的。SOA 中,不同的应用使用不同的服务。众核以及异构计算所带来的并行计算能力,使得实现内在并行性在技术上成为可能。因此,随着众核-异构计算技术的发展,AP 在架构具有了扩展功能和性能的能力。硬件和平台接口规范只是一部分,OS/hypervisor 技术和开发工具(如自动并行化工具)的发展也非常重要。这部分将有 AP 供应商以及行业/学术生态系统实现。AP 也旨在适应此类技术。

2.3.4 利用现有标准

没理由重新发明轮子,对于规范(相比于实现)尤其如此。AP 采取了复用、适配现有开放标准的策略,以促进 AP 发展,并从现有标准的生态中获益。因此,AP 规范的一个关键就是:不要随意引入一个现有标准已有功能的替代。例如,不要因为现有接口表面上不容易理解,就随意引入新的接口。

2.3.5 功能安全(Safety)和网络安全(Security)

AP的目标系统通常要求一定的功能/网络安全等级(可上至最高等级)。虽然有些困难,新引入的概念和技术不应降低安全方面的要求。
为应对挑战,AP 集合了架构、功能、流程方法:

  • 该架构基于基于 SOA 的分布式计算,本质上使每个组件更加独立,且不受意外干扰
  • 帮助取得 Safety 和 Security 的专门功能
  • C++ 编码规范,帮助开发者更安全地使用 C++ 这样的复杂语言

2.3.6 规划动态

AP 支持应用的增量部署:动态管理资源和通信,以减少软件开发、集成的工作量,从而实现较短的迭代周期。增量部署还支持探索性软件开发阶段。

对于产品交付,AP 允许系统集成限制一些行为,以降低不利影响带来的风险,保证功能安全。应用的动态行为可以通过 Execution Manifest 来限制。在执行时,资源和通信路径的动态分配只能以预先定义的方式进行(例如在配置的范围内)。

特定的 AP 实现可能从软件配置中移除动态能力。计划动态的例子:

  • 预先决定服务发现
  • 限制启动阶段的动态内存配分
  • 基于优先级的调度策略之外的公平调度策略
  • 把进程分配到固定的 CPU 核
  • 仅访问文件系统中预先存在的文件
  • 限制应用使用的 AP API
  • 仅执行验证过的代码

2.3.7 敏捷

尽管不直接反映在平台的功能上,AP 以适应不同的开发流程为目标,尤其是基于敏捷的开发流程。对于敏捷开发,增量、可扩展的潜在架构至关重要:提供了先开发,再更新的可能性。AP 架构应当支持敏开发:作为概念验证,AP 的规范和示例代码都是基于 Scrum 开发的。

2.4 CP、AP 以及和非 AUTOSAR ECU 集成

AP 不会取代 CP 或非 AUTOSAR 平台。相反,AP 和后端系统以及路边基础设施共同协作,形成一个完整的系统(如图)。例如 CP 也支持 SOME/IP。
 

image

image

2.5 规范范围

AP 定义了运行时系统架构:平台组成、提供的功能接口。还定义了开发过程中使用的机器可读模型。规范应当提供使用平台的必要信息以及实现平台的需求。

https://www.cnblogs.com/tengzijian/p/14998801.html

19 参考文档

[1] Glossary, AUTOSAR_TR_Glossary.pdf.
[2] Main Requirement, AUTOSAR_RS_Main.pdf.
[3] Methodology for Adaptive Platform, AUTOSAR_TR_AdaptiveMethodology.pdf.
[4] Design guidelines for using parallel processing technologies on Adaptive Platform, AUTOSAR_EXP_ParallelProcessingGuidelines.pdf.
[5] FCDesign IAM, AUTOSAR_EXP_FCDesignIdentityAndAccessManagement.pdf.
[6] P. Kruchten, “Architectural Blueprints—The “4+ 1” View Model of Software Architecture,” IEEE Software, vol. 12, no. 6, pp. 42-50, November 1995.

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

Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征 的相关文章

  • 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 后面简
  • 软件架构的定义

    一 软件架构的定义 我们先讨论一下什么是软件架构 xff1f 对于软件架构并没有一个标准的定义 xff0c 但是你和软件工程师谈到架构的时候 xff0c 他们会知道这些都会是架构的内容 是不是要分层 xff0c 如何处理事件 xff0c 如
  • 一文了解V2X技术栈及其产业链

    C V2X会给未来出行交通带来怎样的改变 xff1f 会在哪些场景下发挥作用 xff1f 这条产业链里面的公司又是哪些 xff1f 大厂们在V2X上的投入又是如何呢 xff1f 本文可以给你一个答案 1 为什么需要V2X 随着C V2X及5
  • 精力管理分享

    你是否长时间工作却没有时间休息 是否总是感到压力很大 xff0c 时间不够用 xff1f 是否经常觉得很疲惫 xff0c 怎么调整都找不到状态 xff1f 然而 xff0c 不论是工作还是生活 xff0c 我们每个人都需要进行自我能量的调节
  • 目标管理

    业务能力很突出 xff0c 管理能力跟不上 xff0c 怎么办 xff1f 这节课帮你补全管理必修模块 xff0c 掌握全面的管理视角 学了很多管理手段 xff0c 总是用不上怎么办 xff1f 用工具统一管理语言 xff0c 拿来就能用
  • 深入浅出理解SOME/IP

    详解SOME IP协议文档 1 知乎 知乎 xff0c 中文互联网高质量的问答社区和创作者聚集的原创内容平台 xff0c 于 2011 年 1 月正式上线 xff0c 以 让人们更好地分享知识 经验和见解 xff0c 找到自己的解答 为品牌
  • SOME/IP-SD 深入浅出

    文章中 xff0c 我们了解了一条完整的SOME IP报文应该长什么样子 xff0c 但这显然是不够的 xff0c 至少还有以下这几个问题并没有得到明确的解决 xff1a Client如何发现服务 当服务不可用时 xff0c 如何通知Cli
  • Segmentation Fault错误原因总结

    一 什么是 Segmentation fault in Linux 所谓的段错误就是指访问的内存超过了系统所给这个程序的内存空间 xff0c 通常这个值是由gdtr来保存的 xff0c 他是一个48位的寄存器 xff0c 其中的32位是保存
  • 漫谈QNX(架构/进程,线程,同步,进程间通信IPC)

    1 架构 说起Blackberry的QNX操作系统 想必大家都听说过 xff0c 但到底为什么QNX能如此有名 xff1f 难道微软的Windows和Linux都不能与之抗衡 xff1f 美国NASA的太空接驳飞船也使用QNX操作系统 QN
  • Linux系统安装后需要做什么?

    安装完linux系统之后需要做的事情 以centos7为例 xff1a 1 用root用户登录 2 tab键补全安装包 yum span class token operator span y install bash span class
  • ETAS Adaptive AUTOSAR 自适应平台示例视频教程

    ETAS AP AUTOSAR自适应平台示例视频教程 本系列文章旨在提供一个详细的操作指南 xff0c 以构建ETAS AP AUTOSAR自适应平台的示例 实践练习的目标是加强AUTOSAR自适应平台中的理论概念 xff0c 并更好地理解
  • 什么是微内核,看这一篇就够了

    微内核是将服务转移到进程上的一种内核模式 宏内核是一种传统的内核结构 xff0c 它将进程管理 xff0c 内存管理等各项服务功能都放到内核中去 xff0c 通常用在通用式的内核上 xff0c 如unix xff0c linux等 两个系统
  • AUTOSAR的E2E通信安全

    AUTOSAR标准的安全通信为支持功能安全 xff0c AUTOSAR标准结合ISO 26262功能安全标准 xff0c 在基础软件层从安全执行 安全通信以及安全内建测试三个方面做出了规范 xff0c 并规范 AUTOSAR标准的安全通信
  • bridged networking(桥接模式)和network address translation(NAT模式)

    在NAT模式下 xff1a 王五的主机里面的虚拟机有一个虚拟的网卡有一个IP地址192 168 100 88 xff0c 可以在内部生成一个虚拟的地址192 168 100 xff19 xff19 与之通信 xff0c 然后通过代理利用主机
  • Linux 目录结构

  • Adaptive AUTOSAR 简介 (2021版)

    目录 1 Adaptive AUTOSAR 简介 Adaptive平台 一种新的 AUTOSAR 1 1 Adaptive的案例 1 2 经典平台与适应性平台的比较 1 3 单一系统 1 4 架构 逻辑架构 1 5 软件架构 本文图片来源
  • 从Adaptive AUTOSAR的角度看SOA

    前言 身处汽车行业的我们深知 xff0c 新技术的应用或者新概念的提出 xff0c 一定是事出有因的 通常是为了抢夺新技术高地 xff0c 让汽车更好地满足未来的需求 那么 xff0c 汽车电子电气架构领域掀起的这股SOA热潮是由什么导致的
  • 什么是BSP?理解LINUX BSP

    BSP 可支持操作系统更好地运行于硬件主板 BSP xff08 Board Support Package xff09 指板级支持包 对于一般的嵌入式系统 xff0c 硬件部分需要嵌入式硬件工程师设计硬件电路 xff0c 而新出厂的电路板需
  • c++11 std::move() 的使用

    std move函数可以以非常简单的方式将左值引用转换为右值引用 xff08 左值 左值引用 右值 右值引用 参见 xff1a http www cnblogs com SZxiaochun p 8017475 html xff09 通过s
  • Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20 11 版本 本文从AUTOSAR EXP PlatformDesign pdf开始 xff0c 一边学习 xff0c 一边顺带着翻译一下 尽力而为 x