CP AUTOSAR 简介

2023-05-16

嵌入式系统不支持硬件抽象,使得我们每次在进行新的处理器更换之后。都需要进行重新进行底层软件的开发。

2003年建立autosar 组织。

autosar官方文档非常长2万多页,从这里可以看出什么?

1、autosar的复杂度

2、AUTOSAR的不成熟,它依然在前进,依然在完善中。

 

AUTOSAR到底是什么?

AUTOSAR说白了,它就是一套标准,

  • 标准了我们ECU的开发流程,
  • 标准了我们开发流程中的文件交换格式
  • 标准了我们ECU内部的代码应该如何去规范,如何书写。
  • 考虑系统的可用性和安全性,系统冗余的要求
  • 考虑系统在不同的车辆,不同的ECU,不同的平台上可能需要进行裁剪
  • 底层软件BSW作为一个标准的内核,来进行提供。
  • 功能上需要能够通过网络进行传递,也就是说ECU的功能可以在网络上进行移植,
  • 来自不同供应商提供的模块,要能够进行整合
  • 考虑在整个产品的生命周期内,对产品的软件进行维护。
  • 要尽可能多的使用现成的产品而不是要去单独开发,在汽车生命周期里进行软件更新的
  • autosar平台应用的领域要覆盖汽车大部分领域,如车身、安全、底盘、人机界面和娱乐系统等。

使用AUTOSAR软件作为中间件,实现软件和硬件的解耦。

AUTOSAR尝试去统一以前的软件和硬件五花八门的开发平台,从而对开发的过程进行简化。

为了实现这个目的,AUTOSAR把软件平台的标准进行了定义。

同时还提出来一套标准化的开发方法:

方法论包括:

标准化的开发流程

使用AUTOSAR软件平台进行ECU开发的一个流程,并在流程中介绍了,什么样的角色,使用什么样的工具,进行什么样的开发。开发的输入是什么?输出是什么?通过这样一个标准化的开发流程,使得我们的工作可以在OEM和供应商之间进行分割。

同时可以让我们在不同的阶段使用不同的工具来进行标准化的开发。

 

标准化的软件架构

这张图描述了autosar对于ECU内部软件架构的定义。在标准化的软件架构中把ECU软件分为若干层

autosar说白了就是整个汽车电子行业对于IT行业的一次学习,RTE就是把IT行业的中间件拿过来。

Application layer :ECU要实现的功能的软件。

RTE 层:将本层以下的硬件特征和底层软件进行隐藏。应用层开发软件,不需要关心,使用什么样的底层硬件,或者使用了什么样的底层软件服务。这样就可以实现一个ECU底层软件的抽象。说白了RTE就是负责所有通信行为的转发。

RTE之下就是autosar BSW,它由几个部分组成:

首先是服务层:为所有应用提供各种服务,其中包括操作系统,诊断、通信和内存管理、

ECU抽象层:它的存在是为了屏蔽芯片内部的资源和板上资源的差异性。

什么是最大的抽象?

Linux操作系统就是最大的抽象,用Linux你考虑过芯片是AMD还是Intel的吗?

你考虑过什么是主板吗?什么是声卡显卡吗?

不需要,微软替你搞定,一样autosar替你搞定。

 

微控制器抽象层:MCAL 屏蔽的是不同芯片的资源,它让你感觉不到你使用的飞思卡尔芯片还是英飞凌芯片。这就是MCAL的作用。

复杂驱动层:一直以来它最为神秘的一个层,说白了它什么都不是,复杂驱动这个框,什么都可以往里装,为什么?

因为autosar的目标是标准化,但是真正有工程经验的人都知道,这个世界上是没有办法百分百标准化的,不然工厂里为什么会有个非标部门呢?那么不能标准化的东西怎么办?

我们就放到复杂驱动里面去。典型应用如:发动机领域暴震控制,曲轴转角控制,集气门控制啊。这些都属于复杂设备驱动。

代码从来不是手写的,代码从来都是配置生成的,ECU的软件架构设计工具。

 


 

 

交换格式标准化:

AUTOSAR规定了一系列以XML文件为基础的模板,所有的开发都可以基于这些autosar提供的模板来进行软件和硬件的描述。

对系统的描述,也方便了在OEM和供应商之间的信息交换。

基础软件的标准化:

底层软件功能的规范标准化(AUTOSAR有很多软件规范,软件要求,里面规定了软件需要实现什么样的功能)

接口的标准化:不用关心软件内部是如何实现的,只需要调用这些标准化的接口就可以实现对应的功能了。

对单片机的抽象化:对不同平台的单片机进行抽象,不需要因为更换单片机而对软件进行完全重新开发。

基于VFB virtual functional BUS 的运行环境:

virtual functional BUS 就是RTE抽象的概念,所有的软件组件都是在 virtual functional BUS 上进行运行的。

 

AUTOSAR的基本概念:

这是一个非常抽象的对ECU功能进行描述的一个视图:

所有的SW-C软件组件,都是通过所谓的port(request port  response port 等)连接到virtual functional BUS

上面。所有的功能组件实际都是对ECU功能的描述,最后在实现过程中,都会生成在ECU上执行的代码。

这些功能组件,本身也是应用层软件,在开发之初不关心它具体在哪一个ECU上,也不关心它们之间是有什么样的方式

进行通讯,都是是有抽象的virtual functional BUS来对它们进行连接,virtual functional BUS可以实现SW-C软件组件之间的数据交换,同时也可以提供SW-C软件组件之间的服务调用。可以表示ECU内部的通讯,(内部总线通讯)也可以表示外部的一些总线通讯,如can总线,LIN总线

virtual functional BUS view下,我们把所有的底层的信息都进行了抽象,使得应用层开发可以完全独立于我们的ECU的映射和ECU的特性,关注应用层软件本身功能的开发,

对软件组件的介绍:

软件组件是AUTOSAR中Atomic component 最小逻辑单元,主要功能是实现算法 Application SWC,

还有一类:Sensor/actuator为Application提供传感器的输入,同时让应用层SWC能够对ECU进行操作。

 

这张图是对AUTOSAR软件和ECU硬件之间对应关系的描述,

SW-C1:是可以对传感器进行读取的应用程序,在它的右边

Sensor Component :在硬件上对应的就是硬件的传感器,可能是一个开关量,在它的右边

ECU Abstraction :ECU抽象层对应的就是我们在ECU上的一些硬件设计,在它的右边

MCAL :单片机抽象层,对单片机的外设进行抽象,单片机输出端口

 

SW-C2:是可以灯光调节的应用程序,在它的右边

Acturator Component:对应的硬件可能就是一个执行器,一个灯光控制器,

SWC内部的运行实体:

就是SWC软件组件里面的函数,可以进行周期性或事件触发调度。也就是这些函数组成了SWC。

可以通过RTE对这些Runables进行定时的调用,把这些Runables通过RTE映射到我们的操作系统中后,就可以

通过RTE进行定时调用。

 

 

 

 

RTE有两方面功能:

1、实现数据的通信

2、实现任务的调度

RTE是VFB总线的实现,会与每个ECU有关系。

 

3 AUTOSAR方法论

 

 

系统约束文件,整车的电子电器架构。 

 

 

需要将runnable 映射到对应的task中去,生成对应的描述文件。

在实际开发中,这是ECU的开发过程,根据这些配置文件,可以使用对应的代码生成工具,可以生成ECU相关的

软件代码。

ECU的实现:根据前面ECU的配置文件和代码生成工具,如:RTE代码生成工具,底层软件生成工具。

这些生成工具,会把配置文件转换成对应的C代码,C代码再配合上autosar的lib库文件,再加上SWC实现的文件,

最后把这些文件进行整合,就可以生成ECU执行的二进制代码了。这就实现了ECU的软件开发的过程。

 

 

4 AUTOSAR 分层软件架构

 

 

 

 

操作系统实际是包含入这个Service Layer里面去的,网络通信服务(CAN总线,LIN总线,以太网),管理服务,内存服务

非易失性存储器保证数据的一致性,如何进行写入,读取都是包含在内存服务里面。诊断服务(包括UDS诊断、错误的记录、

故障读取)、ECUM(管理ECU的状态)、逻辑和时序监控的服务(内部看门狗和外部看门狗)。

应用层可以通过对Service Layer的调用,实现这些服务。

 

5 BSW简介

Handler :控制一个或者多个客户端对驱动程序的并发访问函数,异步访问函数。

 

 

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

