Comparación de firmware de código abierto USB-CAN / CAN-FD para adaptadores CAN hechos a mano
Esta guía compara los principales firmware de código abierto USB‑CAN / CAN‑FD para adaptadores CAN hechos a mano. Se agrupan en tres grandes familia…
Productos mencionados USBCAN-I-BC | USB-CAN Converter Module
Esta guía compara los principales firmware de código abierto USB‑CAN / CAN‑FD para adaptadores CAN hechos a mano. Se agrupan en tres grandes familias: gs_usb, un protocolo binario de alto rendimiento; Lawicel SLCAN (ASCII), que funciona sobre CDC‑VCP; y protocolos propietarios o de emulación.
| Proyecto | Protocolo | CAN‑FD | Marcas de tiempo | Sistema / Notas | Recomendado para |
|---|---|---|---|---|---|
| CANnectivity | gs_usb | Sí (FDCAN por hardware) | Hardware | Zephyr RTOS, controlador gs_usb estándar de Linux, multicanal, DFU | Adaptadores industriales, producción en serie, mantenimiento a largo plazo |
| candleLight_fw | gs_usb | Sí | Hardware | Bare-Metal STM32, licencia MIT, referencia clásica de gs_usb | Adaptadores de un canal de bajo coste, desarrollo rápido |
| Kosmonova usb‑can‑firmware‑stm32 | gs_usb | Parcial | Hardware | Bare-Metal STM32, ligero, poca actividad de desarrollo | Aprendizaje, personalizaciones sencillas de gs_usb |
| LekElectronics slcan | Lawicel SLCAN (CDC‑VCP) | No (SLCAN estándar) | Host / software | STM32 HAL, requiere slcand, buena compatibilidad con herramientas antiguas | Software heredado, depuración con carga baja |
| CANable original slcan fw | Lawicel SLCAN | No | Software | Bare-Metal, firmware oficial de CANable | Referencia SLCAN estándar para CANable |
| FYSETC UCAN | Derivado de SLCAN | No | Software | Optimizado para Klipper / impresoras 3D | Exclusivo para impresoras Klipper con bus CAN |
| xjtuecho USBCAN | Protocolo propietario | No | Software | Compatibilidad limitada con herramientas de terceros | Uso educativo y de laboratorio; no recomendado para desarrollo comercial |
| pcan_cantact | Emulación PEAK PCAN | Parcial | Hardware | Funciona sobre CANable, compatible con PCAN‑View | Sustituto directo del hardware PEAK PCAN |
| USBtin | Lawicel SLCAN | No | Software | Hardware y firmware abiertos maduros | Referencia SLCAN abierta y sencilla |
| umi‑eng adapter | USB CAN‑FD propietario | Sí | Hardware | Firmware en Rust, arquitectura moderna | Adaptador CAN‑FD experimental basado en Rust |
| SuperCAN | SuperCAN propietario | Sí | Hardware | Nuevo protocolo CAN‑FD dedicado | Investigación, desarrollo de stack de host propio |
Resumen de protocolos
gs_usb — un protocolo binario compacto con marcas de tiempo por hardware y controlador estándar en el kernel de Linux. Ideal para uso industrial, CAN‑FD y buses muy cargados, aunque el soporte en herramientas gráficas antiguas es limitado.
Lawicel SLCAN — un protocolo ASCII sobre CDC‑VCP con excelente compatibilidad heredada. El sobrecoste del protocolo es mayor y las marcas de tiempo las genera el host; para conectar a SocketCAN en Linux se necesita slcand.
Emulación / propietario — la emulación PCAN y los protocolos específicos se dirigen a software de host concreto, pero crean ecosistemas cerrados y encajan mal en adaptadores de uso general.
Guía rápida de selección
- • Adaptador USB‑CAN‑FD comercial de uso general: CANnectivity
- • gs_usb sencillo de un canal: candleLight_fw
- • Compatibilidad con herramientas serie CAN clásicas: LekElectronics slcan
- • Sustituto directo de PEAK PCAN: pcan_cantact
- • Bus CAN para impresoras Klipper: FYSETC UCAN
Limitaciones conocidas
La especificación estándar de Lawicel SLCAN no incluye una definición oficial de CAN‑FD; todo SLCAN con soporte CAN‑FD depende de extensiones no estándar. Las marcas de tiempo por hardware dependen no solo del protocolo, sino también de los periféricos FDCAN / bxCAN del MCU y de la implementación del firmware.
Enlaces de los proyectos
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
Más noticias
¿Quiere conocer los detalles de un anuncio?
Indíquenos qué gama o proyecto le interesa y le responderemos con especificaciones, muestras y plazos de entrega.