Autosar架构的SBC模块 autosar架构图_基础软件

 龙,大则吞云吐雾,小则隐介藏形 


Autosar架构的SBC模块 autosar架构图_基础软件


  

Autosar架构的SBC模块 autosar架构图_autosar os 的主要功能_03


文 | 啸西风

Autosar架构的SBC模块 autosar架构图_autosar os 的主要功能_04

干货目录


1. 架构概述 2.  App应用层 3. RTE运行时环境 4. BSW基础软件 5. MCAL微控制器抽象层 01


架构概述

Autosar架构的SBC模块 autosar架构图_Test_05

AUTOSAR软件总体结构如上图,对软件实现了:

1. 结构化

2. 标准化:软件接口,交换格式,方法论

3. 将汽车系统的基础软件标准化为一个跨OEM的“标准栈”

4. 集成不同供应商生成的功能模块

5. 适用于不同的车辆及不同的车型


02


App应用层

Autosar架构的SBC模块 autosar架构图_Autosar架构的SBC模块_06

ApplicationLayer实现具体的应用功能,由软件组件(SWC)组成,基于AutoSAR设计的SWC组件能够提高上层应用软件的复用性和灵活性。

SWC的组成之一:Ports

1. 和其他SWC的通信端口

2. 通信内容:Dataelements(S/R)与operations(C/S)

SWC的组成之二:Runnable entities(简称Runnables,可运行实体)

1. 包含实际实现的函数(具体的逻辑算法或者操作)

2. Runnables 由RTE周期性或者事件触发调用(如,当数据接收时触发时执行)


03


RTE运行时环境

Autosar架构的SBC模块 autosar架构图_Test_07

目的:使SWC与ECU的映射无关

功能:提供通信服务的中间层(ECU内部/间通信)

实现:

1. 配置(把Runnables对应到os的tasks中去)

2. 通过RTE的时间触发Runnables的运行

3. 生成调用Runnables的task代码

4. 配置OS的一部分(tasks,events,alarms)

5. 实现SWC之间的通信

6. 每个ECU的RTE因SWC的需求而异

7. RTE抽象OS,防止SWC直接访问OS和BSW


04


BSW基础软件

Autosar架构的SBC模块 autosar架构图_基础软件_08

BSW被抽象划分为如下层面:

MCAL:Microcontroller Abstraction Layer 微控制器抽象层

1. 使上层软件与微控制器信号无关

2. 包含MCU中内部外设的驱动

3. 包含使用MCU内存映射的外部设备的驱动

ECUAbstraction Layer:ECU抽象层

1. 使上层软件与ECU硬件设计无关

2. 包含ECU板上外部设备的驱动

3. 内部设备与外部设备的接口(I/O)

4. ServiceLayer:服务层

5. 提供给应用程序可以的服务

6. 诊断,非易失性内存管理,操作系统(OS),通讯

7. 内存和ECU管理

特别注意:复杂设备驱动不属于BSW,这里顺便提一笔

Autosar架构的SBC模块 autosar架构图_autosar os 的主要功能_09

ComplexDevice Driver:复杂设备驱动

一般不好被BSW标准化的东西会被实现为一个复杂设备驱动

1. 提供复杂传感器和执行器的驱动

2. 重要的应用模块可以直接访问硬件资源


05


MCAL微控制器抽象层

MCAL也是属于BSW,跟底层硬件息息相关,一般是由芯片厂商提供,比如你要使用NXP的MCU,那么就需要向NXP购买MCAL,当然也有的芯片厂商为了推广自己的芯片,快速占领市场,标榜免费提供MCAL。



Autosar架构的SBC模块 autosar架构图_Test_10

微控制器驱动

1. GPT:General Purpose Timer Driver,通用定时器,为操作系统或者其他基础软件模块提供计时功能。GPT驱动可以提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。GPT通道可以设置为连续模式(CONTINUOUS)单次模式(ONESHOT)

2. Watchdog:看门狗驱动,除防止程序跑飞基本功能外,功能安全还使用看门狗进行程序流监控(Deadline and Program Flow Monitoring),比如监控程序执行时间、执行顺序等。

3.MCU:Microcontroller Unit Driver,芯片时钟、休眠、复位设置。

4. Core Test:芯片内核测试,提供上电或者周期检测两种方式,检测结果能触发中断。

存储器驱动

1. Flash Test & Ram Test:存储器测试驱动。

2. Flash/Eep Driver:提供基本的存储器操作,如初始化,擦除,写入,读取等。

通信驱动

比较简单理解,这里省略。

I/O驱动

1. Port:pinmux配置。

2. ADC:采样模拟信号,转成数字信号。

3. DIO:Digital Input/Output Driver,数字输入输出驱动,在AUTOSAR中,将一个单片机数字I/O引脚(Pin)定义为DIO通道(DIO Channe可把若干个DIO通道通过硬件分组成为一个DIO端口(DIO Port),DIO端口中相邻几个DIO通道的逻辑组合则称为DIO通道组(DIO Channel Group),在配置过程中可以设置寄存器位蔽值、位偏移量等,从而对多个数字I/O引脚同时进行读/写操作。

4. PWM:生成周期和频率可变的方波

5. ICU:Input Caputre Unit,输入捕获单元,捕获方波周期或者捕获方波电平持续时间。

6. OCU:Output Compare Unit,输出比较单元,基于定时器单元的比较模块。



Autosar架构的SBC模块 autosar架构图_autosar架构_11

精彩预告

  • AUTOSAR介绍
  • 为什么是AUTOSAR?

Autosar架构的SBC模块 autosar架构图_基础软件_12

END



Autosar架构的SBC模块 autosar架构图_基础软件_13

作者:啸西风,一位渴望不平凡的广飘程序猿

Autosar架构的SBC模块 autosar架构图_基础软件

  龙,大则吞云吐雾,小则隐介藏形  

Autosar架构的SBC模块 autosar架构图_基础软件

Autosar架构的SBC模块 autosar架构图_Autosar架构的SBC模块_16


Autosar架构的SBC模块 autosar架构图_基础软件_17