BSW架构

上一篇文章提到了基础软件层BSW包含微处理器抽象层(MCAL)、ECU抽象层、服务层以及复杂驱动,而每一层按照功能模块可以进一步划分,如下图所示。

微处理器抽象层MCAL

我们先来看一下微处理器抽象层(MCAL),MCAL是BSW的最低层,它包含一些MCU内部驱动软件模块,这些驱动直接访问MCU内部外设(ADC、WatchDog、General Purpose Timer等)。MCAL这一层依赖于MCU,但是它的上面一层(ECU抽象层)则可以独立于具体的MCU。

MCAL主要包含下面这些模块:

  1. 微控制器驱动
    MCU内部外设驱动,比如看门狗、通用功能定时器等。
  2. 通信接口驱动
    ECU板上通信接口驱动(如SPI, I2C)以及整车通信接口驱动(CAN, 以太网等)
  3. 非易失性存储器(NVM)驱动
    片上NVM驱动(内部Flash、EEPROM等),片外NVM驱动(外部Flash、EEPROM等)
  4. I/O驱动
    模拟和数字I/O驱动(ADC、PWM、DIO等)
  5. 加密模块驱动
    片上加密模块驱动,如SHE、HSM

ECU抽象层

ECU的全称是Eclectronic Control Unit,直译为电子控制单元,也称为行车电脑。通俗来讲就是MCU加上一些外围必要的电路组成的一个系统,可以对各种输入信号(传感器信号、车载网络信号等)进行加工处理,然后进行信号输出(控制执行器的信号、车载网络信号等)的一个专用嵌入式系统。

ECU抽象层对MCAL所包含的驱动进行封装,同时它还包含片外设备(板上设备)的驱动。ECU抽象层提供访问各种设备的接口,不管这些设备的位置在哪里(是MCU内部还是MCU外部),也不管它们是如何与MCU进行连接的(端口还是串行通信)。它的任务是让上层软件(服务层)独立于ECU硬件设备。

片外设备顾名思义是位于MCU外部的设备,或者说是ECU的板上设备。这些设备包括但不限于:

  1. 外部EEPROM
  2. 外部看门狗
  3. 外部FLASH

片外设备的驱动被称为外部驱动,它们位于ECU抽象层,它们通过MCAL层的驱动访问这些外部设备。一个例子是,具有SPI接口的外部EEPROM的驱动程序,通过MCAL的SPI总线驱动对外部EEPROM进行访问。

ECU抽象层通常包含一系列接口,这些接口是对位于它们下方的模块的抽象。它提供访问特定类型设备的通用API,不关心该类型设备存在的个数以及具体的硬件实现。接口层只负责数据的传递,不改变数据的内容。比如,一个CAN通信系统的接口提供访问CAN网络的API,调用者不必关心CAN控制器的个数,也不用关心CAN控制器的位置是在MCU内部还是MCU外部。

复杂驱动CDD

复杂驱动跨越MCAL、ECU抽象层和服务层,是AUTOSAR标准之外的基础软件模块。一般是通过特定中断或复杂的MCU外设,用来实现传感器处理和执行器驱动,比如电机控制、电磁阀控制、位置检测等。

复杂驱动的任务是实现特殊功能或者对时序有较高要求的功能,用以处理复杂的传感器和执行器。复杂驱动高度依赖于MCU、ECU和应用软件。

服务层

服务层是BSW的最高层,为上层的应用软件提供各种服务:

  1. Input/Output
    对传感器、执行器以及ECU板上设备的标准访问服务
  2. 存储服务
    对内部/外部存储设备的标准化访问服务(NVM)
  3. 通信服务
    对车载网络系统(CAN, LIN)、ECU板上通信系统(SPI, I2C)的标准访问服务
  4. Off-Board通信
    对V2X通信,车内无线通信网络系统的标准化服务
    系统服务
  5. 标准化的系统服务(操作系统,定时器)
  6. 诊断服务
    UDS诊断服务,内存错误检测,DTC等
  7. ECU状态管理
    ECU电源状态管理,模式管理服务,看门狗管理
  8. 加密服务
    对密码原语的标准化访问服务,包括内部/外部硬件加速器

以上是对BSW的介绍,下一篇介绍一下RTE层。更多干货,请关注微信公众号”日拱一卒不期而至“,我们后会有期。

