Autosar基本概念详细介绍

news2025/2/21 10:41:54

Autosar的由来

在汽车创新应用不断涌现的推动下,当代汽车电子电气(E/E—Electronic/Electrical)架构已经非常复杂,需要有创新的技术突破才能有效地进行管理,满足日益增长的乘客需求和法律要求。这个需求对汽车制造商及一级供应商(Tier 1)提出了严峻的挑战,他们面临着以下冲突:

● 法律法规执行方面—关键项目包括环境方面和安全要求;

● 舒适性和娱乐功能方面—乘客便利和个性化服务要求;

● 驾驶员辅助和自动驾驶方面—关键项目包括检测和抑制高密度交通环境中的关键动态车辆状态和导航等。

领先的汽车原始设备制造商(Car OEM)和一级供应商逐渐认识到这已经成为行业范围内的挑战,因而需要共同努力应对。他们的共同目标是奠定行业协作创新发展基础,同时打造一个继续鼓励功能创新和质量竞争的平台。为此,建立了一种称为汽车开放系统架构(AUTomotive Open Source ARchitecture,AUTOSAR)的开发合作伙伴关系。

Autosar的目标:AUTomotive Open System ARchitecture

AUTOSAR建立的动机如下:

● 降低与功能范围增长相关的E/E架构的复杂性。

● 提高产品修改、升级和更新的灵活性。

● 提高产品线内和跨产品线的解决方案的可扩展性。

● 提高E/E架构的质量和可靠性。

AUTOSAR建立的最终目标如下。

● 满足未来汽车需求,如可用性和安全性,提高汽车软件升级、更新的灵活性、可维护性。

● 提高集成和传输功能的可扩展性和灵活性。

● 提供更高的“商品离岸”SW和HW组件在产品线上的渗透率。

● 降低产品的封测过程的复杂性、风险性。

● 降低可扩展系统的成本。

Autosar出现之前,每个芯片厂、每款芯片的软硬件不同,造成了软硬件耦合严重、开发效率低下、可重用性差等问题。

Autosar出现,将应用软件和芯片硬件完全隔离。

隔离后芯片厂专注硬件与autosar的适配,开发应用的人专注使用autosar做应用而不用过多关注硬件情况。

Autosar的基础架构

Autosar整体架构图如下所示:

应用软件层[AUTOSAR运行时环境(RTE)以上的层]由映射在标准化汽车电控单元(ECU)上的AUTOSAR软件组件组成。AUTOSAR软件组件和其他软件组件之间的所有交互都是通过AUTOSAR运行时环境(Run Time Environment,RTE)进行的。

实时运行环境(RTE)在系统设计层面(无论硬件如何起草整个系统的逻辑视图),AUTOSAR运行时环境都是ECU间信息交换的通信中心。无论是ECU内部通信通道(如CAN、LIN、FlexRay、MOST等)还是ECU外部通信通道,RTE都可以通过提供相同的接口和服务向AUTOSAR软件组件提供通信抽象。由于运行在RTE之上的软件组件的通信主要取决于具体应用,所以,需要定制RTE—部分由ECU特定生成,部分通过配置生成。因此,所得到的RTE不同,ECU之间也不同。

基础软件层(BSW)是标准化软件层,为AUTOSAR软件组件提供服务,是运行软件功能部件所必需的。它不具有任何功能性的任务本身,并且位于AUTOSAR运行时环境之下。基本软件包含标准化和ECU特定模块。

对基本结构进一步细分,得到:

基础软件层分为4大部分:

硬件抽象层(MCAL):MCAL是硬件特定的层,可以确保基本软件组件的标准接口。MCAL管理微控制器的各种片上外设,并提供基本软件组件与微控制器无关的值。MCAL通过通知机制,支持将命令、响应和信息分发到不同的进程,MCAL就是将芯片的寄存器操作都封装成一个AutoSAR规定的统一的Api。就是说这套Api是定死的,但是不同厂商的具体实现可能不同(很重要的一点)。

