0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AUTOSAR是什么?AUTOSAR软件架构简介

冬至子 来源:日拱一卒不期而至 作者:用洗洁精的和尚 2023-07-08 17:26 次阅读

AUTOSAR是什么

AUTOSAR的全称是AUTomotive Open System Architecture,直译为汽车开放系统架构,是由全球汽车制造商、零部件供应商及其他电子、半导体和软件系统公司联合建立,致力于为汽车工业开发一个开放的、标准化的软件架构。简单来说,AUTOSAR是一种开放的软件架构,需要汽车制造商、零部件供应商、芯片供应商及软件公司共同合作来实现该软件架构。

AUTOSAR目前分为两种:Classic Platform AUTOSAR和Adaptive Platform AUTOSAR,也称为CP和AP。通常我们提到的AUTOSAR一般指Classic AUTOSAR,它是用在众多汽车ECU上的AUTOSAR架构。而Adaptive AUTOSAR是随着近些年汽车信息娱乐系统的发展,在带有高级操作系统(Linux或QNX)的车载Soc上使用的一种AUTOSAR架构。本文谈论的是Classic AUTOSAR,因此下面提到的AUTOSAR均指Classic AUTOSAR。

为什么使用AUTOSAR

那么问题来了,为什么要使用AUTOSAR这种软件架构,或者说使用AUTOSAR能带来哪些好处?

在说明AUTOSAR的优势之前,我们先来看一下使用AUTOSAR之前的软件开发现状。

硬件耦合

传统的汽车ECU开发,一般是由一个经验比较丰富的软件架构师来搭建一个项目的软件架构。做的比较好的软件架构可能会考虑软件分层,比如驱动层、服务层、应用层等,做的不好的软件架构,软件层级可能就没有那么分明,在应用层甚至直接会嵌入硬件驱动相关的代码。

多人同时开发效率低下

在AUTOSAR之前,ECU软件开发一般按照功能模块进行分工。不同模块之间的数据交互需要负责相应模块的工程师提前定义好接口,并在各自的模块开发完成后进行联合调试,调试过程中可能会发现定义接口时没有考虑到的一些问题,此时需要重新设计接口并进行再一次的联合调试。

软件复用性低

由于传统的ECU 软件在开发时没有清晰的层级划分,软硬件之间以及不同的功能模块之间耦合性较大,由于MCU选型不一样或者不同汽车主机厂的项目需求有差异,在把一套已经开发完成的软件移植到另一个项目时,会遇到比较大的困难。

在使用AUTOSAR之后会有哪些改变呢?

软硬件隔离

下图的左侧是在使用AUTOSAR之前的状态,可以看到软硬件之间的耦合性是很大的。右侧是使用AUTOSAR之后的状态,软硬件是被分隔开来的。如果更换MCU,只需要变更AUTOSAR架构中的一部分即可(BSW,即基础软件),而处于上层的应用软件是可以直接复用的。

图片

提高团队开发效率

AUTOSAR对不同模块之间的数据交互接口进行了统一定义(RTE),每个模块只需要按照接口标准定义去开发,当开发完成后可以直接进行联合调试,因为接口定义出现问题的概率是很低的。

软件复用性程度提高

由于软硬件之间进行了良好的隔离,以及模块之间的通信接口也是按标准开发的。一个开发好的软件可以直接根据新项目的需求取用相应的模块,移植到另一个项目上。由于上层的应用软件不会涉及具体的硬件,即使更换MCU应用层也无需做相应的更改。

介绍完了AUTOSAR的好处,一起来看一下AUTOSAR的具体架构。

AUTOSAR的具体架构

下图展示了AUTOSAR比较High Level的三个大的层级:应用软件层、RTE和基础软件层。应用软件层包含了汽车主机厂要求的和功能相关的软件,RTE是应用层不同模块之间以及应用层和基础软件层之间进行交互的桥梁,基础软件层则包含MCU及其外围设备驱动、硬件抽象层以及为上层应用提供接口服务的服务层。

图片

而基础软件层(BSW)可以再进一步划分,如下图的微处理器抽象层(MCAL)、ECU抽象层、服务层以及复杂驱动。

MCAL其实就是MCU的驱动软件,对每个外设模块的操作进行了寄存器操作的封装,比如SPI的初始化只需要调用一个初始化函数即可,不用关心函数内部是怎么实现的。

