AUTOSAR学习

news2024/11/29 3:52:42

文章目录

  • 前言
  • 1. 什么是autosar?
    • 1.1 AP(自适应平台autosar)
    • 1.2 CP(经典平台autosar)
    • 1.3 我的疑问
  • 2. 为什么会有autosar
  • 3.autosar的架构
    • 3.1 CP的架构
      • 3.1.1 应用软件层
      • 3.1.2 运行时环境
      • 3.1.3 基础软件层
    • 3.2 AP的架构
  • 4. 参考资料


前言

前段时间参加系统架构师的软考,其中案例分析中的嵌入式题目是分析autosar架构,但是自己只是听说过汽车领域正在使用这个架构,实际上这个架构到底是什么?以及它有什么作用,则是全然不知,最终作为一个嵌入式工程师,案例题也没有选择这个嵌入式题目。 其实软考会考这个东西再一定层面上就说明,国家或者当前社会这块的人才是有些稀缺的,然后想通过这种软考让更多的人去了解autosar架构。

另外最近在看机器人领域的工作,发现和ROS(机器人操作系统)相关的开发工作中很多都提到了要对autosar有一定的了解。
再加上近些年新能源汽车越来越火,很多相关的高薪嵌入式岗位中都要求对autosar有一定了解,就想着去学习一下,看看这个autosar到底是个啥。

因为属于自我科普的记录文章,所以不会太深入去进行研究和讨论。如果想要对autosar有个深入的了解,建议大家可以去参考资料中寻找对应的信息。

1. 什么是autosar?

Home Autosar是一个汽车软件架构,提供开放式汽车软件架构,帮助您应对日益复杂的代码挑战。该架构支持开发标准化的电子系统,可改进质量、性能、安全性和环保功能。它还有助于简化汽车使用寿命内软件的更新流程。

autosar目前分为两种,分别是CP(经典autosar)和AP(自适应autosar)。
在这里插入图片描述

1.1 AP(自适应平台autosar)

全称为自适应AUTOSAR平台(AUTOSAR Adaptive Platform,AP)
2018年,为了迎合未来汽车智能化、网联化的需求,AUTOSAR联盟推出的一个全新平台,将AP加入到原有的AUTOSAR平台中

官方介绍地址:https://www.autosar.org/standards/adaptive-platform

1.2 CP(经典平台autosar)

经典AUTOSAR平台(AUTOSAR Classic Platform)
官方介绍地址:https://www.autosar.org/standards/classic-platform

1.3 我的疑问

1.AP和CP的关系是啥?

AP 和 CP 在 AUTOSAR 中是相互补充、协同发展的关系:

一方面,它们共同构成了 AUTOSAR 架构以满足不同类型汽车电子系统的需求。CP 作为基础,在传统汽车电子领域发挥着重要作用,保障了车辆基本功能的稳定运行;AP 则适应新的发展趋势,为智能网联汽车提供了更强大的功能扩展和灵活性。

另一方面,它们之间也存在一定的过渡和融合。随着技术的发展,一些 CP 上的功能可能会逐渐向 AP 迁移或融合,以实现更高效的系统整合和创新。并且在实际应用中,一辆车上可能同时存在基于 CP 和 AP 的不同系统,它们之间需要进行良好的协同和交互。

2. AP和CP的区别是啥?

  • CP

      应用场景:面向汽车电子的基础控制领域
      硬件要求:对处理器要求不高,经常是运行在8 位、16 位、32 位的微控制器(MCU)中
      操作系统:一般采用实时操作系统RTOS
    
  • AP

      应用场景:面向主要面向高度智能化、联网化且功能需求不断变化的复杂应用场景
      硬件要求:对处理器要求较高,一般是运行在64位的高性能处理器(MPU)或CPU中
      操作系统:一般是兼容POSIX的操作系统,如LINUX
    

2. 为什么会有autosar

随着电子技术在动力总成控制、底盘控制、车身控制以及车载信息娱乐系统等各个部分所占的比重越来越大、所占的整车成本也越来越高,电子技术已悄悄成为汽车各方面功能拓展和性能提升的重要技术支撑。

