本系列学习笔记基于 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。



2.5 规范范围

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

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.

Adaptive AUTOSAR 学习笔记 3 - AP 背景、技术及特征(中文翻译)的更多相关文章

  1. Adaptive AUTOSAR 学习笔记 8 - 干货小结:背景、技术、特征、架构、方法论和 Manifest

    官方文档下载方式及介绍情参见 Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议. 这是 Adaptive AUTOSAR 学习笔记的第 8 篇,学习笔记 3 - 7 翻译了 ...

  2. Adaptive AUTOSAR 学习笔记 2 - 官方文档下载及阅读建议

    目前互联网上没有太多的 Adaptive AUTOSAR 的学习资料,官方文档是一个很不错的途径.看过官方文档才发现,目前很多关于 Adaptive AUTOSAR 的文章都是官方文档的简化翻译,不如 ...

  3. Adaptive AUTOSAR 学习笔记 16 - 时间同步和网络管理

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

  4. Adaptive AUTOSAR 学习笔记 5 - 架构 - 物理视图

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  5. Adaptive AUTOSAR 学习笔记 6 - 架构 - 方法论和 Manifest

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  6. Adaptive AUTOSAR 学习笔记 15 - 持久化 Persistency

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf.作者:Zijian/TENG 原文地 ...

  7. Adaptive AUTOSAR 学习笔记 4 - 架构

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  8. Adaptive AUTOSAR 学习笔记 7 - 应用设计和 Manifest

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 AP:AUTOSAR Adap ...

  9. Adaptive AUTOSAR 学习笔记 10 - 执行管理

    本系列学习笔记基于 AUTOSAR Adaptive Platform 官方文档 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf 缩写 EM:Execution Ma ...

随机推荐

  1. java学习之旅2——set

    var set = Collections.synchronizedSet(new HashSet<Integer>()); 可以这样来获得一个同步的集合. 对于HashSet, for循 ...

  2. 针对Spring MVC的Interceptor内存马

    针对Spring MVC的Interceptor内存马 目录 针对Spring MVC的Interceptor内存马 1 基础拦截器和调用流程的探索 1.1 基础拦截器 1.2 探索拦截器的调用链 1 ...

  3. RGB-D相机视觉SLAM

    RGB-D相机视觉SLAM Dense Visual SLAM for RGB-D Cameras 开源代码地址:  vision.in.tum.de/data/software/dvo 摘要 本文提 ...

  4. CVPR2020:利用图像投票增强点云中的三维目标检测(ImVoteNet)

    CVPR2020:利用图像投票增强点云中的三维目标检测(ImVoteNet) ImVoteNet: Boosting 3D Object Detection in Point Clouds With ...

  5. 在python_request 中 nb-log 日志模块的使用,应用到项目实际使用

    一.安装 pip install nb-log pycham 中安装: 二.基本使用 2.1 pycham中调整设置控制台日志打印出的颜色 2.2 设置完成后去掉console弹出的颜色设置 2.3  ...

  6. 分布式Jmeter压测机的部署

    部署 1.分布式配置 Master机Jmeter安装目录下/bin/jmeter.properties remote_hosts修改为slave压力机的IP 如 remote_hosts=10.0.4 ...

  7. 重新整理 .net core 实践篇—————日志系统之结构化[十八]

    前言 什么是结构化呢? 结构化,就是将原本没有规律的东西进行有规律话. 就比如我们学习数据结构,需要学习排序然后又要学习查询,说白了这就是一套,没有排序,谈如何查询是没有意义的,因为查询算法就是根据某 ...

  8. 编译原理-文法(G)和语言(L)

    1.设文法G2(S): S->AB A->aA|a B->bB|b G2(S)产生的语言是什么? 解:L(G2)={ambn|m,n≥1} 2.请给出产生语言为{anbn|n≥1}的 ...

  9. tar与NTP时间同步

    tar备份与恢复 归档和压缩 : 1.方便对零散文件管理    2.减少空间的占用 常见的压缩格式及命令工具: gzip ----> .gz bzip2 ---->.bz2 xz ---- ...

  10. 设置NX欢迎界面

    环境变量 变量名:UGII_WELCOME_PAGE 变量值:http://www.baidu.com/