当前位置: 首页 > news >正文

1-3 AUTOSAR软件架构

目录

一、简介

二、基础软件层 BSW

2.1 微控制器抽象层

2.2 ECU抽象层

2.3 复杂的驱动程序

2.4 服务层

三、运行时环境 RTE

四、应用软件层 SWC


一、简介

        分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往 ECU 软件开发与验证时对硬件系统的依赖。

        AUTOSAR架构在最高的抽象级别上区分了三个软件层:

  • 应用程序层(APPL)
  • 运行时环境(RTE)
  • 在微控制器上运行的基础软件层(BSW)

        为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。

        而基础软件层可以进一步划分为以下四部分:

  • 服务层
  • ECU抽象
  • 微控制器抽象
  • 复杂驱动程序

        基本的软件层被进一步划分为功能组。其中基础软件层提供的服务实例有系统服务、存储服务、加密服务、通信服务。

二、基础软件层 BSW

2.1 微控制器抽象层

        微控制器抽象层是基本软件中最低的软件层。它包含内部驱动程序,这是一种可以直接访问µC和内部外设的软件模块。

        目的是使更高的软件层独立于具体的微控制器硬件。

2.2 ECU抽象层

ECU抽象层与微控制器抽象层的驱动器进行接口。它还包含了用于外部设备的驱动程序。它提供了一套标准的API,用于访问外围设备和设备,而不管这些设备的具体位置(微控制器内部/外部)以及它们与微控制器的连接(端口引脚、接口类型)。

目的是使更高的软件层独立于ECU的硬件布局。

2.3 复杂的驱动程序

        复杂驱动程序层从硬件扩展到RTE。提供集成特殊用途功能的功能模块,例如,没有在AUTSOAR中指定的设备驱动程序;或是对实行性有较高要求的功能等。

2.4 服务层

        服务层是基本软件的最高层,为应用程序、RTE和基本软件模块提供基本服务。

        虽然对I/O信号的访问由ECU抽象层覆盖,但服务层提供:

  1. 操作系统功能
  2. 车辆网络通信和网络管理服务
  3. 存储服务
  4. 诊断服务(包括UDS通信、错误记忆和故障处理)
  5. ECU状态管理、模式管理
  6. 逻辑和时间上的程序流监控(Wdg管理器)

三、运行时环境 RTE

        运行时环境RTE是为应用软件提供通信服务的层。在RTE之上,软件架构风格从“分层”转变为“组件风格”。而RTE为AUTOSAR应用层软件组件间、软件组件与基础软件层间、基础软件各模块之间提供通信通信服务。

        RTE的存在使得软件组件可以独立与具体的ECU进行平台化系统设计,最后再将软件组件映射到特定的ECU上运行。

四、应用软件层 SWC

        应用软件层主要由一个一个SWC组成的,其中的SWC分为两类:

  • 原子软件组件(compoment SWC):可以理解为一个.c文件上实现的模块功能,上边实现了多个具体的函数
  • 非原子软件组件(composition SWC):有原子软件组件组成,可以理解为一个较大的功能集,放置在同一个文件夹中的应用软件。

http://www.lryc.cn/news/164078.html

相关文章:

  • Dajngo02_第一个Django案例
  • R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...
  • 有效回文字符串(Valid palindrome)
  • 9月9日,每日信息差
  • Java——》synchronized编译
  • vue3使用el-form实现登录、注册功能,且进行表单验证(Element Plus中的el-form)
  • 12个微服务架构模式最佳实践
  • 快速搭建:对象存储平台MinIO
  • Nomad 系列-Nomad+Traefik+Tailscale 集成实现零信任安全
  • (二十一)大数据实战——Flume数据采集之复制和多路复用案例实战
  • VM安装RedHat7虚机ens33网络不显示IP问题解决
  • Leetcode 第 362 场周赛题解
  • 蓝桥杯官网练习题(0的个数)
  • 计算线段上距离线段外某一点最近的点
  • 港联证券股票分析:经济拐点显现 积极提升仓位
  • 不同的图像质量评价指标(IQA)
  • linux命令-tar 命令
  • selenium元素定位---ElementClickInterceptedException(元素点击交互异常)解决方法
  • 05_css选择器的使用
  • 跨平台游戏引擎 Axmol-2.0.0 正式发布
  • 面试总结归纳
  • 【刷题篇】贪心算法(一)
  • 从维基百科通过关键字爬取指定文本内容
  • pytorch代码实现之SAConv卷积
  • 一文解析-通过实例讲解 Linux 内存泄漏检测方法
  • Spring Boot常用的参数验证技巧和使用方法
  • 手机+卫星的科技狂想
  • 便捷查询中通快递,详细物流信息轻松获取
  • ARM接口编程—Interrupt(exynos 4412平台)
  • 适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)