为了满足汽车电子硬件系统的多样性,提高软件的模块化和复用度,减少研发成本、降低研发周期。因此在 2003 年,基于先前 EAST-EEA 项目的研究成果,由全球汽车制造商、零部件供应商及其他电子、半导体和软件系统公司联合建立了汽车开放系统架构联盟(Automotive Open System Architecture),即 AUTOSAR。

autosar的特点:
在讨论为什么有autosar时,其实我们也可以看一下autosar有哪些优点,知道了他有哪些优点,也就大概能够反推为什么汽车电子领域会需要autosar了

  • 高度的标准化
    通过定义一整套全面且细致的标准和规范,包括软件架构、接口定义、通信协议等各个方面,确保了不同的汽车电子组件和系统能够在统一的框架下和谐共存、协同工作,避免了因缺乏标准而导致的兼容性问题和混乱局面,极大地提升了系统的整体协调性和稳定性。

  • AUTOSAR 具备强大的可扩展性
    其架构设计灵活,能够轻松容纳新的功能和技术的融入。无论是新的传感器、执行器的加入,还是新的软件模块的引入,都可以较为顺畅地与现有系统进行整合,无需对整个体系进行大规模的重构,这使得汽车电子系统能够快速适应不断变化的技术发展趋势和用户多样化的需求,保持与时俱进的能力。

  • 软件复用性在 AUTOSAR 中得到了高度的体现
    它创建了一个有利于软件组件重复使用的环境,减少了重复开发的工作量和成本。开发人员可以从已有的软件库中挑选合适的组件,并根据具体项目需求进行定制和组合,从而大大提高了开发效率,缩短了产品的上市时间,同时也保障了软件质量的一致性和可靠性。

  • AUTOSAR 对于安全性和可靠性的保障极为重视
    它制定了严格的安全准则和测试要求,对软件的开发、验证和部署过程进行严格把控。通过严格的质量控制和风险评估机制,确保软件在各种复杂环境和工况下都能稳定、安全地运行,降低潜在故障和风险发生的可能性,为驾驶者提供了高度可靠的行车保障。

  • AUTOSAR 还具有良好的兼容性和互操作性
    不同的汽车制造商、零部件供应商以及软件开发商都可以在这一统一的平台上进行合作和交流。它打破了传统的技术壁垒和界限,促进了整个汽车产业链的协同发展,使得各方资源能够更加高效地整合和利用,共同推动汽车电子技术的进步和创新。

3.autosar的架构

3.1 CP的架构

完整版本:
在这里插入图片描述
简化版本:
在这里插入图片描述

3.1.1 应用软件层

包含若干个软件组件(Software Component,SWC),这些组件实现了具体的车辆功能,每个软件组件都具有明确的功能定义和接口,比如控制类组件,负责对车辆的某些系统进行精确控制;监测类组件,实时监控车辆的状态和参数;通信类组件,处理与其他 ECU 或外部系统的信息交互等。

软件组件间通过端口(Port)进行交互。每个软件组件可以包含一个或者多个运行实体(Runnable Entity,RE),运行实体中封装了相关控制算法,其可由 RTE 事件(RTE Event)触发。

  • 我的疑问
    • autosar组件中的端口是指socket的端口吗?
      在 AUTOSAR 中,端口(Port)并不是指网络编程中的 Socket 端口。在 AUTOSAR 架构中,端口是软件组件(Software Component,SWC)之间进行通信的接口。每个端口都有明确的定义和功能,用于在不同的软件组件之间传递数据和控制信息。

    • autosar中的SWC又是个啥?
      SWC(Software Component)即软件组件,是 AUTOSAR 架构中的核心概念之一。它是一个独立的、可重用的、自我描述的、可替换的软件单元,具有清晰的输入输出接口。

      在使用 AUTOSAR 架构时,开发人员首先需要将整个汽车电子系统分解为不同的 SWC,每个 SWC 都应具有特定的功能,如传感器数据处理、控制算法、用户界面等,同时需要定义其输入输出接口以及其它自述和控制接口,这些接口都要符合 AUTOSAR 定义的规范。

3.1.2 运行时环境

AUTOSAR 运行时环境(Runtime Environment,RTE)作为应用软件层和基础软件层交互的桥梁,为软硬件分离提供了可能。RTE 可以实现软件组件间、基础软件间以及软件组件和基础软件之间的通信

