AUTOSAR软件架构(二)

章节回顾

AUTOSAR软件架构(一)中描述了以下内容:

  • Application Layer应用层
  • Runtime Environment (RTE)运行时环境
  • Basic Software (BSW)基础软件层
    • Services Layer服务层
    • ECU Abstraction Layer ECU抽象层
    • Microcontroller Abstraction Layer 微控制器抽象层
  • Complex Drivers复杂设备驱动

本章节将主要描述

Microcontroller Abstraction Layer微控制器抽象层

AUTOSAR软件架构(二)
微控制器抽象层包含以下模组:

微控制器驱动

  • 片内外部设备,比如看门狗、GPT(通用定时器)
  • 芯片可以直接访问的功能:Core test

通信驱动

  • 片内通信:如SPI通信
  • 外围通信:如CAN

内存驱动

  • 片上存储设备(例如内部闪存,内部EEPROM)
  • 存储器映射的外部存储设备(例如外部Flash)的驱动程序

I/O驱动
模拟和数字驱动程序,如ADC、PWM、DIO

加密驱动
加密驱动程序用于SHE或HSM等片上加密设备的驱动程序

无线通信驱动
无线网络系统的驱动程序(车内或车外通信)

AUTOSAR软件架构(二)

SPI Hand Driver

SPIHandlerDriver允许多个客户端同时访问一个或多个SPI总线

为了抽象化专用于芯片选择的SPI微控制器引脚的所有功能,这些功能应由SPIHandlerDriver直接处理。
这意味着这些引脚在DIO驱动程序中不可用

举一个外部芯片通过SPI总线跟微控制器连接的例子:外部看门狗、外部EEPROM、外部ADC、外部I/O扩展器

AUTOSAR软件架构(二)

复杂驱动Complex Drivers

复杂驱动程序是在基本软件堆栈中实现非标准化功能的模块。

一个示例是使用特定的中断和/或复杂的μC外设(例如PCP,TPU)直接访问μC,从而实现复杂的传感器评估和执行器控制,例如

  • 喷油控制
  • 电动阀控制
  • 增量位置检测

满足处理复杂传感器和执行器的特殊功能和时序要求

I/O硬件抽象I/O Hardware Abstraction

I / O硬件抽象是一组模块,从外围I / O设备(片上或板上)的位置和ECU硬件布局(例如µC引脚连接和信号电平反转)中提取。 I / O硬件抽象不会从传感器/执行器中抽象出来!

可以通过I / O信号接口访问不同的I / O设备。

表示连接到ECU硬件的I / O信号(例如电流,电压,频率)。从更高的软件层隐藏ECU硬件和布局属性。
AUTOSAR软件架构(二)

从上面这张图可以看出来,不管是片内的ADC、DIO还是片外的ADC、扩展I/O(通过SPI总线控制)都可以用I/O硬件来抽象

通信硬件抽象Communication Hardware Abstraction

AUTOSAR软件架构(二)
通信硬件抽象是一组模块,从通信控制器的位置和ECU硬件布局中抽象出来。 对于所有通信系统,都需要特定的通信硬件抽象(例如,对于LIN,CAN,FlexRay)

示例:ECU具有一个带2个内部CAN通道的微控制器和一个带4个CAN控制器的附加板载ASIC。 CAN-ASIC通过SPI连接到微控制器。
AUTOSAR软件架构(二)

CAN ASIC指片外的CAN控制器,有的芯片内部没有CAN控制器,可以通过SPI外扩一个CAN控制器

提供平等的机制来访问总线通道,而不论其位置(片上/板载)

内存硬件抽象Memory Hardware Abstraction

AUTOSAR软件架构(二)

内存硬件抽象是一组模块,从外围存储设备(片上或板载)的位置和ECU硬件布局中提取

示例:可以通过相同的机制访问片内EEPROM和片外EEPROM设备

可通过特定于存储器的抽象/仿真模块(例如EEPROM抽象)访问存储器驱动程序。

通过在闪存硬件单元上模拟EEPROM抽象,可以通过存储器抽象接口对两种类型的硬件进行通用访问

提供相等的机制来访问内部(片上)和外部(板载)存储设备以及存储硬件类型(EEPROM,flash)。

简单点说就是把底层存储设备都抽象成对上提供统一的接口,不片内片外、不管是EEPROM、FLASH

板上设备抽象Onboard Device Abstraction

AUTOSAR软件架构(二)

板载设备抽象包含用于ECU板载设备的驱动程序,这些驱动程序不能被视为内部或外部看门狗的传感器或执行器。 这些驱动程序通过µC抽象层访问ECU板载设备

AUTOSAR软件架构(二)

加密硬件抽象Crypto Hardware Abstraction

AUTOSAR软件架构(二)

加密硬件抽象是一组模块,从加密原语(内部或外部硬件或基于软件)的​​位置进行抽象。

示例:AES原语在SHE中实现或作为软件库提供

AUTOSAR软件架构(二)
AUTOS