目录
1. 微控制器驱动(Microcontroller Drivers)
3. 通信驱动(Communication Drivers)
MCAL的核心作用
-
硬件抽象
将MCU的硬件特性(如寄存器配置、外设操作)封装成标准化的API,使上层软件无需关心具体硬件型号。 -
统一接口
提供跨平台的驱动程序接口(如GPIO控制、CAN通信),确保应用代码可移植到不同MCU。 -
降低开发成本
避免针对不同芯片重复开发驱动代码,加速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的开发与配置流程
-
硬件需求分析
根据ECU需求选择MCU型号(如英飞凌TC3xx、NXP S32K),明确外设资源(CAN通道数、ADC精度等)。 -
工具链配置
使用AUTOSAR工具(如Vector DaVinci Configurator、EB Tresos)生成MCAL配置代码:-
定义引脚映射(如Port模块配置)。
-
设置通信参数(如CAN波特率、报文ID过滤)。
-
配置中断优先级、DMA通道等。
-
-
代码生成与集成
工具自动生成C代码(如Mcu_Cfg.c
,Can_Cfg.c
),与手动编写的复杂驱动代码集成。 -
测试验证
-
静态测试:检查配置是否符合MCU硬件限制。
-
动态测试:通过HIL(硬件在环)验证外设功能(如ADC采样精度、CAN通信稳定性)。
-
功能安全测试:验证内存保护、错误注入处理机制(如ASIL D要求)。
-
工具链里面用的最多的就是EB其次是Vector的达芬奇。感觉EB更好用点,不知道是不是用的多的原因。但是瑞萨只支持达芬奇,用瑞萨的时候就得用达芬奇了。
MCAL的典型应用场景
-
车身控制模块(BCM)
-
DIO控制车灯、车门锁。
-
LIN驱动车窗升降电机。
-
PWM调节车内氛围灯亮度。
-
-
发动机控制单元(ECU)
-
ADC采集进气压力、氧传感器信号。
-
PWM控制燃油喷射脉宽。
-
定时器驱动火花塞点火时序。
-
-
电池管理系统(BMS)
-
ADC监测电池单体电压、温度。
-
CAN通信上报电池状态。
-
Flash存储电池健康数据。
-
-
智能驾驶域控制器
-
Ethernet驱动高速数据传输(如摄像头、雷达数据)。
-
复杂驱动处理多传感器同步采样。
-
除了这些还有VCU、数字钥匙、智能流媒体后视镜、各种车身域控单元等等。后续给大家讲下车里的架构以及架构的发展。
MCAL的优势与挑战
优势:
-
硬件无关性:上层软件无需修改即可适配不同MCU。
-
标准化开发:减少底层驱动开发时间,提升代码复用率。
-
安全合规:内置内存保护、错误检测机制,支持ISO 26262 ASIL等级认证。
挑战:
-
硬件适配复杂性:不同MCU的寄存器差异需精细处理。
-
性能优化:高实时性场景(如电机控制)需优化驱动代码效率。
-
工具链依赖:MCAL配置高度依赖商业工具(如Vector、EB),成本较高。
国产MCAL的发展现状
-
技术突破:经纬恒润、东软睿驰、普华基础软件等企业已推出国产AUTOSAR MCAL解决方案,逐步替代海外产品。
-
生态建设:国产MCU厂商(如芯驰科技、赛腾微电子)与本土AUTOSAR供应商(三巨头)合作,提供“芯片+MCAL”一体化方案。
拿了这位作者一张国产芯片介绍表给大家看一下。(懒着整理了哈哈,如果侵权的话我后面自己整理一下)
-
-
挑战:
-
工具链成熟度(如调试、测试功能)仍需提升。
-
高端MCU(如车规级多核芯片)的MCAL支持能力不足。
-
简单介绍下国产AUTOSAR软件的三巨头:
-
东软睿驰
- 产品优势:东软睿驰的汽车基础软件平台产品NeuSAR具有软硬件协同能力强、软件模块覆盖完整度高等优势。其AUTOSAR产品NeuSAR版本为21-11,是目前国内最先进的,包括支持AUTOSAR Adaptive标准的NeuSAR aCore平台和支持AUTOSAR Classic标准的NeuSAR cCore平台。
- 生态建设:东软睿驰致力于建立完整的开发生态,包括从整车SOA设计到域控制器的应用架构设计,同时配置相应的平台管理产品和中间件。此外,东软睿驰还牵头推进了中间件ASF、车云一体等技术规范、行业标准的建设,在汽车基础软件的应用与传播、技术交流学习的促进、行业共识的形成、行业标准的建设等方面起到了重要作用。
- 会员等级:东软睿驰在2017年加入AUTOSAR时即为2级会员,后于2022年升级为1级会员。
-
经纬恒润
- 公司背景:经纬恒润成立之初靠代理销售国外汽车电子研发工具起家,2005年进入汽车电子领域,通过承接项目迎来汽车电子业务发展转折点。
- 合作情况:经纬恒润与英飞凌等硬件芯片厂商有长期合作关系,其自主开发的AUTOSAR中间件也更贴近中国国情。
- 会员等级:经纬恒润在2007年就已加入AUTOSAR,是最早加入的中国企业之一,后于2022年升级为1级会员。
-
普华基础软件
- 公司背景:普华基础软件由中央直属中国电子科技集团公司(CETC)控股,是纯软件企业,基本不涉及硬件生产制造。其汽车电子事业部专注于AUTOSAR基础软件的技术开发和产品推广应用。
- 产品与服务:普华基础软件与意法半导体合作密切,并提供ST系列芯片的MCAL Demo工程和培训服务、集成服务等。此外,普华还自主研发了ORIENTAIS AUTOSAR汽车电子基础软件平台,该平台提供了操作系统、底层驱动等基础软件模块及集成开发环境。其操作系统严格遵循ISO 26262开发流程,满足行业最高的功能安全要求。
- 合作与认证:普华基础软件在2017年加大与英飞凌的合作,并推出了基于AUTOSAR 4.2.2的英飞凌AURIX平台。同时,普华基础软件也通过了ASPICE 3级认证。
不过我觉得这里面恒润是实力是稍强于另外两家的,我指的是技术实力哈,这个可以去整车厂采访一下,而且培养体系比较完善,就是工资一般,所以有汽车电子界的黄埔军校的称号。