RTE 封装了基础软件层的通信和服务,为应用层软件组件提供了标准化的基础软件和通信接口,使得应用层可以通过 RTE 接口函数调用基础软件的服务。

  • 虚拟功能总线VFB及运行环境RTE
    在这里插入图片描述

    虚拟功能总线(VFB)是底层基础软件与网络拓扑结构的抽象。是AutoSar提供的所有通信机制的集合,在信息学数据交互的过程中,应用程序被建模为组合组件。软件组件之间通过VFB进行通讯的。

    在系统配置时,软件组件会被映射到制定的ECU上,同时组件间的虚拟连接也被映射到了CAN,FlexRay, MOST等总线上。

    需要注意的是 RTE也就是单个ECU上对VFB接口的实现。

    使用虚拟功能总线,可以使得负责应用层软件的开发人员不用去关心一个软件组件最终在整车中的哪个 ECU 中具体实现,从而使得应用软件的开发可以独立于具体的 ECU 开发。因此,可以让应用软件开发人员专注于应用软件组件的开发。而 VFB 的真实通信实现则由 RTE 和基础软件来保证,从这一角度来看,RTE 是 AUTOSAR 虚拟功能总线的具体实现。

  • 什么是AUTOSAR中的ECU?

    ECU可以看作是一个单独的芯片或者说是微型计算机。
    汽车电子中要控制那么多的电子器件,不同的电子器件对实时性和性能要求又不一样,因此一辆汽车中肯定是有多个控制芯片组成的。
    不同的控制芯片就是不同的ECU。

    虽然一辆完整的汽车,物理上是不同的控制芯片组成,但是在用户的角度来看整个汽车仍然是一个实体,所以不同的ECU之间是要进行交互和通讯的。这也就引出了VFB虚拟总线的概念。不同的ECU去实现该协议,然后借助WIFI或者CAN等通过该协议进行设备发现,状态同步等功能。

3.1.3 基础软件层

在这里插入图片描述

AUTOSAR 基础软件层(Basic Software Layer,BSW)又可分为四层,即服务层(Services Layer)、ECU 抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer,MCAL)和复杂驱动(Complex Drivers)。

  • 服务层

    • 通信服务:
      • 也就是对CAN、LIN、FlexRay在内的整车网络系统进行统一封装。
      • 对上层应用隐藏协议以及报文属性,也就是说上层应用无需关注通信是通过CAN还是LIN 去进行的。
      • 提供统一的总线通信接口、网络管理服务、诊断通讯服务

    • 内存服务
      • 也就是对内存访问进行了统一的封装。

    • 系统服务
      • 提供RTOS服务,包括中断管理、资源管理、任务管理等

  • ECU抽象层
    ECU 抽象层(ECU Abstraction Layer)包括板载设备抽象、存储器硬件抽象、通信硬件抽象和 I/O 硬件抽象。该层将 ECU 结构进行了抽象,负责提供统一的访问接口,实现对通信、存储器以及 I/O 的访问,从而不需要考虑这些资源是由微控制器片内提供的,还是由微控制器片外设备提供的。该层与 ECU 平台相关,但与微控制器无关,这种无关性正是由微控制器抽象层来实现的。

    刚开始我以为ECU抽象层应该就是微控制器抽象层,但实际上它是在微控制器之上的一层,可以把微控制器抽象层理解为驱动层。
    当驱动有了之后,应用层在使用时很少会直接使用驱动,因为驱动提供的接口很全,但是使用起来也会更加麻烦,我理解ECU应该是对驱动又进行了一些封装。

  • 微控制器抽象层
    微控制器抽象层(Microcontroller Abstraction Layer,MCAL)是实现不同硬件接口统一化的特殊层。通过微控制器抽象层可将硬件封装起来,避免上层软件直接对微控制器的寄存器进行操作。微控制器抽象层包括微控制器驱动、存储器驱动、通信驱动、I/O 驱动等模块。

  • 复杂驱动层
    由于对复杂传感器和执行器进行操作的模块涉及严格的时序问题,难以抽象,所以在 AUTOSAR 规范中这部分没有被标准化,统称为复杂驱动(Complex Drivers)。

3.2 AP的架构

在这里插入图片描述
核心功能点:

