autosar os 的主要功能_AUTOSAR软件架构

f385d02030d80d4e472a05fb9c0f5708.png

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

目录

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

架构概述

446031efb76efe2477a289752f2a7710.png

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

  1. 结构化
  2. 标准化:软件接口,交换格式,方法论
  3. 将汽车系统的基础软件标准化为一个跨OEM的“标准栈”
  4. 集成不同供应商生成的功能模块
  5. 适用于不同的车辆及不同的车型

App应用层

75e43151224557b2e784a5969d48e3c1.png

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

SWC的组成之一:Ports

  1. 和其他SWC的通信端口
  2. 通信内容:Dataelements(S/R)与operations(C/S)

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

  1. 包含实际实现的函数(具体的逻辑算法或者操作)
  2. Runnables 由RTE周期性或者事件触发调用(如,当数据接收时触发时执行)

RTE运行时环境

a792052b72b4f73f1ec524af0bbd0e3f.png

目的:使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基础软件

8c7b6806cb44d5817340ebd50bb85e26.png

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

c142f489c5f75feea5c8a3de925a3996.png

ComplexDevice Driver:复杂设备驱动

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

  1. 提供复杂传感器和执行器的驱动
  2. 重要的应用模块可以直接访问硬件资源

MCAL微控制器抽象层

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

2234e2706fed5facf6d6d4dd06771565.png

微控制器驱动

  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专栏》目录

388b4f8991c9e9552c818bf5bb14e3ac.png
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值