CP AUTOSAR 简介 的相关文章

  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    7 AUTOSAR MCAL入门 实战 xff1a I O驱动组 在第三节中有介绍AUTOSAR 把MCAL 抽象分为4个驱动组 xff0c 分别为 xff1a 微控制器驱动组 xff0c 存储器驱动组 xff0c 通信驱动组 输入 输出驱
  • Adaptive AutoSAR 标准介绍

    关于自适应AutoSAR 平台 自适应autosar 平台实现了adaptive applications的运营环境 它提供了两种接口 xff0c 一种是service 一种是API 平台功能分成两部分 xff1a service部分和ad
  • Adaptive AUTOSAR——Cryptography (VRTE3.0 R21-11)

    Cryptography模块是用于自适应汽车软件架构的密码学模块 xff0c 主要用于实现各种安全功能 xff0c 包括加密 解密 签名和验证 等操作 它的主要作用包括 xff1a 安全通信 xff1a 使用各种算法对数据进行加密和解密 x
  • 3.Adaptive AUTOSAR 架构详解

    3 1 逻辑层架构 下面显示了AP的逻辑架构 xff0e AA xff08 adaptive application 在ARA AUTOSAR Runtime for Adaptive Applications 上运行 ARA包含了所有功能
  • AUTOSAR —— S32K144 的 Fls 和 Fee 模块配置

    本文来简要介绍一下如何在EB中配置AUTOSAR Fls和Fee模块 Fls模块是Flash的驱动 xff0c 执行具体的Flash擦写读取等操作 Fee模块的全称是FlashEEPROMEmulation xff0c 即Flash模拟EE
  • AUTOSAR ComM模块介绍

    AUTOSAR ComM模块介绍 Autosar ComM概述 Autosar ComM 全称是 Autosar Communication Manager 顾名思义就是用来管理通讯的 ComM 模块位于 BSW 中 Systme Serv
  • 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

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

    AUTOSAR标准的安全通信为支持功能安全 xff0c AUTOSAR标准结合ISO 26262功能安全标准 xff0c 在基础软件层从安全执行 安全通信以及安全内建测试三个方面做出了规范 xff0c 并规范 AUTOSAR标准的安全通信
  • Adaptive AUTOSAR 简介 (2021版)

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

    Dem全称为Diagnostic Event Manager xff0c 负责故障事件的处理 故障数据的存储和管理 简单说其功能是故障事件确认前的故障debounce xff0c 故障事件确认时的故障数据存储 xff0c 故障发生后的故障老
  • Adaptive AUTOSAR——Time Synchronization(VRTE 3.0 R21-11)

    15 Time Synchronization 15 1 What is Time Synchronization 时间同步是自适应平台基础中的一个功能集群 时间同步通过库向应用程序提供C 43 43 API xff0c 该库作为RTA V
  • 什么是AUTOSAR?为什么汽车公司开始采用AUTOSAR来开发新产品?

    越来越多的车企开始应用ATUOSAR xff0c 也有很多公司在招聘时会在JD里注明 xff0c 应聘者需要熟练掌握AUTOSAR xff0c 那么什么是AUTOSAR xff1f 为什么从奔驰 宝马等传统豪华汽车巨头 xff0c 到新势力
  • Adaptive Autosar 整体架构理解

    1 总体说明 xff08 图片来源主要来源于Simulink 以及 Vector xff09 在Autosar官网 xff08 autosar org xff09 上 xff0c 目前CLASSIC PLATFORM 更新到4 4版本 xf
  • [Adaptive Autosar]深入理解--Persistency

    目录 1 Per架构 2 Per初始化 3 Per错误处理 4 多进程访问 5 冗余存储 6 安装和更新per数据 7 Key Value 方式 8 file storage 方式 9 典型使用代码 Persistency模块对比 CP 中
  • 一文读懂Autosar SecOC通讯

    一 为什么用SecOC xff1f 在车载网络中 xff0c CAN总线作为常用的通讯总线之一 xff0c 其大部分数据是以明文方式广播发送且无认证接收 这种方案具有低成本 高性能的优势 xff0c 但是随着汽车网联化 xff0c 智能化的
  • PHY- PHY芯片概述

    1 PHY概述 关于Internet Protocal的分层模型可以参考文章 Internet Protocal OSI模型中的网络分层模型 下面我们讲讲底层以太网控制器和收发器的知识 其主要是处理OSI模型中的物理层和链路层的事情 在CA
  • 协议数据单元PDU和服务数据单元SDU

    关注汽车工程师谈技术 一起学习技术 目录 1 协议数据单元PDU和服务数据单元SDU 2 AutoSAR中PDU和SDU的应用 3 总结 返回总目录 协议数据单元PDU 大家在AutoSAR开发过程中 特别是通信和诊断开发中 应该会经常碰到
  • 数据类型:C++中的基本数据类型

    数据类型 C 中的基本数据类型 在C 中 数据类型是用于存储不同种类数据的变量类型 C 提供了多种基本数据类型 包括字符型和数值类型 本篇博客将详细介绍C 中的基本数据类型 并提供相应的示例代码 目录 引言 字符型数据类型 2 1 char

