Autosar基本概念详细介绍

news/2024/4/30 0:11:17/文章来源:https://blog.csdn.net/qq_30095921/article/details/127797056

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.luyixian.cn/news_show_223843.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数学模型】基于Matlab模拟疫情 SEIRS模型

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

减法聚类(Subtractive Clustering)算法实践

算法概述 减法聚类算法(Subtractive Clustering Method)是一种不需要提前规定聚类数、只需根据样本数据即可快速决定聚类中心的一种密度聚类算法。该算法把所有样本数据点作为聚类中心的候选点,利用密度函数计算每个候选点的密度指标,选取其…

SpringBoot项目实战笔记:电脑商城项目实战(SpringBoot+MyBatis+MySQL)

花了一段实现刚学完SpringBoot,做个项目练练手。教程视频来源于B站。视频链接:【SpringBoot项目实战完整版】SpringBootMyBatisMySQL电脑商城项目实战_哔哩哔哩_bilibili一、系统概述与环境搭建 1. 系统开发及运行环境 电脑商城系统开发所需的环境及相…

高质量测试的12个步骤

简介 假设您正在实现某个功能,经过一番艰苦卓绝的编码后,终于可以提交、合并代码了。流水线开始运行,几分钟后失败了。部分单元测试用例失败了……这会让您很痛苦,因为修改的是别人遗留下来的程序,所以您并不清楚单元…

docker环境连接tdengine服务

1.开发app项目 <!--引入TDEngine--> <dependency><groupId>com.taosdata.jdbc</groupId><artifactId>taos-jdbcdriver</artifactId><version>3.0.0</version> </dependency> <!-- 引入jdbc --> <dependency&g…

Vue(四)——使用脚手架(1)

安装和启动&#xff1a; 目录 分析脚手架结构 render函数 修改默认配置 ref属性 props配置项 mixin混入 插件 scoped样式 分析脚手架结构 脚手架文件结构 ├── node_modules ├── public│ ├── favicon.ico: 页签图标│ └── index.html: 主页面├── …

【Linux修炼手册:基本指令(上)】

目录 1 ls 指令 2 pwd命令 3 cd 指令 4 touch指令 5 mkdir指令&#xff08;重要&#xff09; 6 rmdir指令 && rm 指令&#xff08;重要&#xff09; 7 cp指令&#xff08;重要&#xff09; 8 mv指令&#xff08;重要&#xff09; 9 cat 总结&#xff1a; 1 ls…

C语言如何做到四舍五入保留小数

C语言中的格式化打印 : 例如&#xff1a; printf("%.2f",21.195); 输出是 21.20 四舍五入保留了定义宏变量 #define 即符号常量 也能够四舍五入保留 而变量和常变量 并不四舍五入&#xff1a; float a21.195 ;const float b21.195;printf("%.2f \n %.2f&quo…

Java本地搭建宝塔部署实战springboot工艺管理系统源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 本期给大家带来一套java开发的工艺管理系统源码&#xff0c;该系统是前后端分离的架构&#xff0c;前端使用Vue2&#xff0c;后端使用SpringBoot2。 技术架构 技术框架&#xff1a;SpringBoot2.0.0 Mybatis1.3.…

【linux】stat文件属性中三个时间的区别(Access time,Modify time,Change time)

在了解这三个时间之前&#xff0c;我们了解什么是stat。 stat 文件名/目录 表示查看这个文件或者目录的属性&#xff0c;当然属性中包括我们的三个时间属性。 例如&#xff1a; OK&#xff0c;了解完stat之后 ,我们开始进入主题&#xff1a;Access time,Modify time,Change t…

几款很好看的爱心表白代码(动态)

分享几款好看的爱心表白代码❤️爱心代码❤️&#xff08;C语言&#xff09;❤️流动爱心❤️&#xff08;htmlcssjs&#xff09;❤️线条爱心❤️&#xff08;htmlcssjs&#xff09;❤️biu表白爱心❤️&#xff08;htmlcssjs&#xff09;❤️matlab爱心函数❤️&#xff08;需…

LSTM--火灾温度预测

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章地址&#xff1a; 365天深度学习训练营-第R2周&#xff1a;LSTM-火灾温度预测&#x1f356; 作者&#xff1a;K同学啊一句话介绍LSTM&#xff0c;它是RNN的进阶版&#xff0c;如果…

静态路由———初学

文章目录实验需求:关键命令&#xff1a;静态路由默认路由实验配置接下来是配置pc的IP地址静态路由的配置保存实验需求: PC1 在 LAN1 中&#xff0c;PC2 在 LAN2 中&#xff0c;使用静态路由实现 pc1 和 pc2 之间的互相通信 本实验使用Cisco Packet Tracer 模拟器搭建 所有的路…

公考求的是稳定,搞IT求的是高薪,鱼和熊掌能否兼得?

程序员和公务员&#xff0c;大概是最让大家耳熟能详的两种职业。 这也是中国现代年轻人最具有代表性的两种职业。 程序员是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员&#xff0c;但两者的界限并不非常清楚&#xff0c;特别是在中国。软…

Verilog功能模块——Uart收发

摘要本文分享了一种通用的Uart收发模块&#xff0c;可实现Uart协议所支持的任意波特率&#xff0c;任意位宽数据&#xff08;5~8&#xff09;&#xff0c;任意校验位&#xff08;无校验、奇校验、偶校验、1校验、0校验&#xff09;&#xff0c;任意停止位&#xff08;1、1.5、2…

前端反爬思考,好友从百度搜到了我的文章,链接却是别人的

今天感叹可以改完八阿哥早点下班&#xff0c;在吃饭的时候&#xff0c;就想着自己也写了一段时间了&#xff0c;看看百度这个强大的引擎能不能搜到我的博客文章。 1、发现文章被爬走了 吃饭的时候用手机搜的&#xff0c;感觉还挺开心&#xff0c;我还给朋友炫耀&#xff0c;你看…

Import Error: from torchtext.data import to_map_style_dataset解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

电子统计台账:快速设置产品的排除与保留

目录 1 基础操作 2 设置垂直过滤模板 2.1 排除法 2.2 保留法 3 完成其他设置 4 小提示&#xff1a;项目导入导出 实践中&#xff0c;企业数据文件中可能有很多产品&#xff0c;中间混杂诸如“累计”、“合计”、“报表人”、“企业负责人”等信息。我们需要用简单的操作完…

洛谷千题详解 | P1018 [NOIP2000 提高组] 乘积最大【C++、Python、Java、pascal语言】

博主主页&#xff1a;Yu仙笙 专栏地址&#xff1a;洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析&#xff1a; C源码&#xff1a; Python源码&#xff1a; Pascal源码&#xff1a; Java源码&#xff1a; -------------------------------------------------…

苯丙氨酸甲酯双三氟甲基磺酰亚胺[PheC1][Tf2N]氨基酸酯离子液体

苯丙氨酸甲酯双三氟甲基磺酰亚胺[PheC1][Tf2N]氨基酸酯离子液体 纯度&#xff1a;95% 外观与形状:液体/固体, 储存:存放于惰性气体之中 应避免湿气 (吸湿) 包装规格(Packing):50g、100g、500g 保存方法&#xff1a;密闭&#xff0c;阴凉&#xff0c;通风干燥处 氨基酸酯…