Comparação de firmwares de código aberto USB-CAN / CAN-FD para adaptadores CAN DIY
Este guia compara os principais firmwares de código aberto USB‑CAN / CAN‑FD para adaptadores CAN DIY. Eles se dividem em três grandes famílias: gs_u…
Produtos mencionados USBCAN-I-BC | USB-CAN Converter Module
Este guia compara os principais firmwares de código aberto USB‑CAN / CAN‑FD para adaptadores CAN DIY. Eles se dividem em três grandes famílias: gs_usb, um protocolo binário de alto desempenho; Lawicel SLCAN (ASCII), que roda sobre CDC‑VCP; e protocolos proprietários ou de emulação.
| Projeto | Protocolo | CAN‑FD | Timestamps | Sistema / Notas | Melhor para |
|---|---|---|---|---|---|
| CANnectivity | gs_usb | Sim (FDCAN por hardware) | Hardware | Zephyr RTOS, driver gs_usb padrão do Linux, multicanal, DFU | Adaptadores industriais, produção em série, manutenção de longo prazo |
| candleLight_fw | gs_usb | Sim | Hardware | Bare-Metal STM32, licença MIT, referência clássica de gs_usb | Adaptadores de canal único de baixo custo, desenvolvimento rápido |
| Kosmonova usb‑can‑firmware‑stm32 | gs_usb | Parcial | Hardware | Bare-Metal STM32, leve, baixa atividade de desenvolvimento | Aprendizado, personalizações simples de gs_usb |
| LekElectronics slcan | Lawicel SLCAN (CDC‑VCP) | Não (SLCAN padrão) | Host / software | STM32 HAL, requer slcand, boa compatibilidade com ferramentas antigas | Software legado, depuração com carga baixa |
| CANable original slcan fw | Lawicel SLCAN | Não | Software | Bare-Metal, firmware oficial do CANable | Referência SLCAN padrão para o CANable |
| FYSETC UCAN | Derivado SLCAN | Não | Software | Otimizado para Klipper / impressoras 3D | Exclusivo para impressoras Klipper com barramento CAN |
| xjtuecho USBCAN | Protocolo proprietário | Não | Software | Compatibilidade ruim com ferramentas de terceiros | Uso educacional e laboratório; não recomendado para desenvolvimento comercial |
| pcan_cantact | Emulação PEAK PCAN | Parcial | Hardware | Roda no CANable, compatível com PCAN‑View | Substituto direto do hardware PEAK PCAN |
| USBtin | Lawicel SLCAN | Não | Software | Hardware e firmware abertos maduros | Referência SLCAN aberta e simples |
| umi‑eng adapter | USB CAN‑FD proprietário | Sim | Hardware | Firmware em Rust, arquitetura moderna | Adaptador CAN‑FD experimental em Rust |
| SuperCAN | SuperCAN proprietário | Sim | Hardware | Novo protocolo CAN‑FD dedicado | Pesquisa, desenvolvimento de stack host próprio |
Visão geral dos protocolos
gs_usb — um protocolo binário compacto com timestamps por hardware e driver padrão no kernel Linux. Bem adequado ao uso industrial, CAN‑FD e barramentos muito carregados, embora o suporte em ferramentas gráficas antigas seja limitado.
Lawicel SLCAN — um protocolo ASCII sobre CDC‑VCP com excelente compatibilidade legada. O overhead do protocolo é maior e os timestamps são gerados no host; para conectar ao SocketCAN no Linux é necessário o slcand.
Emulação / proprietário — a emulação PCAN e protocolos dedicados visam softwares host específicos, mas criam ecossistemas fechados e não servem bem para adaptadores de uso geral.
Guia rápido de seleção
- • Adaptador USB‑CAN‑FD comercial de uso geral: CANnectivity
- • gs_usb simples de canal único: candleLight_fw
- • Compatibilidade com ferramentas seriais CAN antigas: LekElectronics slcan
- • Substituto direto do PEAK PCAN: pcan_cantact
- • Barramento CAN para impressoras Klipper: FYSETC UCAN
Limitações conhecidas
A especificação padrão Lawicel SLCAN não possui definição oficial de CAN‑FD; todo SLCAN com suporte a CAN‑FD depende de extensões não padrão. Os timestamps por hardware dependem não só do protocolo, mas também dos periféricos FDCAN / bxCAN do MCU e da implementação do firmware.
Links dos projetos
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
Mais notícias
Quer os detalhes por trás de um anúncio?
Diga qual linha ou projeto você está avaliando e responderemos com especificações, amostras e prazos.