ECU抽象层:ECU抽象提供了任何特定ECU的电气值的软件接口,以便将更高级别的软件与所有底层硬件依赖关系分离。也就是说如果MCAL只封装了芯片,那么ECU抽象层就是将板级所有的硬件都进行了封装。比如我们的控制器上有一个主芯片英飞凌的TC275,还有采样电路,电源电路,CAN电路等等。MCAL就是封装了芯片上有的功能。而ECU抽象层就是将所有的这些都做一个统一的封装。

服务层:这里是更加高级的一层了,服务层里是包含诊断协议等系统服务、NVRAM管理及操作系统(OS)等。OS将使用ECU抽象层的Api,再对上层暴露出服务接口,其实就是嵌入式实时操作系统(RTOS)所作的工作。

复杂驱动:又叫做CDD,主要工作是将AutoSAR未定义的一些功能封装起来,给应用层提供接口来调用这些功能。复杂设备驱动程序允许直接访问硬件,特别是对于资源关键型应用。

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

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

相关文章

记一次简单的HTTP绕WAF

0X01 基础知识 关于WAF的问题? 它是我们日常攻防演练必会遇见的,在IOS七层模型中,WAF分为网络层、应用层的,当然还有云 WAF(CDNWAF)这新型类场景的。不同环境下我们绕过WAF的思路也是有所区别的&#xff…

mybatis单框架通用mapper使用(二)

mybatis单框架通用mapper使用(二) 1 查询 1.1 简单查询 1.1.1 查多条 a 用法 接口引用.select(实体类对象引用); //里面实体类对象,里面不为null值的部分就会作为条件被查询,多个条件使用and进行拼接起来 //传入为null就是查询全部的值b 测试代码 Testpublic void t2(){Sq…

直播带货系统源码,居家“神器”不出门就能购物

如今,直播带货的火爆程度已经超出了人们的想象。线下销售行业的卖家也开启了直播带货模式,直播带货的的火爆归根到底还是消费者的购物方式发生的变化。从传统的线下购物到电商购物,再到今天的直接直播带货。从各大数据可以总结,消…

应用密码学期末速通复习

文章目录模运算分数求模负数求模gcd最大公约数逆元分组密码DES加密AES加密操作模式ECB电子密码本CBC分组链接CFB密码反馈OFB输出反馈序列密码A5-1算法RC4算法Hash函数Md5算法SHA-1算法消息认证数字信封公钥密码背包公钥算法RSA公钥算法Rabin公钥算法ElGamal公钥算法ECC公钥算法…

C/C++刷题DAY2

1.第一题 27. 移除元素 - 力扣(LeetCode) 分析:对于此题,我们使用双指针的方式去写它,需要注意空间复杂度是O(1),时间复杂度也是尽量的越低越好,要去需要原地修改数组&a…

Matplotlib设置刻度和刻度标签

Matplotlib在我们之前的所有例子中都自动接管了轴上间隔点的任务。Matplotlib的默认刻度定位器和格式化器在很多常见情况下通常都足够了。可以明确提及刻度线的位置和标签以满足特定要求。 xticks()和yticks()函数将列表对象作为参数。列表中的元素表示将显示刻度的相应操作的位…

nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇

文章目录前言一、对上一篇博文的分析二、配置文件分析1. nginx 官方网址(很详细)2、配置文件(全)3、配置文件(去掉注释)4、讲解a、nginx 配置文件有三部分组成b、全局块c、events块d、http块5、http块中loc…

无脚本自动化测试

在当今的企业环境中,软件测试不再被视为不必要的投资;相反,它已经上升到一种需要而不是奢侈品的水平。随着市场的不断变化和竞争的加剧,企业必须做一些让他们与竞争对手区分开来的事情。 为了使自己与众不同,公司必须…

Dockerfile

Dockerfile指令集 对于Dockerfiel而言,是在学习docker工具里面,最重点的内容,它可以帮助我们生成自己想要的基础镜像。部署一个容器最重要的就是镜像,指令都已经内置好了。 FROM 这个镜像的妈妈是谁?&a…