ECU抽象层相比MCAL多了一些板上硬件资源的驱动,比如外部看门狗、片外EEPROM或FLASH等,如果要使用这些硬件资源直接调用ECU抽象层的接口即可。

服务层是进一步的封装和抽象,一般包括OS、电源状态管理、整车网络通信、诊断服务、存储服务等。

复杂驱动主要包含一些不在AUTOSAR标准规范里的一些硬件设备的驱动,比如电机驱动、一些比较复杂的传感器驱动等。

图片

以上是对AUTOSAR架构的一个大体的介绍,针对每一层都可以展开进行详细的介绍。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 看门狗
    +关注

    关注

    10

    文章

    541

    浏览量

    70257
  • EEPROM
    +关注

    关注

    9

    文章

    928

    浏览量

    80327
  • AUTOSAR
    +关注

    关注

    9

    文章

    329

    浏览量

    21137
  • 汽车ECU测试
    +关注

    关注

    3

    文章

    7

    浏览量

    8261
  • MCU芯片
    +关注

    关注

    3

    文章

    220

    浏览量

    11144
收藏 人收藏

    评论

    相关推荐

    AUTOSAR软件架构资料

    AUTOSAR是目前汽车最热的一个名词,详情请见附件
    发表于 03-21 10:28

    AUTOSAR分层架构

    AUTOSAR分层架构
    发表于 09-26 11:12

    autosar架构学习资料

    ECU软件AUTOSAR开发方法方法概述系统设计系统配置ECU配置执行文件生成
    发表于 08-31 17:46

    Autosar软件开发技术概述

    AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件
    发表于 12-26 10:34

    功能安全---AUTOSAR架构深度解析 精选资料分享

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析AUTOSAR的分层式设计,用于支持完整的
    发表于 07-23 08:34

    AUTOSAR架构深度解析 精选资料推荐

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析目录AUTOSAR架构深度解析
    发表于 07-28 07:40

    AUTOSAR架构深度解析 精选资料分享

    AUTOSAR架构深度解析本文转载于:AUTOSAR架构深度解析AUTOSAR的分层式设计,用于支持完整的
    发表于 07-28 07:02

    关于AUTOSAR架构的知识点看完你就懂了

    关于AUTOSAR架构的知识点看完你就懂了
    发表于 10-18 07:41

    AUTOSAR软件架构是由哪些部分组成的

    章节回顾AUTOSAR软件架构(一)中描述了以下内容:Application Layer应用层Runtime Environment (RTE)运行时环境Basic Software (BSW
    发表于 12-09 07:30

    为什么使用AUTOSAR

    文章目录一、总概述1 为什么使用AUTOSAR?1.1 AUTOSAR出现之前的行业现状1.2 AUTOSAR出现之后可以实现如下目标2、AUTOSAR总概述二、各层分别概述1、BSW
    发表于 12-09 07:50

    AUTOSAR的相关资料推荐

    AUTOSAR基础篇之EcuM_wto9109的博客-CSDN博客【AutoSAR】【EcuM】ECU状态管理专注汽车软件开发、AutoSAR、车载以太网、SOA、EE
    发表于 01-27 08:25

    AUTOSAR软件架构概述

    文章目录一、总概述1 为什么使用AUTOSAR?1.1 AUTOSAR出现之前的行业现状1.2 AUTOSAR出现之后可以实现如下目标2、AUTOSAR总概述二、各层分别概述1、BSW
    发表于 11-26 17:06 127次下载
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>软件</b><b class='flag-5'>架构</b>概述

    一种AUTOSAR软件架构中RTE的实现方法

    介绍了一种AUTOSAR软件架构中RTE的实现方法。
    发表于 07-13 16:02 6次下载

    AUTOSAR软件开发流程简介

    AUTOSAR软件开发流程简介 AUTOSAR软件开发流程是指在AUTOSAR
    的头像 发表于 10-27 15:55 1722次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>软件</b>开发流程<b class='flag-5'>简介</b>

    AUTOSAR架构中复杂驱动设计

    复杂驱动(Complex Driver,CDD)是一种不受 AUTOSAR 标准化约束的软件实体,它可以通过 AUTOSAR 接口和/或基础软件模块 API 进行访问
    的头像 发表于 12-21 10:13 939次阅读
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>架构</b>中复杂驱动设计