1. 概念

AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。它是由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ECU)标准软件架构。

2.传统制造时的缺陷

  1. 软件重用性极差;
  2. 硬件平台各式各样,难以统一、重用;
  3. 软件模块化极其有限;
  4. 嵌入式系统不支持硬件抽象。
  5. 软件成本占比增加

3.AUTOSAR的优点

  1. 提高软件复用度,尤其是跨平台的复用度,提高了系统的整合能力;

  2. 分层架构的高度抽象使得对硬件的依赖大大降低;

  3. 降低了开发成本,便于软件的升级维护;

  4. 标准化软件接口和模块,减少设计错误;

  5. 减少了手动代码量,提供软件质量;

  6. 系统集成与产品推出的速度极大提升。

4.架构

在这里插入图片描述
AUTOSAR的分层式设计:应用软件层、运行环境RTE,基础软件层BSW。
基础软件层BSW: 服务层,ECU抽象层,MCAL微处理器抽象层、复杂驱动。

应用软件层:包含了汽车主机厂要求的和功能相关的软件。

  1. 软件组件能和同一个ECU上其他软件组件通信。
  2. 软件组件能和位于不同ECU上的其他软件组件通信
  3. 软件组件能和有端口并位于同一个ECU上的基础软件(BSW)进行通信

运行环境RTE:是应用层不同模块之间以及应用层和基础软件层之间进行交互的桥梁。

4.1 复杂驱动

复杂驱动主要包含一些不在AUTOSAR标准规范里的一些硬件设备的驱动,比如电机驱动、一些比较复杂的传感器驱动等。为用户提供了一个可以自行编写特殊设备驱动软件的可能性。

4.2 微处理器抽象层MCAL

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

  1. I/O驱动(I/O Drivers)
    用于驱动模拟及数字I/O信号,如ADC, PWM,DIO。
  2. 通信驱动(Communication Drivers)
    负责车辆各模块及整车通信,SPI、CAN等。
  3. 内存驱动(Memory Drivers)
    控制设备芯片内存(如片内Flash、EEPROM)及外部映射设备(外置Flash)。
  4. 微处理器驱动(Microcontroller Drivers)
    驱动如看门狗(Watchdog)、时钟模块(Clock Unit)并负责RAM测试等功能。

4.3 ECU抽象层

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

  1. I/O硬件抽象层(I/O Hardware Abstraction)
    通过I/O硬件抽象中的信号接口来访问不同的I/O设备
    对电流、电压、频率等I/O信号进行封装传输
    对上层的应用软件层隐藏下层的ECU硬件

  2. 通信硬件抽象层(Communication Hardware Abstraction)
    将微控制器及板上所有的通信信道都进行了封装,并对CAN、FlexRay、LIN、MOST等通信方式进行了抽象的定义。

  3. 内存硬件抽象层(Memory Hardware Abstraction)
    将片内、板上的内存资源进行统一封装,如对片内内存和片外的内存都提供了统一的访问机制。

  4. 车载设备抽象层(On-board Hardware Abstraction)
    对ECU上特殊的一些外设进行封装,如WatchDog以及时钟等。

4.4 服务层

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

  1. 通信服务(Communication Services)
    对上层的应用软件层隐藏了协议以及报文属性
    提供了统一的总线通信接口供应用软件层调用
    提供了统一的网络管理服务
    提供了统一的诊断通信接口

  2. 内存服务(Memory Services)
    以统一的格式为上层的应用软件层传输非易失性数据
    抽象了内存地址以及属性
    为数据的保存、加载、校验保护、验证以及安全存储提供了统一的机制

  3. 系统服务(System Services)
    提供RTOS服务,包括中断管理、资源管理、任务管理等
    提供功能禁止管理、通信管理、 ECU状态管理、看门狗管理、同步时钟管理、基本软件模式管理等服务。

总结

可以看看这个

Logo

开源、云原生的融合云平台

更多推荐