Porównanie otwartych firmware USB-CAN / CAN-FD dla samodzielnie budowanych adapterów CAN
Ten przewodnik porównuje wiodące otwarte firmware USB‑CAN / CAN‑FD dla samodzielnie budowanych adapterów CAN. Można je podzielić na trzy główne rodz…
Wymienione produkty USBCAN-I-BC | USB-CAN Converter Module
Ten przewodnik porównuje wiodące otwarte firmware USB‑CAN / CAN‑FD dla samodzielnie budowanych adapterów CAN. Można je podzielić na trzy główne rodziny: gs_usb — wydajny protokół binarny; Lawicel SLCAN (ASCII) działający na CDC‑VCP; oraz protokoły proprietarne i emulujące.
| Projekt | Protokół | CAN‑FD | Znaczniki czasu | System / Uwagi | Najlepszy do |
|---|---|---|---|---|---|
| CANnectivity | gs_usb | Tak (sprzętowy FDCAN) | Sprzętowe | Zephyr RTOS, standardowy sterownik gs_usb w Linuksie, wielokanałowy, DFU | Adaptery przemysłowe, produkcja seryjna, długoterminowa utrzymanie |
| candleLight_fw | gs_usb | Tak | Sprzętowe | Bare-Metal STM32, licencja MIT, klasyczna referencja gs_usb | Tanie adaptery jednokanałowe, szybki rozwój |
| Kosmonova usb‑can‑firmware‑stm32 | gs_usb | Częściowo | Sprzętowe | Bare-Metal STM32, lekki, mała aktywność rozwojowa | Nauka, proste modyfikacje gs_usb |
| LekElectronics slcan | Lawicel SLCAN (CDC‑VCP) | Nie (standardowy SLCAN) | Host / programowe | STM32 HAL, wymaga slcand, dobra zgodność ze starszymi narzędziami | Starsze oprogramowanie, debugowanie przy małym obciążeniu |
| CANable original slcan fw | Lawicel SLCAN | Nie | Programowe | Bare-Metal, oficjalny firmware CANable | Standardowa referencja SLCAN dla CANable |
| FYSETC UCAN | Pochodna SLCAN | Nie | Programowe | Zoptymalizowany pod Klipper / drukarki 3D | Wyłącznie dla drukarek Klipper z magistralą CAN |
| xjtuecho USBCAN | Protokół własnościowy | Nie | Programowe | Słaba zgodność z narzędziami innych producentów | Edukacja i laboratorium; niezalecany do rozwoju komercyjnego |
| pcan_cantact | Emulacja PEAK PCAN | Częściowo | Sprzętowe | Działa na CANable, zgodny z PCAN‑View | Bezpośredni zamiennik sprzętu PEAK PCAN |
| USBtin | Lawicel SLCAN | Nie | Programowe | Dojrzały otwarty sprzęt i firmware | Prosta otwarta referencja SLCAN |
| umi‑eng adapter | Własnościowy USB CAN‑FD | Tak | Sprzętowe | Firmware w Rust, nowoczesna architektura | Eksperymentalny adapter CAN‑FD w Rust |
| SuperCAN | Własnościowy SuperCAN | Tak | Sprzętowe | Dedykowany nowy protokół CAN‑FD | Badania, rozwój własnego stosu hosta |
Przegląd protokołów
gs_usb — zwarty protokół binarny ze znacznikami czasu w sprzęcie i standardowym sterownikiem w jądrze Linuksa. Sprawdza się w zastosowaniach przemysłowych, CAN‑FD i na mocno obciążonych magistralach, choć wsparcie w starszych narzędziach graficznych jest niewielkie.
Lawicel SLCAN — protokół ASCII na CDC‑VCP o bardzo dobrej zgodności ze starszym rozwiązaniami. Narzut protokołu jest większy, a znaczniki czasu generuje host; połączenie z SocketCAN w Linuksie wymaga slcand.
Emulacja / rozwiązania własne — emulacja PCAN i protokoły dedykowane celują w konkretne oprogramowanie hosta, lecz tworzą zamknięte ekosystemy i słowo nadają się do adapterów uniwersalnych.
Krótka wskazówka wyboru
- • Uniwersalny komercyjny adapter USB‑CAN‑FD: CANnectivity
- • Prosty jednokanałowy gs_usb: candleLight_fw
- • Zgodność ze starszymi narzędziami szeregowymi CAN: LekElectronics slcan
- • Bezpośredni zamiennik PEAK PCAN: pcan_cantact
- • Magistrala CAN dla drukarek Klipper: FYSETC UCAN
Znane ograniczenia
Standard Lawicel SLCAN nie definiuje oficjalnie CAN‑FD; każdy SLCAN ze wsparciem CAN‑FD opiera się na niestandardowych rozszerzeniach. Sprzętowe znaczniki czasu zależą nie tylko od protokołu, ale też od peryferiów FDCAN / bxCAN mikrokontrolera i implementacji firmware.
Linki do projektów
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
Więcej aktualności
Chcesz poznać szczegóły ogłoszenia?
Powiedz nam, jaką linię lub projekt rozważasz, a odpowiemy specyfikacją, próbkami i czasami realizacji.