AUTOSAR BSW介绍相关推荐

  1. 精心整理吐血推荐的AUTOSAR科普介绍材料

    一.AUTOSAR的背景介绍 AUTOSAR是AUTOmotive Open System Architecture(汽车开放系统架构)的首字母缩写,是由全球各大汽车整车厂.汽车零部件供应商.汽车电子 ...

  2. Autosar BSW开发必知的“术语”+“缩写”概念-1-诊断通信篇

    如何使用该博文? ==>您可以将该篇博文当做"字典",遇到疑惑的Autosar"关键字",使用组合键Ctrl+F,快速查找该关键字. 推荐Autosar培 ...

  3. AUTOSAR架构介绍(3)

    既然AUTOSAR是分层设计,每层都有自己的设计接口,总结来说主要的接口为: (1)AUTOSAR接口是一种与应用相关的接口,与RTE一并生成.基于AUTOSAR接口的端口可以用于软件组件(Softw ...

  4. Autosar DataType介绍

    前言 看了一下基本的配置,发现Autosar的DataType的内容比较多,也比较复杂,所以单独开一章来记录一下 Autosar DataType介绍 前言 一.基本数据类型 1.1基本类型 1.2其 ...

  5. Autosar BSW层CAN通讯开发------08(Autosar的E2E开发-----以E2E Profile01为例)

    Crc校验在CAN报文中的实际应用介绍: Crc在报文传输过程中的实际应用如下(在汽车中,Crc一般是对8个字节进行校验,目前我接触到的是这样): ECU-A和ECU-B之间进行CAN报文的传输,双方 ...

  6. AUTOSAR 架构介绍

    在AUTOSAR软件架构中,汽车嵌入式系统软件自上而下分别为应用软件层(Application Software Layer,ASW).运行时环境(Runtime Environment,RTE).基 ...

  7. 墙裂推荐的AUTOSAR科普介绍

    AUTOSAR介绍 AUTOSAR(AUTOmotive Open System Architecture,汽车开放系统架构)合作伙伴关系成立于 2003 年,是一种面向汽车行业内各组织的开发伙伴关系 ...

  8. Adaptive AUTOSAR架构介绍(2)

    在AP(Adaptive AUTOSAR)架构下,一切都是OS中的进程,这跟CP架构有着显著的区别,在CP架构下,所有应用都是静态配置的,即应用的进程在OS中被写死,一旦软件编译完成就不可更改,其调用 ...

  9. 总目录- AutoSAR BSW高阶配置【持续更新中...】

    AutoSAR小白建议从下面这个系列学习:链接

  10. Adaptive AUTOSAR架构介绍(9)

    MATLAB Simulink Adaptive AUTOSAR生成的代码解析: 在simulink上生成的代码工程如图所示: providedinterface_common.h providedi ...

最新文章

  1. LYNC 和 Exchange 整合手记之R2 如何下如何安装补丁
  2. 前端面试题整理(js)
  3. SAP Spartacus产品数据HTTP GET请求前的OPTIONS请求
  4. 7-35 城市间紧急救援 (25 分)(思路加详解)
  5. [css] 移动页面底部工具条有3个图标,如何平分?在设置边框后最后一个图标掉下去了怎么办?
  6. Apache的多处理模块MPM
  7. 图的深度优先搜索遍历
  8. PKU/POJ 2054 Color a Tree
  9. LeetCode刷题目录
  10. mybatis 实现批量更新
  11. 智能合约语言 Solidity 教程系列3 - 函数类型
  12. 升级版DC/DC转换器有什么优点?
  13. 网络安全笔记-网络设备专场(路由器、交换机、防火墙)
  14. ObjectARX_AutoCAD创建矩形功能实现
  15. 计算机辅助审计笔记,审计笔记2.0 盘点
  16. 为什么人需要一个人静静--《孤独力》的读后感
  17. “散场“却不”离场“的2020进博会品牌第一自行车辐轮王
  18. Hark的数据结构与算法练习之锦标赛排序
  19. window10系统安装梅雁EDMS(MAYAN EDMS)
  20. 利用python下载fnl数据方法

热门文章

  1. 基于Android Tv制作一个Tv桌面(三)
  2. Magento 常用插件(一)
  3. oracle密码解锁
  4. centos 零碎学习小记 11.
  5. 毕业一年来我的前端之路总结和谈谈大厂外包工作体验
  6. 【CV系列】昼夜图像区分算法
  7. 情人节程序员用HTML网页表白【七夕告白相册】 HTML5七夕情人节表白网页源码 HTML+CSS+JavaScript
  8. 谷歌浏览器打不开产品给的原型图,提示AXURE RP EXTENSION For Chrome
  9. c语言自定义标识符do,C语言基础知识习题
  10. html网页制作摘要,关于静态HTML网页制作