自制 CAN 适配器的开源 USB-CAN / CAN-FD 固件对比

本指南对比了适用于自制 CAN 适配器的主流开源 USB‑CAN / CAN‑FD 固件,大致可分为三类:高性能二进制协议 gs_usb、运行在 CDC‑VCP 之上的 Lawicel SLCAN(ASCII),以及私有/模拟类协议。

相关产品 USBCAN-I-BC | USB-CAN Converter Module

本指南对比了适用于自制 CAN 适配器的主流开源 USB‑CAN / CAN‑FD 固件,大致可分为三类:高性能二进制协议 gs_usb、运行在 CDC‑VCP 之上的 Lawicel SLCAN(ASCII),以及私有/模拟类协议。

USB-CAN 固件对比
项目协议CAN‑FD时间戳系统 / 备注推荐用途
CANnectivitygs_usb支持(硬件 FDCAN)硬件Zephyr RTOS、Linux 标准 gs_usb 驱动、多通道、DFU工业适配器、量产、长期维护
candleLight_fwgs_usb支持硬件裸机 STM32、MIT 许可、经典 gs_usb 参考实现低成本单通道适配器、快速开发
Kosmonova usb‑can‑firmware‑stm32gs_usb部分支持硬件裸机 STM32、轻量、开发活跃度低学习、gs_usb 简单定制
LekElectronics slcanLawicel SLCAN (CDC‑VCP)不支持(标准 SLCAN)主机 / 软件STM32 HAL、需 slcand、与旧工具兼容性好传统软件、低负载调试
CANable original slcan fwLawicel SLCAN不支持软件裸机、CANable 官方固件CANable 标准 SLCAN 参考实现
FYSETC UCANSLCAN 衍生不支持软件针对 Klipper / 3D 打印机优化专用于 Klipper CAN 总线打印机
xjtuecho USBCAN私有协议不支持软件与第三方工具兼容性差教学/实验室用途,不建议商用开发
pcan_cantactPEAK PCAN 模拟部分支持硬件运行于 CANable、兼容 PCAN‑ViewPEAK PCAN 硬件的直接替代
USBtinLawicel SLCAN不支持软件成熟的开源硬件与固件简洁的开源 SLCAN 参考
umi‑eng adapter私有 USB CAN‑FD支持硬件Rust 固件、新式架构基于 Rust 的实验性 CAN‑FD 适配器
SuperCAN私有 SuperCAN支持硬件专用新型 CAN‑FD 协议科研用途、私有主机栈开发

协议概要

gs_usb — 开销很小的二进制协议,具备硬件时间戳和 Linux 内核标准驱动,适合工业应用、CAN‑FD 和高负载总线;但较老图形工具的支持较少。

Lawicel SLCAN — 运行在 CDC‑VCP 上的 ASCII 协议,对旧系统兼容性好;但协议开销较大、时间戳由主机生成,在 Linux 上接入 SocketCAN 需要 slcand。

模拟 / 私有协议 — PCAN 模拟和专用协议面向特定主机软件,生态封闭,不适合通用适配器。

快速选型指南

  • • 通用商用 USB‑CAN‑FD 适配器:CANnectivity
  • • 简单单通道 gs_usb:candleLight_fw
  • • 兼容传统串口 CAN 工具:LekElectronics slcan
  • • 直接替代 PEAK PCAN:pcan_cantact
  • • Klipper 打印机 CAN 总线:FYSETC UCAN

已知限制

标准 Lawicel SLCAN 并没有 CAN‑FD 的正式定义,所有支持 CAN‑FD 的 SLCAN 都依赖非标准扩展。硬件时间戳不仅取决于协议本身,也取决于 MCU 的 FDCAN / bxCAN 外设与固件实现。

项目链接

CANnectivity: https://github.com/CANnectivity/cannectivity
candleLight_fw: https://github.com/candle-usb/candleLight_fw
LekElectronics slcan: https://github.com/LekElectronics/slcan
FYSETC UCAN: https://github.com/FYSETC/UCAN
xjtuecho USBCAN: https://github.com/xjtuecho/USBCAN
Kosmonova usb-can-firmware-stm32: https://github.com/Kosmonova/usb-can-firmware-stm32
USBtin: https://github.com/fischl/USBtin
pcan_cantact: https://github.com/moonglow/pcan_cantact
umi-eng adapter: https://github.com/umi-eng/adapter
SuperCAN: https://github.com/jgressmann/supercan

查看产品页

想了解某条公告的细节?

Tell us which range or project you are looking at and we will reply with specifications, samples and lead times.

索取报价