当前位置: 首页 > news >正文

MCAL(Microcontroller Abstraction Layer)介绍

目录

MCAL的核心作用

MCAL的模块组成

1. 微控制器驱动(Microcontroller Drivers)

2. I/O驱动(DIO, PWM, ADC等)

3. 通信驱动(Communication Drivers)

4. 存储驱动(Memory Drivers)

5. 复杂设备驱动(Complex Drivers)

MCAL的开发与配置流程

MCAL的典型应用场景

MCAL的优势与挑战

国产MCAL的发展现状


MCAL的核心作用

  1. 硬件抽象
    将MCU的硬件特性(如寄存器配置、外设操作)封装成标准化的API,使上层软件无需关心具体硬件型号。

  2. 统一接口
    提供跨平台的驱动程序接口(如GPIO控制、CAN通信),确保应用代码可移植到不同MCU。

  3. 降低开发成本
    避免针对不同芯片重复开发驱动代码,加速ECU软件开发流程。


MCAL的模块组成

MCAL根据功能划分为多个子模块,每个模块对应一种硬件外设或功能:

        这个是24年11月份推出的CP架构图,也是目前最新的,其中RTE下面的就是BSW层和MCAL层。里面的driver和controller都属于MCAL。 而痛心协议栈和操作系统则属于BSW层。

1. 微控制器驱动(Microcontroller Drivers)

  • 作用:配置MCU核心功能,如时钟、电源模式、中断控制器(如NVIC)。

  • 关键功能

    • 初始化MCU内核(如ARM Cortex-M/R系列)。

    • 管理低功耗模式(Sleep、Stop等)。

    • 控制内存保护单元(MPU)。

2. I/O驱动(DIO, PWM, ADC等)

  • DIO(Digital Input/Output)
    控制数字引脚输入/输出状态(如开关量信号读取、LED控制)。

  • PWM(Pulse Width Modulation)
    生成PWM波形(如电机调速、背光调节)。

  • ADC(Analog-to-Digital Converter)
    采集模拟信号(如温度传感器、电池电压)。

3. 通信驱动(Communication Drivers)

  • CAN(Controller Area Network)
    提供CAN控制器配置、报文收发接口(如车身网络通信)。

  • LIN(Local Interconnect Network)
    支持LIN主从节点通信(如车窗控制)。

  • FlexRay
    高速实时通信驱动(如线控系统)。

  • Ethernet
    适用于Adaptive AUTOSAR的以太网驱动(如自动驾驶数据传输)。

4. 存储驱动(Memory Drivers)

  • Flash驱动
    管理程序存储器的擦写操作(如OTA升级)。

  • EEPROM驱动
    控制非易失性存储(如标定数据保存)。

  • RAM测试
    实现内存自检(满足ISO 26262功能安全要求)。

5. 复杂设备驱动(Complex Drivers)

  • 作用:处理非标准外设或高实时性需求(如直接控制传感器/执行器)。

  • 示例

    • 电机控制(如BLDC电机FOC算法)。

    • 高精度定时器(如喷油控制时序)。

        标准MCAL模块主要包括MCU、GPT、WDG、DIO、ICU、OCU、SPI、CAN、LIN、ETH、PORT、FR(FLEXRAY)、FLS、FEE、ADC、PWM一共16个,不知道为什么IIC不是标准模块。但是好像用IIC缺失比较少。这里还有一个问题需要注意,汽车电子领域用的MCU都是专供这个领域的,比如英飞凌的TC系列芯片(TC367、TC377、TC397)、NXP的S32K系列(S32K124、S32K324)、瑞萨的RH系列(RH850)。最近TI也想进这个领域分蛋糕,但是他们的芯片用过一次,属实一般。虽然他们的STM32还挺好用的。这里国产的旗芯微也不错。


