CAN 与 CAN-FD 差异与 MCU 选型:哪些 GD32 真的内建 CAN-FD(附型号对照)
CAN-FD 把单帧载荷从 8 加大到 64 bytes、数据相位提速,但与传统 CAN 不能透明混网。本文讲清楚差异与兼容性现实,并逐型确认哪些 GD32 真的内建 CAN-FD(GD32G5/H7/F5 有,GD32L235 其实只有传统 CAN),教你按核心与 CAN-FD 路数选对 MCU。
CAN-FD 比传统 CAN 多了什么
CAN-FD(Flexible Data-rate,Bosch 2012、ISO 11898-1:2015)相对传统 CAN 主要多两样:一、单一帧的载荷从 8 bytes 提升到最多 64 bytes;二、双比特率——仲裁相位仍维持传统的 ≤1 Mbit/s(为了总线仲裁兼容),但数据相位可通过 BRS 位元切换到更高速率(实务上常见到约 5 Mbit/s;要到 8 Mbit/s 需搭配 CAN SIC 收发器)。再加上更强的 CRC(17/21-bit)。所以同一个网络,CAN-FD 一次能搬更多数据、又更快,特别适合 UDS 诊断、bootloader/OTA 固件更新与传感器数据聚合。
⚠️ 兼容性现实:传统 CAN 与 CAN-FD 不能透明混网
一个多数文章会漏掉、但很关键的现实:传统 CAN 与 CAN-FD 不能透明混网。当 CAN-FD 帧送出时,只支持传统 CAN 的控制器会在 FDF 位元之后产生 error frame(会干扰整条总线),除非那颗旧控制器是「CAN-FD tolerant」(能辨识并忽略 FD 帧)。所以整条总线要嘛全 CAN-FD、要嘛让 FD 节点降回传统模式,不能在同一网段里混入只懂传统 CAN 的旧节点。要连接旧网段,常用网关(gateway)/桥接来解。
物理层:同一条总线,但收发器要对
好消息:物理层不用大改。CAN-FD 用的还是同一条双线差动总线、同样的 ISO 11898-2、两端一样 120Ω 终端电阻。但要注意:跑数据相位的高速率时,收发器(transceiver/PHY)必须是支持该速率的等级——例如保证到 5 Mbit/s 的 CAN-FD 收发器,要 8 Mbit/s 则需 SIC 收发器;只支持 1 Mbit/s 的旧收发器不足以跑快相位。换句话说,MCU 内建 CAN-FD 控制器只是一半,外部收发器要选对应的数据速率等级。
哪些 GD32 内建 CAN-FD(逐型确认)
重点来了——别只听「GD32 支持 CAN-FD」这种含糊说法,要逐型确认:有 CAN-FD 的是高性能线——GD32G5 系列(如 GD32G553,Cortex-M33 @216MHz)与 GD32H7(Cortex-M7 @600MHz)各 3 路 CAN-FD;GD32F5(M33 @280MHz)与 GD32F503/505 各 2 路 CAN-FD。只有传统 CAN 2.0B(非 CAN-FD)的是:GD32F1 / F3 / F4 系列,以及——特别提醒——GD32L235(Cortex-M23,只有 1 路传统 CAN 2.0B,不是 CAN-FD)。选型时务必逐颗看规格表的 CAN 字段写的是「CAN-FD」还是「CAN 2.0B」,不要凭系列名称猜。
怎么选(payload/带宽 + 核心 + CAN-FD 路数)
何时用 CAN-FD:需要更大单帧载荷(64B,适合 UDS 诊断、bootloader/OTA、传感器聚合)或更高带宽时;汽车 ECU 与工业网关从 CAN 升级优先选 CAN-FD(同物理层、可渐进迁移)。纯低速、8 byte 够用、成本敏感的节点维持传统 CAN 即可。选 GD32 看两个维度——核心等级 + CAN-FD 路数:要 3 路 CAN-FD + 高运算(多网段网关、马达加通讯)→ GD32H7(M7@600MHz)或 GD32G553(M33@216MHz,另含 HRTimer,偏实时控制);要 2 路 → GD32F5 或 GD32F503/505;只需传统 CAN / 低功耗 → GD32L235(M23)或 GD32F4。别忘了外部收发器要选对应数据速率(5 Mbit/s 级,或 SIC 到 8 Mbit/s)并确认 120Ω 终端。傑聯特科技是 GigaDevice 授权代理商,供应 GD32 全系列;欢迎提供你的 CAN-FD 路数、核心与用量,我们协助选型并回复样品、规格书与报价。
文中提及的产品
GD32G553 Cortex-M33 数字电源 MCU
GD32G553 属 GigaDevice GD32G5 系列高效能 Arm Cortex-M33(含 DSP 与单精度 FPU)微控制器,主频 216MHz,256~512KB 双区 Flash、128KB SRAM(含 TCMRAM)。内置 4 组 12-bit ADC(最高 5.3MSPS)、4 组 DAC、8 颗高速比较器、3 组 CAN-FD,以及 16 通道高分辨计时器(145ps)与 TMU/FAC/FFT 数学加速器。支持安全启动/AES、IEC 61508 SIL2,适合数字电源、EV 充电、储能变流与伺服电机控制。
GD32L235 Cortex-M23 超低功耗 MCU
GD32L235 是 GigaDevice 超低功耗 32-bit Arm Cortex-M23 微控制器,主频 64MHz,64~128KB Flash/12~24KB SRAM。功耗极低:运行约 66µA/MHz、深睡 1.8µA(唤醒 <2µs)、待机 0.26µA,并具低功耗 LPUART 与 LPTIMER 支持常开任务。内置 12-bit ADC、DAC 与 2 颗比较器、USB 2.0 FS 与 CAN 2.0,封装含 LQFP/QFN 及 WLCSP25。相较已收录的 GD32L233,L235 增加 CAN 与更丰富的外设,适合智能门锁、计量、穿戴与电池管理。
GD32F407 Arm Cortex-M4 高性能 MCU
GD32F407 是 GigaDevice 高性能 32-bit MCU,采 Arm Cortex-M4 内核(含 FPU/DSP)、主频 168MHz,Flash 最高 1MB、SRAM 达 192KB,整合 USB OTG(FS+HS)、10/100 Ethernet MAC 与 CAN。封装对齐 STM32F407(LQFP100/144),常作为 STM32F407 等级的替代方案。