联系方式

    深圳市英瑞尔芯科技有限公司

    电话:

    186 6591 0262

    E-mail:

    sally@szinter.com.cn

    地址:

    深圳市福田区振华路现代之窗A座7B

AutoSar之微控制器抽象层MCAL

发布时间:2021-12-22 17:28:00

来源:http://www.szinter.com.cn/news741573.html

热烈欢迎关心微信公众平台“车辆控制与人工智能技术”

微控制器抽象性层坐落于AUTOSAR BSW的底层,包括內部驱动,可立即浏览微控制器和外接设备集成ic。从实际运用看来,MCAL是指微控制器驱动、储存器驱动、通讯驱动和I/O驱动四个一部分,各一部分又由详细的与微控制器硬件相对性应的驱动模块构成。

实际上,从AUTOSAR官原文中,MCAL还包括此外2个一部分:数据加密驱动和无线通信技术驱动。因为基本上无新项目运用,因此姑且不提。下边就每一个一部分宏观经济表述下。

微控制器驱动

微控制器驱动由通用性计时器驱动(GPT Driver)、看门狗1驱动(WDG Driver)、微控制器模块驱动(MCU Driver)和核心检测(Core Test)四个一部分构成。

1)GPT Driver

在AUTOSAR中有两大类计时器,电脑操作系统计时器和硬件计时器。该模块应用通用性计时器模块的硬件计时器安全通道,为电脑操作系统或是别的基本APP模块提供记时作用。GPT驱动的功效是:

运行和终止硬件计时器;获得计时器标值;控制时间开启的终断;控制时间开启的终断唤起。

2)WDG Driver

WDG Driver的作用主要是初始化和开启看门狗1。WDG Driver有內部WDG Driver和外界WDG Driver。內部WDG Driver操纵MCU的內部看门狗定时器,提供开启作用和方式挑选服务项目;外界WDG Driver操纵外界硬件看门狗1,与內部WDG Driver一样,提供开启作用和方式挑选服务项目。

3)MCU Driver

MCU Driver坐落于MCAL层,可以同时浏览微控制器硬件,它的首要功用是初始化、休眠状态、校准微控制器及其提供别的MCALAPP模块需要的与微控制器有关的独特作用。MCU Driver还可以也就能并设定MCU钟表,比如CPU钟表、外部元器件钟表、预分频器等主要参数。

4)Core Test

Core Test(核心检测)模块包括规律性检测和运行检测。核心检测模块可以对CPU全部存储器开展检测,提供终断操纵和异常检测。该模块还对算数逻辑性模块、存储保护模块和缓存文件控制板等开展检验。

储存器驱动

储存器驱动由內部EEPROM驱动、內部Flash驱动、RAM检测和Flash检测四部份构成。

1)內部EEPROM驱动

內部EEPROM驱动提供初始化服务项目,及其对內部EEPROM的读写能力、写、擦掉等实际操作。该驱动模块一次只有接纳一个每日任务。

2)內部Flash驱动

內部Flash驱动提供內部Flash初始化服务项目,及其对內部Flash的读、写、擦掉等实际操作。该驱动还能够将Flash浏览编码在线下载到RAM中,假如需要的话,还可以实行写、擦掉实际操作。

3)RAM检测

RAM检测模块根据APP对RAM储存开展检测。该模块包括后台管理检测和前台接待检测。在其中,后台管理检测是多线程服务项目,前台接待检测是同歩服务项目。

4)Flash检测

flash检测模块提供优化算法来检测例如数据信息/程序流程闪存芯片、程序流程SRAM等非易失性存储器,这种储存器可以是融合在微控制器內部的,还可以是外界投射到微控制器的储存器。

通讯驱动

通讯驱动由以太网接口(Ethernet)驱动、FlexRay驱动、CAN驱动、LIN驱动和SPI驱动五部份构成。

1)Ethernet驱动

Ethernet驱动模块为以太网接口提供统一的插口。

该驱动模块对所运用的以太网控制器的硬件特点开展了抽象性。

千兆以太网模块应用以太网接口驱动层浏览一些控制板。

以太网接口驱动层由多个以太网接口驱动模块构成。

TCP/IP通讯业务流程是车截互联网与通信系统TCP/IP通讯的一组模块

2)FlexRay驱动

FlexRay驱动用于抽象性不一样的FlexRay通讯控制板以及硬件有关的特点。通讯整流器的FlexRay协义强制性特点通过封装形式后只有根据统一的API开展浏览。API提供了投射到根据具体通讯整流器的硬件浏览编码序列的抽象性作用实际操作。因而,应用FlexRay驱动可以确保FlexRay插口单独于硬件。对內部或外界FlexRay通讯整流器的驱动而言,必须开展以下解决:

FlexRay控制板的初始化;配备数据信息控制部件;程序控制向通讯整流器的传送;从协义模块到控制板主插口情况信息的要求;通讯控制板和主回收器中间信息内容统计数据的传送。

3)CAN驱动

CAN驱动对于的是微控制器內部的CAN控制板,它可以完成下列作用:

对CAN控制板开展初始化;推送和接受报文格式;对报文格式的信息和作用开展通告(对接受报文格式的标示、对推送报文格式的确定);外溢和处理错误;唤起检验。

除此之外,CAN驱动还具备下列特点:单通道或多通道CAN安全通道、CAN驱动的多种创建对象、对接受报文格式的终断/轮询方式。

