AI智能
改变未来

AUTOSAR软件架构

>>>点我返回《AUTOSAR专栏》目录

目录

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

架构概述


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

  1. 结构化

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

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

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

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

App应用层


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

SWC的组成之一:Ports

  1. 和其他SWC的通信端口

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

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

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

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

RTE运行时环境


目的:使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

BSW基础软件


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,这里顺便提一笔

ComplexDevice Driver:复杂设备驱动

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

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

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

MCAL微控制器抽象层

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

微控制器驱动

  1. GPT:General Purpose Timer Driver,通用定时器,为操作系统或者其他基础软件模块提供计时功能。GPT驱动可以提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。GPT通道可以设置为连续模式(CONTINUOUS)或单次模式(ONESHOT)。
  2. Watchdog:看门狗驱动,除防止程序跑飞基本功能外,功能安全还使用看门狗进行程序流监控(Deadline and Program Flow Monitoring),比如监控程序执行时间、执行顺序等。
    3.MCU:Microcontroller Unit Driver,芯片时钟、休眠、复位设置。
  3. 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专栏》目录
扫描下方的二维码关注“汽车软件攻城狮”可第一时间获取更新!

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » AUTOSAR软件架构