SciTech-EECS-Autosar-4: BSW(Basic SoftWare): 基础软件层

SciTech-EECS-Autosar-4: BSW(Basic SoftWare): 基础软件层


4: BSW(Basic SoftWare): 基础软件层

AUTOSAR软件体系结构 是 一个“分层体系架构”,包含:

  • APP(Application Layer, 应用层), 完全独立于硬件的
  • BSW(Basic Software, 基础软件层), 与硬件有关的
  • RTE(Run Time Environment, 运行时环境), 使APP层分离BSW层

一方面,OEM可以专注于开发特定的、有竞争力的APP(应用层软件, 位于RTE之上),
另一方面,它使OEM所不关心的BSW(基础软件层, 位于RTE之下)得到标准化。


BSW: 基础软件层

结构如下图所示。


如上图所示,BSW(基础软件层主要包括四部分:
  • MCAL(微控制器抽象层): 与硬件有关的驱动程序, 用于 访问内存、通信和I/O等;
  • ECU(抽象层): 提供统一的API 实现对 通信、内存 或I/O 的访问.
    透明地访问资源: 由 MCU(微处理器) 或 MCU的外部设备 提供都可以.
  • SERVICE(服务层): 提供各种类型的后台服务.
    例如网络服务、内存管理和总线通信服务等, 操作系统就位于这一层.
  • COMPLEX DRIVERS(复杂驱动)

BSW(基础软件层) 提供 "基础软件服务", 包括标准化的系统功能以及功能接口
并且由一系列的 "BSW软件组件" 构成,如下图所示。


BSW的 "组件及其功能"

  1. 系统:提供标准化的规定. 针对
    OS、Timer及错误存储器、
    ECU特定的服务: ECU状态管理、WatchDog管理
    库函数;
  2. 内存:对内部和外部的内存(非易失性存储器)的访问入口进行标准化;
  3. 通信:对汽车网络系统、ECU通信系统以及ECU内部软件的访问入口进行标准化;
  4. I/O(输入/输出):对传感器、执行器以及ECU外设的访问入口进行标准化;

BSW(基础软件层) 模块 按照类型可以分为:

  1. 驱动模块 : 包含 控制和使用 内部或者外部器件 的功能. 分:

    • 内部驱动: MCU内部器件资源 的驱动程序, 在MCAL层
      如: 内部EEPROM、内部CAN控制器、内部ADC模块 等。
    • 外部驱动: MCU外部硬件资源 的驱动程序(ECU硬件), 在ECU抽象层
      如: 外部的 EEPROM、WatchDog、Flash等。
      外部驱动程序 要 通过 MCAL层驱动程序 才能驱动 外部器件
      这使 AUTOSAR支持嵌入在SBCs(System Basic Chips)的组件(如 收发器, WatchDog等)。例如: SPI接口的 外部EEPROM驱动程序 通过 SPI总线处理程序 驱动 外部EEPROM。
      有一种例外, 和 内存映射有关的外部器件(如外部Flash) 其驱动程序 可直接对 MCU 存取访问,
  2. 接口模块: 抽象其 桥接模块; 不改变通过数据的内容; 一般在ECU抽象层
    如: 抽象 一个 特定功能的硬件。

    • 提供一个通用API(接口函数)以访问 "一种特定的器件类型":
      与 "该类型器件的数目" 无关,同时也与 "器件的具体硬件实现" 无关。
    • 例如: CAN通信系统的接口模块, 提供一个通用的接口函数来访问CAN通信网络,
      并且与ECU上 CAN控制器的数目 以及 硬件实现 无关。
  3. 处理模块: 一个专用接口; 不会改变数据本身的内容
    它控制 "一个或多个客户端" 对 "一个或多个驱动程序" 能 "并行、多重 及 异步"地访问,
    有** 缓冲、队列、仲裁 及 多路复用 的功能**。
    处理模块通常会并入驱动程序 或是接口模块( 如 SPIHandlerDriver、ADC Driver等)。

  4. 管理器: 为 "多重的客户端" 提供 特定服务; 一般在 SERVICE层
    当单个处理程序 不能满足对 多重的客户端 的抽象时,就要用 "管理器" 处理。
    管理器 不仅有 处理功能, 还可以对 "数据内容" 进行 "评估、改变 或 适应数据内容"。
    如: NVRAM管理器, 管理 对内部或外部存储设备 的并行访问(如Flash、EEPROM等), 同时还可完成"分布式并可靠" 的"数据存储、数据校验 及 默认值规定"等。


posted @ 2025-04-08 07:28  abaelhe  阅读(72)  评论(0)    收藏  举报