第一课 autosar简介

    AUTOSAR,全程AUTomotive Open System Architecture,是一家致力于汽车软件开发、建立智能移动的标准化软件框架和开放式E/E系统架构的联盟。

    由全球顶尖汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。

      建立的初衷是为了解决汽车开发中存在的耦合性:每当需要适应新平台时,都会导致软件的重新编写或大规模修改进而需要进行一系列的测试,从而衍生出高昂的研发费用和漫长的研发周期,整车厂为降低汽车控制软件开发的风险,于是开始寻找提高软件复用度的方法,建立一套设计更灵活、维护成本更低、安全性更高、扩展性、增加开发过程中对风险的管控的设计体系,autosar就应运而生。

一.  autosar相对于传统开发架构来说,有如下优势:

   1.对于oem来说

  1.1 在不同供应商之间建立统一的开发决策

  1.2 以灵活的设计适配创新型功能

  1.3 简化软件和系统集成

  1.4 降低总体软件开发成本

  2.对于软件工具商

  2.1 开发过程中接口的管控

  2.2 将开发工具嵌入到整体开发过程

  3.对于供应商

  3.1减少版本开发周期

  3.2 提高软件重用率

  3.3 提高程序开发的效率

  3.4 发明新的商业模式

  4.新兴市场

  4.1有标准化的架构参考,降低开发门槛

   Autosar官网:www.autosar.org。按照官网的描述,autosar分为Classic Platform AUTOSAR 和 Adaptive Platform AUTOSAR,也称为CP和AP。

    通常我们提到的AUTOSAR一般指Classic AUTOSAR,它是用在众多汽车ECU上的AUTOSAR架构,一般在带有RTOS的系统上使用,2016年及以前发布的都是Classic AUTOSAR经典平台的。

   Adaptive AUTOSAR是随着近些年汽车信息娱乐系统的发展,在带有高级操作系统(Linux或QNX)的车载Soc上使用的一种AUTOSAR架构,自适应平台的AUTOSAR版本是2017年3月发布的。本文谈论的是Classic AUTOSAR,因此下面提到的AUTOSAR均指Classic AUTOSAR。

二.AUTOSAR架构

AUTOSAR经典平台架构为硬件抽象层以上分了三层:应用程序、运行时环境(RTE)和基本软件(BSW)。

应用软件层通常是与硬件独立的。

不同的BSW软件组件之间的通信通过RTE。

RTE会映射所有应用层的接口。

BSW分为三个主要层以及复杂的驱动程序:服务层、ECU(电子控制单元)抽象层和微控制器抽象。

服务层进一步分为功能组,代表系统、内存和通信服务的基础结构。

1.应用层

应用层就是通常整个系统核心功能所在的层级,也代表了产品核心功能。

2.运行时环境(RTE)

运行时环境(Runtime Environment,RTE)作为应用软件层与基础软件层交互的桥梁,主要的作用就是解耦合。

一般设计中,RTE有自己的运行周期,独立于应用层和基础软件层。

3.基础软件层(BSW)

基础软件层(Basic Software Layer,BSW)又可分为四层,即服务层(Services Layer)、驱动抽象抽象层(Abstraction Layer)、微控制器抽象层(有名驱动层)(Microcontroller Abstraction Layer,MCAL)和复杂驱(Complex Drivers)。

3.1服务层(Service layer)

服务层(Services Layer)提供了汽车嵌入式系统软件常用的一些服务,其可分为系统服务(System Services)、存储器服务(Memory Services)、加密服务(Crypto Services)以及通信服务(Communication Services)等。

提供包括网络通信管理、存储管理、ECU模式管理和实时操作系统(Real Time Operating System,RTOS)等服务。除了操作系统外,服务层的软件模块都是与硬件无关的。

3.2 驱动抽象层(Abstraction Layer)

驱动抽象层(Abstraction Layer)包括板载设备抽象(Onboard Devices Abstraction)、存储器硬件抽象(Memory Hardware Abstraction)、加密硬件抽象(Crypto Hardware Abstraction)、通信硬件抽象(Communication Hardware Abstraction)和I/O硬件抽象(Input/Output Hardware Abstraction)等。

驱动抽象层多点作用是连接服务层和驱动层,驱动抽象层提供统一接口给服务层。也正是驱动抽象层的存在使软硬件分离成为了可能。

3.3微控制器抽象层(Microcontroller Abstraction Layer)

微控制器抽象层(Microcontroller Abstraction Layer,MCAL)是实现不同硬件接口统一化的特殊层。通过微控制器抽象层可将硬件封装起来,避免上层软件直接对微控制器的寄存器进行操作。作用就是提供驱动功能,屏蔽底层硬件差异做的适配层。

微控制器抽象层包括微控制器驱动(Microcontroller Drivers)、存储器驱动(Memory Drivers)、通信驱动(Communication Drivers)以及I/O驱动(I/O Drivers)。

3.4复杂设备驱动(Complex Device Drivers)

非标准autosar对应的服务,一般情况在autosar中找不到对应的服务层。比如电源芯片,看门狗芯片,继电器驱动芯片,蓝牙芯片等。

三.AUTOSAR工具链

1.应用层:

一些逻辑运算simulink和vector developer完全可以兼容,当然这两个工具都要钱。

大多数时候选择自己手写维护,除了个别需要测试多输入条件逻辑代码的选择simulink进行mil/sil测试。

2.服务层

服务层一般存在标准工具链厂商,知名的vector的davinci、ETAS 的 ISOLAR-AB、eletribot的tresos、东软睿驰的 NeuSAR、普华的软件 ORIENTAIS Studio,恒润的软件 INTEWORK-EAS。

3.驱动层

可以找服务层的厂商去做适配,但是需要支付费用。+或者自己找人去开发驱动软件适配。

4.MCAL

所有汽车芯片厂商都会有。

选择比较多的是NXP,Resas这两家有基于tresos的demo工程,可以申请使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值