Adaptive Application:自适应应用程序是AP架构的核心,它是一种可以根据运行时环境动态调整的软件组件。这些应用程序可以实现环境感知、行为规划等功能。

ARA(Adaptive Runtime for AUTOSAR):ARA是自适应应用程序的运行环境,它提供了与CP RTE(Runtime Environment)完全不同的接口。ARA由多个功能集群组成,这些功能集群被划分为基础服务和自适应服务两类。

POSIX操作系统:AP架构构建在POSIX操作系统之上,以提供更高的性能和灵活性。
功能集群:功能集群是ARA的组成部分,每个功能集群都实现了特定的功能,例如通信管理、诊断服务等。

服务和API:AP架构使用服务和API来完成数据交换,应用程序通过这些接口与其他组件进行通信。

以太网通信:AP架构的通信是面向服务类型的,它将网络绑定到DDS(Data Distribution Service)或SOME/IP(Scalable service-Oriented Middleware over IP),并使用以太网与其他ECU进行通信。

灵活性和可扩展性:AP架构设计为具有高度的灵活性和可扩展性,以满足不断变化的汽车电子系统需求。它支持软件的动态更新和配置,以及新功能的添加。

AUTOSAR自适应平台基础中的功能集群必须每个(虚拟机)至少有一个实例,而服务可以分布在车载网络中。

与AUTOSAR经典平台相比,自适应平台的AUTOSAR运行时环境在运行时动态链接服务和客户端。

4. 参考资料

豆包

autosar 官网

来来来!我告诉你 AUTOSAR架构深度解析从入门到放弃

AUTOSAR 发展现状

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1815722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电商数据都有哪些种类?对电商数据进行分析有什么重要意义?

在数字化时代,电商行业的蓬勃发展带来了前所未有的数据积累。每一笔交易、每一次点击、每一条用户反馈都构成了电商数据的庞大体系,成为企业最宝贵的资产之一。电商数据分析不仅能够帮助企业洞察消费者行为,优化产品和服务,还能在…

一键Mock工具(Http协议接口调试工具)

1. 前言 在进行Web开发时,前端小伙伴通常是和后端开发人员同步进行项目开发,经常会遇到后端开发人员接口还没开发完,也没有可以调试的环境,只能按照接口文档进行“脑回路开发”,无法调用真实的接口,也无法…

IP隔离是什么,你了解多少?

一、IP地址隔离的概念和原理 当我们谈论 IP 地址隔离时,我们实际上是在讨论一种网络安全策略,旨在通过技术手段将网络划分为不同的区域或子网,每个区域或子网都有自己独特的 IP 地址范围。这种划分使网络管理员可以更精细地控制哪些设备或用…

Vue3中子组件挂载问题,父组件修改子组件值的问题

1,首先在父组件导入子组件 挂载 2,传递值给子组件 3,子组件

记录清除挖矿病毒 solrd 过程

1、发现solrd病毒 端午节期间,kafka 服务器被黑客攻击了,植入了挖矿病毒 solrd,这个病毒很聪明,内存,CPU并没有异常升高,以致于上班第一天完全没有察觉。 上班第一天 正常登录服务器查看 flink ,消费kafka…

【JavaScript】简单数据类型 与 复杂数据类型 ① ( 堆内存和栈内存 | 简单数据类型内存存储 | 复杂数据类型内存存储 )

文章目录 一、简单数据类型1、简单数据类型简介2、简单数据类型 null 空类型的特殊性 二、复杂数据类型三、堆内存和栈内存 一、简单数据类型 1、简单数据类型简介 JavaScript 中 , " 简单数据类型 “ 又称为 ” 基本数据类型 " 或 " 值类型 " , 与 简单数…

AI口语练习软件的技术难点

实现AI口语练习软件是一项复杂的任务,需要攻克多项技术难点。随着人工智能技术的不断发展,AI口语练习软件将变得更加智能和人性化,为用户提供更加有效的口语练习体验。北京木奇移动技术有限公司,专业的软件外包开发公司&#xff0…

Kubeadm 1.24.x安装教程

第一章 基本环境配置 1.1 配置hosts 所有节点 修改/etc/hosts如下: 192.168.0.93 W31-ywzt-SIT-1 192.168.0.94 W31-ywzt-SIT-2 1.2 CentOS 7安装yum源如下 所有节点 curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo…