数据结构每日亿题(四)

复制带随机指针的链表 原题传送门:力扣 题目: 这题的大概意思就是: 有这样一个链表,他比普通的链表多一个成员变量:random指针,这个random指针指向的是这个链表中随机一个地方,这个地方是其它节…

NetSim网络仿真使用及静态路由配置

🍰 个人主页:__Aurora__ 🍞如果文章有什么需要改进的地方还请各位大佬指正。 🍉如果我的文章对你有帮助➡️ 关注🙏🏻 点赞👍 收藏⭐️ NetSim网络仿真使用及静态路由配置。 实验要求及其步骤 使用Boson N…

Java面试笔记:Java线程安全的集合类有哪些?线程不安全的集合类有哪些?ArrayList为什么会发生并发修改异常?

一、Java的集合类有哪些? 二、如何定义集合是线程不安全的? 当多个并发同时对线程不安全的集合进行增删改的时候会破坏这些集合的数据完整性,例如:当多个线程访问同一个集合或Map时,如果有超过一个线程修改了A…

3A企业认定有哪些好处?

企业参与申报和认证有什么益处?这个问题可能应该是广大企业参与前最为关心的问题之一了 1、可快速有效提升企业资质、获得国家政府的认可;并将获得由商务部颁发的具有统一编号的牌匾和证书。 2、是企业履约能力、投标信誉、综合实力与竞争力的体现&…

数学建模--优化类模型

目录 一、根据目标函数约束条件类型分类 1、线性规划 ①线性规划模型的一般形式 ​②用MATLAB优化工具箱解线性规划 ③模型分析 2、非线性规划 ①非线性规划的基本概念 ②非线性规划的基本解法 ③二次规划 ④一般非线性规划 二、控制变量类型分类 1、整数规划 …

总结线程安全问题的原因和解决方案

一. 线程安全问题 概念 首先, 线程安全的意思就是在多线程各种随机调度的情况下, 代码不出现 bug 的情况. 如果在多线程调度的情况下, 出现 bug, 那么就是线程不安全. 二. 观察线程不安全的情况 下面我们用多线程来累加一个数, 观察线程不安全的情况: 用两个线程, 每个线程…

树--堆和优先权队列

数据结构中的堆和栈与操作系统内存划分中的堆和栈没有关系 一、堆的定义 一个大小为n的堆是一棵包含n个结点的完全二叉树,其根节点称为堆顶。 根据堆中亲子结点的大小关系,分为大堆和小堆: (1)最小堆:树中…

高斯原型网络原论文高质量翻译

论文地址:Gaussian Prototypical Networks for Few-Shot Learning on Omniglot 文章目录摘要1 引言1.1 Few-shot learning1.2 高斯原型网络2 相关工作3 方法3.1 编码器3.2 偶发性训练3.3 定义一个类3.4 评估模型4 数据集5 实验5.1 协方差估计的用法6 结论摘要 我们…

万字长文解读计算机视觉中的注意力机制(附论文和代码链接)

文中论文和代码已经整理,如果需要,点击下方公众号关注,领取,持续传达瓜货 所向披靡的张大刀 注意力机制是机器学习中嵌入的一个网络结构,主要用来学习输入数据对输出数据贡献;注意力机制在NLP和CV中均有使…

目标检测算法——YOLOv5/YOLOv7改进之结合无参注意力SimAM

目录 (一)前言介绍 1.摘要 2.不同注意力步骤比较 (二)相关实验 (三)YOLOv5结合无参注意力SimAM 1.配置.yaml文件 2.配置common.py 3.修改yolo.py SimAM:无参数Attention助力分类/检测/分…

点云应用——三维空间边界点排序+机器人轨迹引导(1)

三维空间边界点排序机器人轨迹引导一、前言二、思路一:利用重建思路三、思路二:利用PCL边界提取方法三维空间点排序四、后续一、前言 最近做了点云边界提取、并实时发送至机器人进行引导的研究,主要遇到了两个问题: 1)…