AUTOSAR版本:4.2.2
1.架构
1.软件层概述
AUTOSAR体系结构在最高抽象级别上区分了三个软件层:应用程序、运行时环境和在微控制器上运行的基本软件。
AUTOSAR基础软件进一步分为服务层、ECU抽象层、微控制器抽象层和复杂驱动层。
基础软件层被进一步划分为功能组。服务的例子有系统、内存和通信服务。
微控制器抽象层(MCAL, Microcontroller Abstraction Layer)是基础软件的最低软件层。
它包含内部驱动程序,这些驱动程序是可以直接访问微控制器和内部外围设备的软件模块。
任务
使更高的软件层独立于微控制器
属性
实现:取决于微控制器
上层接口:标准化和微控制器无关
ECU抽象层与微控制器抽象层的驱动程序接口。它还包含用于外部设备的驱动程序。
它提供了一个API,用于访问外设和设备,而不管它们的位置(内部/外部微控制器)及其与微控制器的连接(端口引脚、接口类型)
任务
使更高的软件层独立于ECU硬件布局
属性
实现:微控制器独立,ECU硬件相关
上层接口:微控制器和ECU硬件独立
复杂驱动程序层的范围从硬件到RTE。
任务
提供集成专用功能的可能性,例如设备驱动程序:
- 其未在AUTOSAR内指定,
- 具有非常高的时序约束,或者
- 用于迁移目的等。
属性
实现:可能取决于应用程序、μC(微控制器)和ECU硬件
上层接口:可能是应用程序,μC和ECU硬件相关
服务层是基础软件的最高层,也适用于其与应用软件的相关性:虽然ECU抽象层涵盖了对I/O信号的访问,但服务层提供:
- 操作系统功能
- 车辆网络通信和管理服务
- 内存服务(NVRAM管理)
- 诊断服务(包括UDS通信、错误记忆和故障处理)
- ECU状态管理、模式管理
- 逻辑和临时程序流监控(Wdgmanager)
任务
为应用程序、RTE和基本软件模块提供基本服务。
属性
实现:大部分μC和ECU硬件独立
上层接口:μC和ECU硬件独立
RTE是为应用软件(AUTOSAR软件组件和/或AUTOSAR传感器/执行器组件)提供通信服务的层。
在RTE之上,软件体系结构风格从“分层”变为“组件风格”。
AUTOSAR软件组件通过RTE与其他组件(ECU间和/或ECU内)和/或服务进行通信。
任务
使AUTOSAR软件组件独立于到特定ECU的映射。
属性
实施:ECU和特定应用程序(为每个ECU单独生成)
上部接口:完全独立于ECU
2.软件层的内容
2.1 架构 – 软件层的内容 - 微控制器抽象层
微控制器抽象层由以下模块组组成:
➢ 微控制器驱动:内部外设驱动程序(例如看门狗、通用定时器);具有直接 μC 访问的功能(例如核心测试)。
➢ 通信驱动
ECU 板载驱动程序(例如 SPI)和车辆通信驱动程序(例如 CAN),OSI 层:数据链路层的一部分
➢ 内存驱动:片上内存设备驱动程序(例如内部闪存、内部 EEPROM)和内存映射外部内存设备驱动程序
(例如外部闪存)
➢ I/O 驱动:模拟和数字 I/O 驱动程序(例如 ADC、PWM、DIO)
➢ 加密驱动:片上加密设备驱动程序(如 SHE 或 HSM)
➢ 无线通信驱动:无线网络系统驱动程序(车载或车外通信)