自作 CAN アダプター向けオープンソース USB‑CAN / CAN‑FD ファームウェア比較
本ガイドでは、自作 CAN アダプター向けの代表的なオープンソース USB‑CAN / CAN‑FD ファームウェアを比較します。大きく 3 種類に分類できます:高性能バイナリプロトコルの gs_usb、CDC‑VCP 上で動作する Lawicel SLCAN(ASCII)、独自仕様・エミュレー…
関連製品 USBCAN-I-BC | USB-CAN 変換モジュール
本ガイドでは、自作 CAN アダプター向けの代表的なオープンソース USB‑CAN / CAN‑FD ファームウェアを比較します。大きく 3 種類に分類できます:高性能バイナリプロトコルの gs_usb、CDC‑VCP 上で動作する Lawicel SLCAN(ASCII)、独自仕様・エミュレーション系プロトコルです。
| プロジェクト | プロトコル | CAN‑FD | タイムスタンプ | システム / 備考 | 推奨用途 |
|---|---|---|---|---|---|
| CANnectivity | gs_usb | 対応(ハードウェア FDCAN) | ハードウェア | Zephyr RTOS、Linux 標準 gs_usb、多チャンネル、DFU | 産業用アダプタ、量産、長期保守 |
| candleLight_fw | gs_usb | 対応 | ハードウェア | Bare-Metal STM32、MIT ライセンス、gs_usb 古典的リファレンス | 低コスト単チャンネルアダプタ、迅速開発 |
| Kosmonova usb‑can‑firmware‑stm32 | gs_usb | 限定対応 | ハードウェア | Bare-Metal STM32、軽量、開発活度低め | 学習、gs_usb 簡易カスタマイズ |
| LekElectronics slcan | Lawicel SLCAN (CDC‑VCP) | 非対応(標準 SLCAN) | ホスト / ソフトウェア | STM32 HAL、slcand 必須、旧来ツールと互換性良好 | レガシーソフト、低負荷時デバッグ |
| CANable original slcan fw | Lawicel SLCAN | 非対応 | ソフトウェア | Bare-Metal、CANable 純正ファームウェア | CANable 向け標準 SLCAN リファレンス |
| FYSETC UCAN | SLCAN 派生 | 非対応 | ソフトウェア | Klipper / 3D プリンタ向け最適化 | Klipper CAN バス搭載プリンタ専用 |
| xjtuecho USBCAN | 独自プロトコル | 非対応 | ソフトウェア | サードパーティツールとの互換性低い | 教育・ラボ用途、商用開発に非推奨 |
| pcan_cantact | PEAK PCAN エミュレーション | 限定対応 | ハードウェア | CANable 上で動作、PCAN‑View 互換 | PEAK PCAN ハードウェアの直接代替 |
| USBtin | Lawicel 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
その他のニュース
発表の詳細をご希望ですか?
ご検討中の製品群やプロジェクトをお知らせいただければ、仕様、サンプル、納期をご返信いたします。