MCAL的开发与配置流程

  1. 硬件需求分析
    根据ECU需求选择MCU型号(如英飞凌TC3xx、NXP S32K),明确外设资源(CAN通道数、ADC精度等)。

  2. 工具链配置
    使用AUTOSAR工具(如Vector DaVinci Configurator、EB Tresos)生成MCAL配置代码:

    • 定义引脚映射(如Port模块配置)。

    • 设置通信参数(如CAN波特率、报文ID过滤)。

    • 配置中断优先级、DMA通道等。

  3. 代码生成与集成
    工具自动生成C代码(如Mcu_Cfg.cCan_Cfg.c),与手动编写的复杂驱动代码集成。

  4. 测试验证

    • 静态测试:检查配置是否符合MCU硬件限制。

    • 动态测试:通过HIL(硬件在环)验证外设功能(如ADC采样精度、CAN通信稳定性)。

    • 功能安全测试:验证内存保护、错误注入处理机制(如ASIL D要求)。

        工具链里面用的最多的就是EB其次是Vector的达芬奇。感觉EB更好用点,不知道是不是用的多的原因。但是瑞萨只支持达芬奇,用瑞萨的时候就得用达芬奇了。


MCAL的典型应用场景

  1. 车身控制模块(BCM)

    • DIO控制车灯、车门锁。

    • LIN驱动车窗升降电机。

    • PWM调节车内氛围灯亮度。

  2. 发动机控制单元(ECU)

    • ADC采集进气压力、氧传感器信号。

    • PWM控制燃油喷射脉宽。

    • 定时器驱动火花塞点火时序。

  3. 电池管理系统(BMS)

    • ADC监测电池单体电压、温度。

    • CAN通信上报电池状态。

    • Flash存储电池健康数据。

  4. 智能驾驶域控制器

    • Ethernet驱动高速数据传输(如摄像头、雷达数据)。

    • 复杂驱动处理多传感器同步采样。

        除了这些还有VCU、数字钥匙、智能流媒体后视镜、各种车身域控单元等等。后续给大家讲下车里的架构以及架构的发展。


MCAL的优势与挑战

优势

  • 硬件无关性:上层软件无需修改即可适配不同MCU。

  • 标准化开发:减少底层驱动开发时间,提升代码复用率。

  • 安全合规:内置内存保护、错误检测机制,支持ISO 26262 ASIL等级认证。

挑战

  • 硬件适配复杂性:不同MCU的寄存器差异需精细处理。

  • 性能优化:高实时性场景(如电机控制)需优化驱动代码效率。

  • 工具链依赖:MCAL配置高度依赖商业工具(如Vector、EB),成本较高。


国产MCAL的发展现状

  • 技术突破:经纬恒润、东软睿驰、普华基础软件等企业已推出国产AUTOSAR MCAL解决方案,逐步替代海外产品。

  • 生态建设:国产MCU厂商(如芯驰科技、赛腾微电子)与本土AUTOSAR供应商(三巨头)合作,提供“芯片+MCAL”一体化方案。

拿了这位作者一张国产芯片介绍表给大家看一下。(懒着整理了哈哈,如果侵权的话我后面自己整理一下)

22家国产汽车MCU公司及型号盘点 - 知乎

  • 挑战

    • 工具链成熟度(如调试、测试功能)仍需提升。

    • 高端MCU(如车规级多核芯片)的MCAL支持能力不足。

