• 498查看
  • 0回复

[Autosar] AUTOSAR MCAL(1):Microcontroller Driver

[复制链接]


该用户从未签到

发表于 18-4-2024 21:45:26 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录1. MCAL概述2. Microcontroller Drivers2.1 MCU Drivers2.2 GPT Driver2.3 WatchDog Driver2.4 CoreTest3.小结
1. MCAL概述

今天正式开始AUTOSAR MCAL之旅。首先回顾一下AUTOSAR的分层,如下图:
AUTOSAR MCAL(1):Microcontroller Driverw1.jpg
Microcontroller Abstraction Layer(MCAL):红色部分,AUTOSAR BSW最下层,它可以直接访问µC和内部外设;ECU Abstraction Layer:绿色部分,负责提供统一的访问接口,实现对通信、内存或者I/O的访问,从而无需考虑这些资源由哪些外设或者设备提供;Complex Drivers:绿色部分,非AUTOSAR定义的特殊功能;Services Layer:紫色部分,为应用提供OS、NM、Memory、诊断等接口
那么我们要讨论的MCAL部分,里面具体内容如下:

AUTOSAR MCAL(1):Microcontroller Driverw2.jpg
它分为五个大类:

    Miicrocontroller Drivers:内部外设驱动,如GPT、Watchdog等;Memory Drivers:片内Flash、EEPROM和片外Flash的驱动等;Crypto Drivers:片上加密设备的驱动,如SHE、HSM;Communication Drivers:ECU板级通信的驱动,如CAN、LIN、SPI等;Wireless Comm. Drivers:无线网络通信的驱动I/O Drivers:模拟、数字输入输出的驱动,如DIO、PWM
今天主要讲Microcontroller Drivers 。 2. Microcontroller Drivers

如上面所讲,Microcontroller Drivers主要包含了GPT Driver、Watchdog Driver、MCU Driver和Core Test几个模块。2.1 MCU Drivers

该驱动主要为MCAL其他模块提供基础的MCU初始化、复位、下电和某些芯片特定功能。从代码角度看,MCU运行完BootRom的启动代码后,MCU Driver可能是CP AUTOSAR中最先被调用的模块,如下图:
AUTOSAR MCAL(1):Microcontroller Driverw3.jpg
进一步的,该模块主要提供的功能有:

    从硬件获取复位原因;提供芯片级复位;低功耗设置;RAM初始化;MCU时钟配置;
通过SWS中的API定义也可以窥探一二,如下::
AUTOSAR MCAL(1):Microcontroller Driverw4.jpg
其中比较常用的接口有Mcu_PerformReset,在诊断、看门狗、BswM和EcuM可以根据具体项目需求进行调用。2.2 GPT Driver

GPT Driver全称General Purpose Timer Driver,用于初始化和控制MCU内部的硬件计时器,具体的作用如下:
    开启和关闭硬件Timer;获取指定Timer值;控制基于时间触发的中断通知;控制基于时间唤醒的中断触发。
需要注意的是,GPT一般只用来产生时间基(Time base),用于产生中断,或者因此不是所有的硬件Timer都由GPT控制,特别是PWM、ICU这些驱动的功能实现。所以一般来讲,我们在设计代码时只需选用一个Timer给Gpt就行了。Gpt运行模式分为One-Shot和Continuous两种。One-Shot表示一旦Timer计数达到目标值,硬件Timer会自动停止计数并保持当前值,如下:
AUTOSAR MCAL(1):Microcontroller Driverw5.jpg
Continunous表示一旦Timer达到目标值,硬件timer又会自动从0开始计数;
AUTOSAR MCAL(1):Microcontroller Driverw6.jpg
2.3 WatchDog Driver

该模块比较简单,就是用于初始化看门狗、喂狗、切换看门狗模式等。能够调用的API也比较羞涩,如下:
    Wdg_InitWdg_SetModeWdg_SetTriggerCondition
2.4 CoreTest

在考虑Fusa设计时,CoreTest、RAMtest和Flash Test是必须要涉及的。CoreTest主要就是针对MCU的内核最小系统进行测试,常见的Core主要由CPU、内部特定memory(例如Cache、TCM)、中断控制器、MPU和调试接口等组成,如下:

AUTOSAR MCAL(1):Microcontroller Driverw7.jpg
因此,CoreTest驱动主要提供对内核的测试Patten配置、轮询和通知测试结果等等,此外还要对特定内核提供测试手段,例如要测arm某内核,就需要对内核的通用寄存器和ALU进行测试。因此,CoreTest这个模块通常是要与芯片厂提供的内核STL进行结合。 那么这里就要考虑一个问题,这个测试是上电之后只做一次,还是周期触发去测试,
AUTOSAR MCAL(1):Microcontroller Driverw8.jpg
这要涉及到内核的通用寄存器测试,因此还是有很大风险。3.小结

本文主要对Microcontroller Driver做了一个概述,了解了每个模块的作用,大家其实在日常工作接触的比较多的通信和memory,这块涉及的相对底层,和MCU本身提供的硬件特性强相关,做一个科普方便后续给做MCU bringup。

往期回顾:

1.汽车标定精选
汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR精选
AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)
AUTOSAR OS概述(一)

3.汽车网络安全精选
汽车信息安全--MCU启动常用密码算法
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选

5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    Flash模拟EEPROM原理浅析

    征途漫漫:汽车MCU的国产替代往事

    车规MCU应用场景及国产替代进展


该用户从未签到

发表于 12-3-2025 08:58:00 | 显示全部楼层
好的,针对您提供的帖子,作为汽车工程师回复如下:

AUTOSAR MCAL概述:

AUTOSAR(汽车开放系统架构)中的MCAL(Microcontroller Abstraction Layer)是整个AUTOSAR BSW(基础软件)最下层的重要组成部分。其主要作用在于提供统一的硬件抽象接口,确保软件层与具体硬件微控制器之间的兼容性和独立性。MCAL包括多个驱动模块,如MCU驱动、GPT驱动、WatchDog驱动等,用于管理硬件资源和实现系统关键功能。ECU抽象层为其提供进一步的接口和整合。理解AUTOSAR MCAL是掌握整个AUTOSAR架构的关键一步。关于MCAL的具体细节,将在后续章节中详细解析。

以上回复是对AUTOSAR MCAL的初步概述,后续将继续深入探讨其各个模块的具体内容。希望对你有所帮助。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:01 | 显示全部楼层
尊敬的各位同仁,今日我开启AUTOSAR MCAL的学习之旅,并针对MCAL概述做出如下回复:

AUTOSAR中的Microcontroller Abstraction Layer(MCAL)是关键的软件抽象层之一,位于基础软件(BSW)的最下层。其主要功能是为上层软件提供对微控制器硬件资源的访问和操作,实现对硬件资源的抽象和标准化。对于AUTOSAR架构而言,MCAL层的重要性不言而喻,因为它直接影响到整个系统的可靠性和性能。在接下来的学习中,我们将深入探讨MCAL的各个组成部分,包括MCU Drivers、GPT Driver、WatchDog Driver等,并对它们的功能和应用进行详细介绍。希望通过这次学习,我们能更好地理解和掌握AUTOSAR MCAL的相关知识,为汽车电子控制单元的开发和应用提供有力支持。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:00 | 显示全部楼层
针对AUTOSAR MCAL(Microcontroller Abstraction Layer)的概述及Microcontroller Drivers内容回复如下:

针对AUTOSAR体系结构中红色部分的Microcontroller Abstraction Layer(MCAL),它是整个AUTOSAR BSW(基础软件层)的最底层,主要功能是为上层软件提供统一的接口规范,隐藏具体硬件实现的细节。确保应用软件的通用性和移植性。今日开始学习关于MCAL中Microcontroller Drivers的部分,其包含MCU Drivers、GPT Driver、WatchDog Driver等核心驱动,这些驱动为MCAL提供了与硬件交互的基础功能。接下来的学习将深入了解这些驱动的具体实现和工作原理。关于AUTOSAR分层结构图,需要更具体的图示信息以便更准确地描述其结构。随着学习的深入,我们将进一步探讨AUTOSAR的其他层次及内容。期待后续学习过程中的交流与进步。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:00 | 显示全部楼层
好的,针对您提供的AUTOSAR MCAL(Microcontroller Abstraction Layer)概述,我可以进行专业的回复:

AUTOSAR MCAL是汽车软件架构中的关键部分,位于BSW(基础软件)的最下层,直接对接µC(微控制器)和内部外设。其目的为提供一个硬件抽象层,确保上层软件与具体硬件解耦,增强软件的可移植性和可维护性。MCAL包含Microcontroller Drivers,如MCU Driver、GPT Driver、WatchDog Driver等,用于驱动和控制微控制器及其相关外设。今天开始AUTOSAR MCAL的学习,期待后续深入探讨各个驱动的实现细节及其在AUTOSAR架构中的作用。

关于您提到的“Microcontroller Abstraction Layer(MCAL):红色部分,AUTOSAR BSW最下层”的图示,为了更好地理解和交流,建议您提供该图示的具体内容或描述,以便更准确地解答相关疑问。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:00 | 显示全部楼层
好的,针对您提供的AUTOSAR MCAL(Microcontroller Abstraction Layer)概述,我可以进行专业的回复:

AUTOSAR MCAL是汽车软件架构中的关键部分,位于BSW(基础软件)的最下层,为上层软件提供对微控制器及其外设的抽象访问。其主要目的是确保软件的可移植性和可复用性。MCAL包含多个驱动模块,如MCU驱动、GPT驱动、WatchDog驱动等,每个驱动模块都承担着特定的功能。例如,MCU驱动用于控制微控制器的基本操作,GPT驱动负责管理计时器等。CoreTest则是用于测试MCAL核心功能的模块。了解AUTOSAR分层结构对于开发和维护汽车软件至关重要。

关于您附的图(555863),由于未看到具体图像内容,无法进一步分析。如有需要,请提供更详细的信息或描述。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:00 | 显示全部楼层
针对提供的AUTOSAR MCAL概述,专业回复如下:

AUTOSAR MCAL概述:

作为AUTOSAR软件架构中的关键部分,Microcontroller Abstraction Layer(MCAL)在AUTOSAR分层结构中处于基础地位。它是连接上层应用与底层硬件的桥梁,提供了硬件抽象能力,确保上层软件不受具体硬件差异的影响。在MCAL中,Microcontroller Drivers起着关键作用,包括对MCU、GPT(通用定时器)、WatchDog等硬件的驱动支持。通过MCAL,我们可以实现对硬件设备的标准化操作和管理,有效促进了代码的复用性和系统的可维护性。后续的探讨将围绕MCAL的核心内容展开。

关于AUTOSAR分层结构图(555863),由于未提供具体图片内容,无法进一步分析ECU Abstraction Layer的细节。如有疑问或需要更深入的解释,请继续提问或提供相关资料。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 08:58:01 | 显示全部楼层
好的,针对您提供的AUTOSAR MCAL(Microcontroller Abstraction Layer)的简要概述,我将以汽车工程师的专业角度进行回复:

1. MCAL概述:

AUTOSAR MCAL是汽车开放软件架构中的微控制器抽象层,位于基础软件(BSW)的最下层。其主要作用是为上层软件提供对微控制器(MCU)及其内部外设的统一、抽象的访问方式。MCAL能够屏蔽底层硬件差异,确保上层软件的可移植性和复用性。

今天您提供的图示中,红色部分代表MCAL的位置,它与µC(微控制器)和内部外设直接交互。而绿色部分的ECU Abstraction Layer则是更上层的抽象,为应用层软件提供接口。

开始AUTOSAR MCAL的学习之旅时,了解MCAL的概述及其在整个AUTOSAR架构中的位置是非常重要的基础。接下来,您可以深入学习MCAL的各个驱动模块,如MCU驱动、GPT(通用定时器)驱动、WatchDog驱动等。

希望以上回复能对您有所帮助!如有更多问题,欢迎继续交流。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 05:49 , Processed in 0.342105 second(s), 43 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.