1. AURIX™ TC3xx MCMCAN模块概述
英飞凌AURIX™ TC3xx系列微控制器是面向汽车电子和工业控制领域的高性能多核处理器,其内置的MCMCAN(Multi-CAN Module)模块支持最新的CAN FD(Flexible Data-rate)协议标准。我在汽车ECU开发中多次使用该模块,发现其相比传统CAN控制器有三个显著优势:首先,支持最高8MBps的通信速率;其次,每个模块可配置多达32个消息对象;最重要的是硬件实现了完整的ISO 11898-1:2015协议栈,减轻了CPU负载。
MCMCAN模块的典型应用场景包括:
- 电动汽车的电池管理系统(BMS)数据采集
- 高级驾驶辅助系统(ADAS)的传感器网络
- 车载诊断系统(OBD)的故障信息传输
- 工业现场的总线控制网络
注意:TC3xx系列不同型号的CAN通道数不同,例如TC397有6个MCMCAN实例,而TC375只有3个,选型时需根据实际需求确定。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件设计与接口配置
2.1 引脚分配与电气特性
MCMCAN模块使用以下关键引脚:
- CAN_TD:发送数据线(需接120Ω终端电阻)
- CAN_RD:接收数据线
- CAN_STB:待机控制(可选)
在TC397芯片上实测发现,当通信速率超过2Mbps时,建议采用以下PCB设计规范:
- 差分线对长度差控制在10mm以内
- 使用阻抗匹配的微带线设计(推荐90Ω差分阻抗)
- 在距离连接器3cm处放置共模扼流圈
2.2 时钟与电源配置
MCMCAN模块需要两个时钟源:
- fSPB:系统外设总线时钟(通常100MHz)
- fCAN:CAN模块专用时钟(由PLL生成)
配置示例代码:
c复制#define CAN_CLK_SRC IfxCan_ClockSelect_noClock
#define CAN_BIT_TIMING IfxCan_BitTimingConfig_Default
IfxCan_Can_initModuleConfig(&g_canConfig, &MODULE_CAN0);
g_canConfig.clockSelect = CAN_CLK_SRC;
g_canConfig.bitTiming = &CAN_BIT_TIMIN
