本文是对官方文档AUTOSAR_CP_EXP_LayeredSoftwareArchitecture.pdf的学习bd翻译过程。
目录
目的
分层软件体系结构描述了AUTOSAR的软件体系结构:
➢ 它以自上而下的方法描述了AUTOSAR软件的层次结构
➢ 将基本软件模块映射到软件层并显示它们的关系
本文档侧重于概念分层软件体系结构的静态视图:
◼ 它没有指定具有详细静态和动态的结构软件体系结构(设计)接口描述
◼ 这些信息包含在基本软件模块本身的规范中
一、软件架构
1.软件层概述
AUTOSAR体系结构在最高抽象级别上区分了三个软件层:
- 应用程序
- 运行时环境
- 在微控制器上运行的基本软件
AUTOSAR基础软件进一步分为以下几层:
- 服务
- ECU抽象
- 微控制器抽象
- 复杂驱动程序
基础软件层进一步划分为功能组。服务的例子有系统、内存和通信服务
微控制器抽象层
微控制器抽象层是基础软件的最低软件层。
包含:内部驱动程序,这些驱动程序是可以直接访问µC和内部外围设备的软件模块。
任务:使更高的软件层独立于µC
属性:实现取决于µC;上层接口:标准化和µC独立
ECU抽象层
ECU抽象层与微控制器抽象层的驱动器接口。它还包含外部的驱动程序设备。它提供了一个API,用于访问外围设备和设备,无论它们的位置(µC内部/外部)以及如何与µC连接(端口引脚、接口类型)
任务:使更高的软件层独立于ECU硬件布局
属性:
实现:µC独立,ECU硬件相关
上层接口:µC和ECU硬件独立
复杂驱动程序
复杂驱动程序层从硬件到RTE。
任务:提供集成专用功能的可能性,例如设备驱动程序:
➢ 其未在AUTOSAR内指定
➢ 具有非常高的时序约束
➢ 用于迁移目的等。
属性
实现:可能取决于应用程序、µC和ECU硬件
上层接口:可能取决于应用程序、µC和ECU硬件
服务层
服务层是基础软件的最高层,它也适用于应用软件的相关性:同时访问I/O信号由ECU抽象层覆盖,服务层提供:
➢ 操作系统功能
➢ 车辆网络通信和管理服务
➢ 内存服务(NVRAM管理)
➢ 诊断服务(包括UDS通信、错误记忆和故障处理)
➢ ECU状态管理、模式管理
➢ 逻辑和临时程序流监控(Wdg管理器)
任务:为应用程序、RTE和基本软件模块提供基本服务。
属性:
实现:主要独立于µC和ECU硬件
上层接口:µC和ECU硬件独立
运行时环境(RTE)
RTE是向应用软件(AUTOSAR软件组件和/或AUTOSAR传感器/执行器组件)提供通信服务的层。在RTE之上(即:APP),软件体系结构风格从“分层”变为“组件风格”。AUTOSAR软件组件通过RTE与其他组件(ECU间 和/或 ECU内)和/或 服务进行通信。
任务:使AUTOSAR软件组件独立于到特定ECU的映射。
属性:
实现:ECU和特定应用程序(针对每个ECU单独生成)
上层接口:完全独立于ECU
服务类型
基本软件可以细分为以下类型的服务:
➢ 输入/输出(I/O)
对传感器、执行器和ECU车载外围设备的标准化访问
➢ 存储
对内部/外部存储器(非易失性存储器)的标准化访问
➢ 加密
对加密原语的标准化访问,包括内部/外部硬件加速器
➢ 通信
标准化访问:车辆网络系统、ECU车载通信系统和ECU内部软件
➢ 车外通信
标准化接入:车载通信、车载无线网络系统、ECU车外通信系统
➢ 系统
提供标准化的(操作系统、定时器、错误存储器)和ECU特定的(ECU状态管理、看门狗管理器)服务和库功能
驱动程序(内部、外部)
驱动程序包含控制和访问内部或外部设备的功能。
内部设备位于微控制器内部(位于微控制器抽象层)。内部设备示例如下:
➢ 内部EEPROM
➢ 内部CAN控制器
➢ 内部ADC
外部设备位于微控制器外部的ECU硬件上(位于ECU抽象层中),它通过微控制器抽象层的驱动程序访问外部设备。外部设备的示例包括:
➢ 外部EEPROM
➢ 外部看门狗
➢ 外部闪光灯
接口类型
接口(接口模块)包含从架构上位于其下方的模块中抽象的功能。
例如,从特定设备的硬件实现中抽象出来的接口模块。
它提供了一个通用的API来访问特定类型的设备,独立于该类型的现有设备的数量,并且独立于不同设备的硬件实现。
该接口不会更改数据的内容。通常,接口位于ECU抽象层中。
示例:CAN通信系统的接口提供通用API,以访问CAN通信网络,该网络独立于ECU内CAN控制器的数量,也独立于硬件实现(芯片上、芯片外)。
处理程序
处理程序是一个特定的接口,它控制一个或多个客户端对一个或更多驱动程序的并发、多个和异步访问。也就是说,它执行缓冲、排队、仲裁和多路复用。
处理程序不会更改数据的内容。
处理程序功能通常包含在驱动程序或接口中(例如SPIHandlerDriver、ADC驱动程序)。
管理器
管理器为多个客户提供特定的服务。
在纯处理程序功能不足以从多个客户端进行抽象的所有情况下都需要它。除了处理程序功能外,管理器还可以评估、更改或调整数据的内容。通常,管理器位于服务层
示例:NVRAM管理器管理对内部和/或外部存储器设备(如闪存和EEPROM存储器)的并发访问。它还执行分布式和可靠的数据存储、数据检查、提供默认值等。
库
库是相关函数的集合
目的:
➢ 可以由BSW模块(包括RTE)、SWC、库或集成代码调用
➢ 在同一保护环境中的调用方上下文中运行
➢ 只能调用库
➢ 重新进入
➢ 没有内部状态
➢ 不需要任何初始化
➢ 是同步的,即它们没有等待点