CAN驱动是MCAL的一部分,可以实行硬件浏览、向顶层提供单独于硬件的API,而仅有的可以浏览CAN驱动的顶层是CAN插口(CAN Inte ** ce)。

CAN驱动还可以为传输数据的初始化和通告接受事情的调用函数提供服务项目,该服务项目也是单独于硬件的。此外,CAN驱动还可以操纵从归属于同一个CAN硬件模块的CAN控制板的行为表现和情况。

4)LIN驱动

LIN驱动应用规范的通用性多线程收发器(UART)或串口通信插口(SCI)开展通讯。

该模块可以进行以下每日任务:

LIN硬件的初始化;调度表的解决;LIN报文格式的推送(根据标志位解析函数插口确定);LIN报文格式的接受(根据标志位解析函数插口标示);睡眠质量和唤起;协义错漏的解决;报文格式的请求超时检测。

LIN驱动也是MCAL的一部分,可以实行硬件浏览、向顶层提供单独于硬件的API。仅有的可以浏览LIN驱动的顶层是LIN插口(LIN Inte ** ce)。

LIN驱动可以兼容好几个安全通道,可是这种安全通道要归属于同一个LIN硬件模块。

5)SPI驱动

SPI驱动模块是微控制器內部同歩通讯串行通信的驱动。SPI驱动为SPI系统总线上不一样的机器设备(如EEPROM/Watchdog等)提供读写访问服务项目。

一个SPI机器设备可以被所运用的SPI硬件和相应的片选数据信号鉴别。该模块可以在主、从或是主-从方式下运作。

配备SPI驱动应遵循下面流程:

挑选SPI驱动的作用等级,配备可选用的作用特点;依据数据信息主要用途来界定SPI安全通道,他们可以是SPI驱动的內部油压缓冲器,或是是由客户提供的外界油压缓冲器;依据硬件特性来界定SPI每日任务,他们会包括一系列应用这种特性的安全通道;界定每日任务编码序列,以优先级排序的方法来传递数据。

I/O驱动

I/O驱动由PORT驱动、DIO驱动、ADC驱动、PWM驱动、ICU驱动、OCU驱动六部份构成。

1)PORT驱动

PORT驱动初始化便是对微控制器的全部PORT模块开展初始化配备。

许多端口号和引脚被分派有多种多样的作用,即可以开展管脚作用重复使用,例如通用性I/O、AD转换、脉冲宽度调制等作用。因而,对PORT务必有一个总体的配备和初始化,对各引脚的实际设置和应用在于微控制器和ECU的各脚作用分派。

PORT初始化数据信息理应尽量高效率地提到每一个端口号。DIO驱动中使用到的端口号的配备和初始化全是在PORT驱动模块中进行的。因而,在应用DIO作用以前,先要开展PORT的初始化。

2)DIO驱动

DIO驱动对微控制器硬件引脚的浏览开展了抽象性,此外,还能够对引脚开展分类。该模块根据DIO安全通道、DIO端口号及其DIO安全通道组来读写能力数据信息,并且这类实际操作是同时的。

3)ADC驱动

ADC驱动对微控制器內部AD转换模块开展初始化和操纵。它可以提供运行和终止AD转换的服务项目,各自用于打开和禁止使用AD转换的开启源。

4)PWM驱动

PWM驱动为微控制器PWM模块提供初始化和操纵服务项目,可转化成周期时间和pwm占空比都可变的单脉冲。

5)ICU驱动

ICU驱动操纵的是微控制器的键入捕获模块(Input Capture Unit),有二种方式:一切正常方式和休眠状态。

ICU驱动可以提供一下服务项目:

数据信号边缘检验及通告;

终断唤起;

规律性数据信号時间的精确测量;

边缘时间戳捕获;

边缘/单脉冲记数

6)OCU驱动

OCU驱动的功效是对微控制器內部的效果较为模块(Output Compare Unit)开展初始化和操纵。当计数的值抵达某一阀值时,OCU模块会全自动逐渐较为并实行相对应的实际操作。

OCU驱动还能够为以下作用提供服务项目:

运行或终止导出安全通道;设置某一阀值;开启或禁止使用某一安全通道的通告函数公式;获得计数标值;

自然,在多核系统软件慢慢风靡的今日,AUTOSAR在多核中的资源配置和分配任务看起来也至关重要,Mcal在多核系统软件中的完成和上边谈及相近,每家有每家爱好和特点,可以按照具体要求实际分派。

原文中基本概念:

微控制器驱动:Microcontroller Drivers

储存器驱动:Memory Drivers

通讯驱动:Communication Drivers

I/O驱动:I/O Drivers

数据加密驱动:Crypto Drivers

无线通信技术驱动: Wireless Communication Drivers

通用性计时器驱动:General Purpose Driver,GPT Driver看门狗1驱动:Watchdog Driver,WDG Driver微控制器模块驱动:Microcontroller Unit Driver,MCU Driver核心检测:Core Test

通用性多线程收发器(Universal Asynchronous Receiver Tran ** itter,UART)

串口通信插口(Serial Communication Inte ** ce,SCI)

原文中內容多参照自《AUTOSAR_EXP_LayeredSoftwareArchitecture》,后台管理回应"MCAL”获得文本文档。

作者介绍:Demu,传统式车辆电机控制向无人驾驶变化的汽车人。从业汽车发动机控制板技术工程师和软件工程师很多年,有充足的ECU系统软件和软件开发工作经验。热烈欢迎大伙儿一起留言板留言沟通交流,共同奋斗。

相关标签: