Разбираюсь с бюджетными преобразователями USB CAN. В качестве параметра для классификации удобно использовать тип применяемого протокола, по которому данные передаются на ПК.
slcan - текстовый протокол который применяется еще и с интерфейсом RS2232, с оборудованием фирм LAWICEL и VScom, переросшим в связку USB-UART-CAN, с виртуальным последовательным портом, а затем - в USB CAN на единственном микроконтроллере, а затем и вообще TCP. C которым можно работать из обычной терминальной программы, без особого софта.
Существует множество реализаций и расширений этого протокола, на разных микроконтроллерах, в том числе STM32, включая поддержку CAN-FD (на STM32G431, STM32G01) в основном в виде проектов на GitHub.
Проект canable (VID:PID AD50:60C4 либо 0x0403:0x6015) (и еще ранний вариант под названием cantact), прошивается в доступные платки на базе контроллеров STM32F042 и STM32F072 (на Ali похоже уже только на F072 продают). Получил развитие в виде canable v2 (STM32G431, 0x16D0:0x117E).
Вариация USB2CANFDV1 от WeAct studio (STM32G01, 0x0483:0x5740) - зашифрованная прошивка без исходников.
Помимо этого: stm32-slcan (STM32L433, 0x0483:0x5740, протокол урезан), UCCBEmbedded (STM32F042, 0x0483:0x5740), CFDC_embedded-slcan (STM32G431, 0x0483:0x5741), CAN2USB (STM32F105, 0x0483:0x5740), CANsniffer (STM32F042, 0x0483:0x5740).
Проект USBtin (PIC18, 0x04D8:0x000A) представляет собой скорее исторический интерес, в его состав входят макросы для поддержки протокола slcan в легендарной HyperTerminal. Не менее историческая разработка - у Michael Wolf, которая как то связана с программой CanHacker.
Проект ESP32RET использует текстовый протокол LAWICEL в качестве подмножества команд для двоичного протокола GVRET как через USB так и WiFi (TCP). Проект WiCAN реализует поддержку протокола slcan через USB, WiFi, BLE, а так же протокола для программы RealDash. Так же эти прошивки знают известный протокол ELM327 для автодиагностики, это тестовый протокол со множеством реализаций, однако при его помощи "сырой" CAN захватить либо трудно либо нельзя.
gs_usb более известный как candleLight (0x1D50:0x606F) по названию платы (разработка Linux Automation GmbH, так же фигурирует наименование USB2CAN by Geschwister Schneider Technologie-, Entwicklungs- und Vertriebs UG). Это уже двоичный протокол. Который рассчитан в первую очередь на контроллеры STM32F042/STM32F072, поддержка контроллера STM32G01 и CAN-FD на текущий момент только создается.
Однако есть проект bugetcan - прошивка для "most STM32 devices", есть готовые пресеты для STM32F042, STM32G01, STM32G431, STM32G473, STM32H743, STM32H745 и тоже работает с этим протоколом
uCAN_FD - упомянутый ранее CFDC_embedded (uCAN CanFD USB Converter(CFUC)) также предлагают свой собственный протокол, но он, похоже, работает только в софте из этого проекта.
pcan и kvaser по названию соответствующих фирм. Реализованы не только для фирменного оборудования, но и для тех же дешевых платок canable/cantact на STM32F042 (0x0bfd:0x0120 и 0x0483:0x000C), что дает возможность использовать софт рассчитанные именно на эти платы.
usb_8dev для 8 devices USB2CAN, реализован в открытом проекте CANalyze (STM32F042, 0x0483:0x1234), который, похоже, больше не развивается
Разные программы для мониторинга CAN обращаются с протоколами по разному. Например мощная программа BUSMASTER умеет работать с оборудованием VScom (в том числе и через TCP) и PEAK, а значит можно попробовать использовать ее с дешевыми платами перепрошитыми на поддержку такого протокола. SavvyCAN и CANgaroo умеют работать с LAWICEL/slcan, протокол candleLight - через драйвер для Windows. RealDash умеет работать с огромным числом протоколов. Ну а в linux (с относительно свежим ядром) некоторые перечисленные протоколы уже встроены в виде драйверов сетевых (устройств) SocketCAN, что тоже поддержано большим количеством софта.