简单介绍下国产AUTOSAR软件的三巨头:

  1. 东软睿驰

    • 产品优势:东软睿驰的汽车基础软件平台产品NeuSAR具有软硬件协同能力强、软件模块覆盖完整度高等优势。其AUTOSAR产品NeuSAR版本为21-11,是目前国内最先进的,包括支持AUTOSAR Adaptive标准的NeuSAR aCore平台和支持AUTOSAR Classic标准的NeuSAR cCore平台。
    • 生态建设:东软睿驰致力于建立完整的开发生态,包括从整车SOA设计到域控制器的应用架构设计,同时配置相应的平台管理产品和中间件。此外,东软睿驰还牵头推进了中间件ASF、车云一体等技术规范、行业标准的建设,在汽车基础软件的应用与传播、技术交流学习的促进、行业共识的形成、行业标准的建设等方面起到了重要作用。
    • 会员等级:东软睿驰在2017年加入AUTOSAR时即为2级会员,后于2022年升级为1级会员。
  2. 经纬恒润

    • 公司背景:经纬恒润成立之初靠代理销售国外汽车电子研发工具起家,2005年进入汽车电子领域,通过承接项目迎来汽车电子业务发展转折点。
    • 合作情况:经纬恒润与英飞凌等硬件芯片厂商有长期合作关系,其自主开发的AUTOSAR中间件也更贴近中国国情。
    • 会员等级:经纬恒润在2007年就已加入AUTOSAR,是最早加入的中国企业之一,后于2022年升级为1级会员。
  3. 普华基础软件

    • 公司背景:普华基础软件由中央直属中国电子科技集团公司(CETC)控股,是纯软件企业,基本不涉及硬件生产制造。其汽车电子事业部专注于AUTOSAR基础软件的技术开发和产品推广应用。
    • 产品与服务:普华基础软件与意法半导体合作密切,并提供ST系列芯片的MCAL Demo工程和培训服务、集成服务等。此外,普华还自主研发了ORIENTAIS AUTOSAR汽车电子基础软件平台,该平台提供了操作系统、底层驱动等基础软件模块及集成开发环境。其操作系统严格遵循ISO 26262开发流程,满足行业最高的功能安全要求。
    • 合作与认证:普华基础软件在2017年加大与英飞凌的合作,并推出了基于AUTOSAR 4.2.2的英飞凌AURIX平台。同时,普华基础软件也通过了ASPICE 3级认证。

        不过我觉得这里面恒润是实力是稍强于另外两家的,我指的是技术实力哈,这个可以去整车厂采访一下,而且培养体系比较完善,就是工资一般,所以有汽车电子界的黄埔军校的称号。

http://www.lryc.cn/news/545483.html

相关文章:

  • 爬虫:PhantomJS的详细使用和实战案例
  • 目标检测——数据处理
  • 深度学习工程师的技术图谱和学习路径
  • Qt 文件操作+多线程+网络
  • 如何使用ArcGIS Pro制作横向图例:详细步骤与实践指南
  • Kotlin 嵌套类和内部类
  • 蓝蝶(BlueStacks)模拟器Root、Magisk、LSPosed及Shamiko框架安装与过应用检测指南
  • OpenCV计算摄影学(6)高动态范围成像(HDR imaging)
  • [ComfyUI][AI生图]如何在Comfyui中安装插件管理器
  • 初探Ollama与deepseek
  • Linux top 常用参数记录
  • CCF-CSP认证 202104-1灰度直方图
  • 怎么下载安装yarn
  • Vulhub靶机 AppWeb认证绕过漏洞(CVE-2018-8715)(渗透测试详解)
  • CSS 系列之:grid 布局
  • DeepSeek MLA(Multi-Head Latent Attention)算法浅析
  • 【计算机网络入门】初学计算机网络(七)
  • Conda 环境搭建实战:从基础到进阶
  • 大数据-236 离线数仓 - 会员活跃度 WDS 与 ADS 导出到 MySQL 与 广告业务 需求分析
  • fps项目总结:关于攻击与受击
  • coze生成的工作流,发布后,利用cmd命令行执行。可以定时发日报,周报等。让他总结你飞书里面的表格。都可以
  • Windows 10 远程桌面连接使用指南
  • Difyにboto3を変更したカスタムDockerイメージの構築手順
  • C++性能优化常用技巧
  • IntelliJ IDEA集成MarsCode AI
  • 数据挖掘工程师的技术图谱和学习路径
  • Excel基础(详细篇):总结易忽视的知识点,有用的细节操作
  • 基因枷锁下的太空梦 —— 千钧一发电影观后感
  • leetcode第40题组合总和Ⅱ
  • 迷你世界脚本状态接口:Buff