随机推荐

  • Linux回收子进程

    孤儿进程 孤儿进程 父进程先于子进程结束 xff0c 则子进程成为孤儿进程 xff0c 子进程的父进程成为init进程 xff0c 称为init进程领养孤儿进程 include lt stdio h gt include lt unistd
  • C++内存管理(超长,例子很详细,排版很好)

    导语 内存管理是C 43 43 最令人切齿痛恨的问题 xff0c 也是C 43 43 最有争议的问题 xff0c C 43 43 高手从中获得了更好的性能 xff0c 更大的自由 xff0c C 43 43 菜鸟的收获则是一遍一遍的检查代码
  • c++ string 的常用库函数的用法

    目录 一 初始化 二 获取长度 xff08 length size xff09 三 插入 xff08 insert xff09 四 替换 xff08 replace xff09 五 添加 xff08 append xff09 六 赋值 xf
  • linux学习笔记1

    shutdown 一分钟后关机 shutdown c 取消关机命令 shutdown r 重新启动系统 shutdown 43 10 十分钟后关机 ifconfig 查看 配置计算机当前的网卡配置信息 ping 地址 检测目标ip地址的连接
  • 一道爬楼梯的算法题

    一个小孩爬楼梯 xff0c 每次可以爬1个 2个或3个台阶 xff0c 编程求出这个小孩爬完10个台阶的楼梯一共有多少种走法 def main k 61 0 构建函数1 x 43 2 y 43 3 z 61 10 确定x取值范围 for x
  • 面试技术杂ji——需要解决的问题

    需要搞明白的几个问题 xff1a 1 3次握手和4次挥手 2 TCP与UDP的区别 3 如果TCP连接出现问题该如何排查 xff0c 说明排查的思路 连接断开或者出错 xff0c 会返回一个错误码 xff0c errorNo 最后一次系统调
  •  SHELL 脚本学习笔记

    第十四章 SHELL 脚本 终于到 shell 脚本这章了 xff0c 在以前笔者卖了好多关子说 shell 脚本怎么怎么重要 xff0c 确实 shell 脚本在 linux 系统管理员的运维工作中非常非常重要 下面笔者就带你正式进入 s
  • 软件定义汽车 新一代技术发展

    引言 作为一个技术的爱好者 xff0c 搞算法 xff0c 玩芯片 xff0c 攒系统 xff0c 并不只是工作 xff0c 也是自己所追求的很重要的部分 写这个系列 xff0c 是为了梳理这几年的所学 所思 所想 xff0c 从而形成一个
  • 解压缩 tar命令详解

    1 tar命令进行文档的归档和压缩 归档和压缩文件 归档和压缩文件的好处 xff1a 节约硬盘的资源 xff0c 加快文件传输速率 tar命令 作用 xff1a 打包 压缩文件 xff1b tar文件是把几个文件和 xff08 或 xff0
  • 华测导航GPCHC协议ROS驱动包,CGI610、410接收机,NavSatStatus、GPSFix和普通格式

    目录 一 消息类型1 1 sensor msgs NavSatFix1 2 sensor msgs NavSatStatus1 3 gps common GPSFix1 4 sensor msgs Imu 二 部分源码2 1 相关的依赖和库
  • 淡定地撸了一遍AUTOSAR的基本概念

    1 AUTOSAR的解决方案 之前的文章 老板说项目要上AUTOSAR xff0c 我慌得一批 讲到了 xff0c 面对日益复杂的汽车E E架构 xff0c 在欧洲大地上诞生的AUTOSAR组织 xff0c 提出了解决方案 而且做了标准化
  • 图文并茂,一文讲透C语言结构体内存对齐

    面试官 xff1a 你知道C语言的结构体对齐吗 xff1f 应聘者 xff1a 听说过 平时很少关注 面试官 xff1a 好吧 xff0c 那回去等通知吧 C语言结构体对齐问题 xff0c 是面试必备问题 本文 xff0c 除了用图解的方式
  • 老板说项目要上AUTOSAR,我慌得一批

    莫慌 xff0c 淡定 xff0c 先来看看AUTOSAR是个什么鬼 AUTOSAR是什么 AUTOSAR AUTomotive Open System ARchitecture xff0c 中文是 汽车开放系统架构 xff0c 是一家致力
  • AUTOSAR架构的故事(干货)

    1 AUTOSAR架构概览 在新世纪 xff0c 汽车产业蓬勃发展 xff0c 欧洲大陆的车企们 xff0c 瞄准了这是一块大蛋糕 xff0c 于是在2002年成立了一个联盟 xff0c 搞了个叫AUTOSAR的标准 xff0c 以期一统天
  • 基于PREEvision的AUTOSAR Adaptive设计

    导读 xff1a 为适应汽车智能化 网联化等的发展趋势 xff0c 应对汽车E E系统开发面临的高性能处理器的应用 自动驾驶的软件实现 高带宽通信需求 车与外界的互联互通等的挑战 xff0c AUTOSAR组织推出了AUTOSAR Adap
  • DoIP技术

    首发于汽车控制器 ECU 网络诊断技术交流 DoIP技术 xff08 一 xff09 本文是关于DoIP技术的第一篇文章 xff0c 主要进行一些概念介绍 xff0c 具体的细节会在后续的文章中和大家探讨 DoIP是 Diagnostic
  • 车载以太网 - 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