AUTOSAR简介及分层架构

news2024/11/15 23:32:49

这里写目录标题

      • 1、AUTOSAR简介
      • 2、AUTOSAR的分层架构
        • 2.1、应用软件层(ASW)
        • 2.2、运行时环境(RTE)
        • 2.3、基础软件层(BSW)
        • 2.4、微控制器-MCAL层

1、AUTOSAR简介

AUTOSAR(AUTomotive Open System ARchitecture)是一种为汽车软件开发提供开放化、标准化、可重用化的架构标准。它旨在解决汽车电子系统日益复杂和多样化的软件需求,以提高软件开发效率、降低开发成本、提高软件质量和可靠性。

2、AUTOSAR的分层架构

AUTOSAR分层架构中,自上而下分别:应用软件层(ASW)、运行时环境(RTE)、基础软基层(BSW)和微控制器(Microcontroller)。

在这里插入图片描述

2.1、应用软件层(ASW)

ASW(Application Software)层是AUTOSAR架构的一个重要组成部分,它包含若干个软件组件(SWC),软件组件间通过端口(Port)进行交互。每个软件组件可以包含一个或者多个运行实体(RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发。

ASW层主要的作用:

①、提供应用软件的运行环境:ASW层为上层应用软件提供一个标准的运行环境,包括硬件抽象层和基础软件组件。它隐藏了底层硬件的复杂性,使应用软件能够独立于具体的硬件平台运行。
②、实现软件模块的组合和配置:ASW层允许开发人员将不同的软件模块组合在一起,并在实时系统中配置和管理这些软件模块。它提供了一个统一的界面和规范,使得不同供应商的软件模块可以无缝集成和协作。
③、提供软件组件通信机制:ASW层定义了一套标准的接口和通信机制,用于不同软件组件之间的相互通信和数据交换。这种标准化的通信机制可以保证软件组件之间的互操作性和可靠性。
④、支持软件模块的自动化测试和验证:ASW层提供了一套标准的测试工具和验证平台,用于对软件模块进行自动化测试和验证。这样可以提高软件开发的效率和质量,减少错误和缺陷。

2.2、运行时环境(RTE)

RTE(Run-Time Environment)作为应用软件层与基础软件层交互的桥梁,为软硬件分离提供了可能。RTE可以实现软件组件间、基础软件间以及软件组件与基础软件之间的通信。RTE封装了基础软基层的通信和服务,使得应用层可以通过RTE接口函数调用基础软件的服务。除此之外,RTE抽象了ECU之间的通信,即RTE通过使用标准化的接口将其统一为软件组件之间的通信。由于RTE的实现与具体的ECU相关,所以必须为每个ECU分别实现。
RTE层的主要功能包括:

①、通信管理:RTE层负责管理软件组件之间的通信,包括消息的传递和接收。它提供了一套API,使得不同的软件组件可以通过消息传递方式进行通信。
②、数据管理:RTE层负责管理软件组件之间的数据交换。它定义了数据类型和数据接口,确保软件组件能够正确地访问和共享数据。
③、事件触发和调度:RTE层通过事件触发和调度机制,控制软件组件的执行顺序和时间。它可以根据事先定义的优先级和触发条件,自动触发和调度软件组件的执行。
④、错误处理:RTE层可以监测和处理软件组件的错误。它提供了错误检测、错误处理和错误恢复机制,确保系统的稳定运行。

2.3、基础软件层(BSW)

BSW(Basic Software)层是AUTOSAR架构中的一部分,负责提供基础软件功能支持,包括以下几个方面的作用:

①、 任务调度和任务管理:BSW层负责管理和调度各种任务,并提供任务间的通信机制,以确保任务按照预定的优先级和时间要求运行。
②、内存管理:BSW层负责管理车载电子系统中的内存分配和释放,以保证系统的稳定性和安全性。
③、设备驱动和通信协议:BSW层提供设备驱动程序,用于与外设(如传感器、执行器等)进行通信,并实现与车辆网络通信协议(如CAN、LIN、FlexRay等)的支持。
④、诊断和故障管理:BSW层负责实现车辆的诊断功能,包括故障检测、故障处理和故障通知等,以提高车辆的可靠性和安全性。
⑤、电源管理:BSW层负责管理车辆电源系统,实现电源的初始化、控制和监视功能,以确保车辆电源的稳定和高效使用。

2.4、微控制器-MCAL层

AUTOSAR中,MCAL(Microcontroller Abstraction Layer)是一个重要的软件层。它主要负责将硬件特定的底层驱动程序与上层应用程序分离开来,提供一个抽象的接口,使得应用程序可以独立于具体的硬件平台。

MCAL层的作用包括以下几个方面:

①、硬件抽象:提供对硬件的抽象接口,通过统一的API,使得应用程序可以通过相同的方式访问不同的硬件平台,无需考虑底层硬件的差异。
②、低级驱动:MCAL层提供了与底层硬件直接交互的驱动程序,包括对外设(如CAN、SPI、I2C等)、时钟、中断等的控制。这些驱动程序封装了底层硬件的操作细节,提供了简单易用的API供上层应用程序调用。
③、硬件配置:MCAL层提供了对硬件参数的配置接口,包括时钟频率、中断优先级、IO口配置等。通过MCAL层,应用程序可以方便地配置硬件参数,无需直接操作底层寄存器。
④、故障诊断:MCAL层还提供了故障诊断的功能。当硬件发生故障或异常时,MCAL层可以通过相应的接口提供错误码或故障状态,方便上层应用程序进行故障处理。

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

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

相关文章

一篇文章教会你SpringMVC

目录 1.什么是SpringMVC 2.SpringMVC工作流程 3.SpringMVC核心组件 4.SpringMVC的配置流程 4.1导入POM依赖 4.2在WEB-INF下添加springmvc-servlet.xml(spring-mvc.xml) 4.3 修改web.xml 创建一个Controller用来存放web层的方法和内容 创建一个前端页面用来做测试展示 前言…

一种影像比对快速提取建筑物要素变化的方法

李和军1,2 李 敏3 李楚钰1,2 唐廷元1,2 胡日查4 (1. 北京市测绘设计研究院, 北京, 100038;2. 城市空间信息工程北京市重点实验室, 北京 100038;3. 北京市地质矿产勘查院信息中心, 北京, 100195;4. 内蒙古测绘地理信息中心, 内蒙古 呼和浩特, 010000) 摘 要:本文围绕…

双向交错CCM图腾柱无桥单相PFC学习仿真与实现(4)一些优化总结

前言 上一次说到单相的PFC硬件功能已经实现,THD3.15%满足了国标要求的范围,还是有优化的空间,目前系统设计的是6.6Kw,220V交流输出,400-800V直流输出。目前基本功能完成,但是还有很多细节需要优化&#xf…

飞行动力学 - 第16节-part2-放宽静稳定性 之 基础点摘要

飞行动力学 - 第16节-part2-放宽静稳定性 之 基础点摘要 1. 放宽静稳定性(RSS, Relax Static Stability )2. 纵向增稳器3. 阻力损失4. 参考资料 1. 放宽静稳定性(RSS, Relax Static Stability ) - 稳定飞机:为保证稳定,需要一个抬头力矩,平尾…

软件产品测试报告有哪些测试内容

软件测试内容 随着软硬件技术的发展,计算机领域的应用越来越广泛,软件的功能越来越强大,软件也越来越复杂。计算机软件是计算机应用的核心,其质量与计算机应用系统的成败有关,这使得确保软件的质量和高度可靠性尤为重…

Webpack5入门到原理

Webpack5学习 尚硅谷Webpack5新版视频教程 B站直达:https://www.bilibili.com/video/BV14T4y1z7sw 百度网盘:https://pan.baidu.com/s/114lJRGua2uHBdLq_iVLOOQ 提取码:yyds 阿里云盘:https://www.aliyundrive.com/s/UMkmCzdWsGh&…

【内网穿透】使用Nodejs搭建简单的HTTP服务器 ,并实现公网远程访问

目录 前言 1.安装Node.js环境 2.创建node.js服务 3. 访问node.js 服务 4.内网穿透 4.1 安装配置cpolar内网穿透 4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation…

mysql 查询优化 、索引失效

查询优化 物理查询优化 通过索引和表连接方式等技术来进行优化,这里重点需要掌握索引的使用 逻辑查询优化 通过SQL 等价变换 提升查询效率,直白一点就是说,换一种查询写法执行效率可能更高 索引失效 计算、函数、类型转换(自动或…

Springboot 实践(12)RabbitMq server 安装调试(Windows环境)

一、准备安装文件 1、下载Erlang 登录网站Downloads - Erlang/OTP,选择“Download Windows installer”,如下图所示: 弹出框中,选在下载保存地址,保存文件,如下图所示: 2、下载RabbitMQ 登录…

Redis 介绍、安装、Redis客户端

目录 redis是什么,他的应用场景是什么? Redis的一些主要特点和应用场景: redis的官方网站:Redis redis是键值型数据库:(也就是key-value模式)(跟python的字典很像) …

利用GitHub实现域名跳转

利用GitHub实现域名跳转 一、注册一个 github账号 你需要注册一个 github账号,最好取一个有意义的名字,比如姓名全拼,昵称全拼,如果被占用,可以加上有意义的数字. 本文中假设用户名为 UNIT-wuji(也是我的博客名) 地址: https:/…

Android Studio中创建java项目

1.创建普通的android工程 2.创建一个module 3.module类型选择java library 4.填写libary和class的名字 5.生成的工程如图所示 6.然后点击Run --- Edit Configurations... 选择Application选项 设置所需要的参数 选中myjavalib后点击OK。然后打开刚创建的lib的gradle 编辑gradl…

冯诺依曼体系结构/什么是OS?

一、体系结构图 示意图 控制器可以控制其它4个硬件,四个硬件直接可以进行数据传输。 5大硬件 但是这些个体需要用“线”连接。 为什么要有存储器? 如果没有,实际速度则为输入、输出设备的速度。 加上后,变为内存的速度。&#…

java IO流(二) 字符流 缓冲流

字符流 前面学习的字节流虽然可以读取文件中的字节数据,但是如果文件中有中文,使用字节流来读取,就有可能读到半个汉字的情况,这样会导致乱码。虽然使用读取全部字节的方法不会出现乱码,但是如果文件过大又不太合适。…

Docker常用命令以及详解

Docker常用命令以及详解 一、基础命令: docker version 功能:显示 docker 客户端和服务器的版本信息。docker info 功能:显示 docker 系统的详细信息docker --help 功能:显示 Docker 命令的帮助信息。示例输出:这个…

聚焦!智慧燃气使用体验到底怎么样?

文章来源:网络 关键词:智慧燃气、智能管网、智能气网、智慧燃气系统、智慧燃气平台 随着科技的发展,物联网技术不断进步,智能燃气也时常出现在我们的生活中。但大多数人仍然对智慧燃气知之甚少。究竟何为智慧燃气?能…

无涯教程-JavaScript - DVAR函数

描述 DVAR函数使用与指定条件相匹配的列表或数据库的列中的数字,根据样本估算总体的方差。 语法 DVAR (database, field, criteria)争论 Argument描述Required/Optionaldatabase 组成列表或数据库的单元格范围。 数据库是相关数据的列表,其中相关信息的行是记录,数据的列是…

Kruise Rollout:基于 Lua 脚本的可扩展流量调度方案

作者:潘梦源 前言 Kruise Rollout [ 1] 是 OpenKruise 社区开源的渐进式交付框架。Kruise Rollout 支持配合流量和实例灰度的金丝雀发布、蓝绿发布、A/B Testing 发布,以及发布过程能够基于 Prometheus Metrics 指标自动化分批与暂停,并提供…

【B树 B+树】B树、B+树理论

目录 引入B树B树定义和性质m阶B树核心特性 B树B树的查找 引入B树 满足上面两个策略就是B树: m 叉查找树中,规定除了根节点外,任何结点至少有 ⌈ m / 2 ⌉ \lceil m/2 \rceil ⌈m/2⌉ 个分叉,即至少含有 ⌈ m / 2 ⌉ \lceil m/2 \…

【Linux网络编程】环境配置篇

由于博主本学期所使用的Linux系统为Ubuntu,所以这篇博客会先以安装虚拟机和Ubuntu开始。 虚拟机的话,可以选择VMware,也可以选择VirtualBox。直接选择安装就行,这个应该是没有什么问题的。但是,如果之前电脑安装过Vmwa…