【车载开发系列】MCAL基本概念
【车载开发系列】MCAL基本概念
- 【车载开发系列】MCAL基本概念
- 一. BSW与MCAL
- 1)BSW-服务层
- 2)BSW-ECU抽象层
- 3)MCAL驱动层
- 二. MCAL基本概念
- 三. MCAL组成
- 1)PORT
- 2)DIO
- 3)ADC
- 4)PWM
- 5)ICU:
- 6)MCU
- 7)GPT
- 8)其他
一. BSW与MCAL
基础软件层(Basic Software Layer,BSW): 可以分为以下三层。BSW主要提供4个服务:通信 存储 系统 复杂驱动。
1)BSW-服务层
OS系统服务、存储器服务,通信服务 (像Java程序的服务,应用层调用服务层的服务接口完成上层业务逻辑,不需要关心下面怎么是实现)。
2)BSW-ECU抽象层
看门狗抽象,存储器硬件抽象,通信硬件抽象,io硬件抽象。
这一层的目的就是:使上层软件与ECU硬件设计无关。可以看ECU抽象层的位置 上层是服务 下层是硬件驱动来得到判断结果。
3)MCAL驱动层
微控制器驱动,存储器驱动,通信驱动。
二. MCAL基本概念
MCAL是MicroController Abstraction Layer的简称。它叫做微控制器抽象层。Mcal是BSW层中的最下层,也就是BSW中最靠近硬件的层。这一层的代码直接与硬件打交道,就像是单片机中的HAL库或者标准固件库+BSP板级支持包,这部分代码可以直接驱动芯片引脚以及片内资源。
三. MCAL组成
在MCAL当中,由以下各个驱动模块组成。
1)PORT
它是对单片机各引脚属性的配置;
MCU每个引脚都是一个port,对port引脚的方向(输入或输出)、运行期间引脚方向的可变性、引脚的工作模式、运行期间引脚工作模式的可变性、引脚的初始值、内部上拉的激活等进行配置。
2)DIO
digital i/o ,即单片机中GPIO;
AUTOSAR中,将一个单片机数字I/O引脚(Pin)定义为DIO通道(Dio channel),可把若干个DIO通道通过硬件分组成为一个DIO端口(DIO Port),DIO端口中相邻几个DIO通道的逻辑组合则称为DIO通道组(DIO Channel Group)。
Dio模块中涉及的DIO Channel,即单片机引脚(Pin),用之前,必须在PORT模块中配置引脚属性为GPIO。
3)ADC
Analog-to-Digital Converter Driver 模/数转换单元。
4)PWM
pluse width modulation 脉宽调制;可产生占空比和周期都可改变的脉冲;
应用场景:调节灯光亮度 调节电机转速等…
5)ICU:
输入捕获 input capture unit
6)MCU
Microcontroller Unit Driver 提供微控制器的初始化、复位、休眠等功能;使能MCU时钟;设置MCU时钟相关的参数(:CPU时钟、锁相环(PLL) 、外设时钟、预分频器等);进入低功耗模式
7)GPT
General Purpose Timer Driver。通用定时器,硬件定时器;提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。
8)其他
OCU:输出比较
Ethernet:以太网
CAN:Can通信驱动
LIN:总线相关接口
SPI:一般就是用来读写存储器
EepROM:外部存储器
Flash: 内部 外部
WatchDog:看门狗