FastLineDetector(FLD)快速直线检测器的使用方法

操作系统:ubuntu22.04OpenCV版本:OpenCV4.9IDE:Visual Studio Code编程语言:C11 1.功能描述 opencv_contrib中有一个用于快速检测直线的类,叫FastLineDetector,下面介绍一下如何使用它,首先要用到一个cv:…

巴伦在接收链路中的应用

一、巴伦的定义 "巴伦"(Balun),是一种平衡-不平衡转换器,通常用于将平衡信号(如差分信号)转换为不平衡信号(如单端信号),或者反之。巴伦在无线通信、广播、天…

手机流畅运行470亿大模型:上交大发布LLM手机推理框架PowerInfer-2,提速29倍

卡奥斯智能交互引擎是卡奥斯基于海尔近40年工业生产经验积累和卡奥斯7年工业互联网平台建设的最佳实践,基于大语言模型和RAG技术,集合海量工业领域生态资源方优质产品和知识服务,旨在通过智能搜索、连续交互,实时生成个性化的内容…

GEE数据集——全球河流阻塞数据库 (GROD)1.1 版

全球河流阻塞数据库 (GROD) GROD v1.1(文件名:GROD_v1.1.csv),即全球河流阻塞数据库 1.1 版,包含 30549 个人工识别的阻碍河流纵向流动的人为结构。谷歌地球引擎卫星地图上的所有河流障碍物都已在全球陆地卫星河宽&am…

2024年数字技术与智慧教育国际会议(DTSE 2024,7月26-28)

2024年数字技术与智慧教育国际会议(DTSE 2024)将于2024年7月26日在广东省广州市召开,本次会议专注于“数字技术与智慧教育”领域, 将汇集全球范围内的学者、研究人员以及教育技术开发者,共同探索和分享该领域内的最新学…

软件游戏缺失mfc100u.dll如何解决,教你多种有效的方法

在现代科技日新月异的时代,电脑已经成为我们生活和工作中不可或缺的一部分。然而,随着使用时间的增长,电脑也会出现各种各样的问题。其中,“电脑中丢失mfc100u.dll”是许多用户经常遇到的问题之一。那么,这个问题究竟是…

XXL-JOB分布式任务调度快速入门

文章目录 概念快速启动XXL-JOB调度初始化执行器项目配置执行器新增GLUE模式(Java)的任务新增BEAN模式(类形式)的任务BEAN模式(方法形式)的任务参考来源 概念 XXL-JOB是一个开源的分布式任务调度平台,它是一个轻量级、…

Web前端大作业:基于html+css+js的仿酷狗音乐项目(内附源码)

文章目录 一、项目介绍二、项目展示三、源码展示四、获取源码 一、项目介绍 课设是要仿照酷狗音乐的首页进行设计。酷狗音乐是国内知名的音乐应用程序,凭借其优秀的音乐库和智能推荐功能吸引了大量用户群体。模仿酷狗音乐的首页设计,可以让课设展现出专业水准,体现出对优秀产品…

Excel自定义排序和求和

概览 excel作为办公的常备工具,好记性不如烂笔头,在此梳理记录下,此篇文章主要是记录excel的自定义排序和求和 一. 自定义排序 举个例子 1. 填充自定义排序选项 实现步骤: 选定目标排序值;文件->选项->自定…

zypcy

一、浏览器调试 1、elements 2、Network 用于抓包 Preserve log:保留日志,所有日志都会被保留,而不是被覆盖,刷新前刷新后的日志都会被保留 Disable cache:禁止缓存,保证每次变化都是从服务器请求的数据&…

海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统,灵活、方便、人性化设计、简单易用是最大的特色,可快速建立一个海量内容的专业网站。海洋CMS基于PHPMySql技术开发,完全开源免费 、无任何加密代码。 0x02 漏洞概述 海…

SAP 中的Incoterms国际贸易条款术语解释

之前写代码建交货单的时候总是会遇到这个字段,通常我们可能会填FOB或者CIF或者其他,但并不清楚这些都是什么意思,偶然间看到一篇帖子对此作了解释,也记录分享一下。 原文地址: Incoterms|FOB、CFR和CIF&a…