Пролог

Как известно, не существует LapTop компьютеров с интерфейсом CAN. Зато во всех настольных компьютерах и LapTop(ах) есть USB. В связи с этим для отладки оборудования с CAN нужны всяческие переходники USB-CAN.

В этом тексте я написал про достаточно хороший переходник с USB на CAN, который не раз выручал меня при отладке прошивок с CAN-трансивером. Называется изделие USBCAN-II C. Вот он перед вами.

Немного Теории про интерфейс CAN

CAN -это двух проводной дифференциальный последовательный полудуплексный интерфейс для передачи бинарных данных между электронными платами PCB. В качестве кабеля чаще всего применяют одну витую пару проводов: CAN_L, CAN_H.

Шина CAN на минимальной битовой скорости 10 кбит/с может достигать аж 5ти км. На максимальной битовой скорости 1 Мбит/с - 40 метров. На одну шину можно пристегнуть максимум 127 абонентов.

Главное преимущество интерфейса CAN - это разрешение коллизий без потери битовой скорости. Если два узла начнут передавать пакеты, то продолжит передачу то устройство у которого меньше ID.

CAN определяет аж два уровня модели OSI-7 (стек сетевых протоколов): физический и канальный. То есть CAN определяет также и бинарную структуру пакета в кабеле. В пакете CAN фигурируют такие переменные как ID пакета, 8байт данных, длина пакета, 15 битная контрольная сумма, биты подтверждения ACK, начало и конец пакета.

https://docs.google.com/spreadsheets/d/1-Lat8LepEZsLL8gNMegPnwGosyWMC_SJLOWZmXdxzMY/edit#gid=0бинарная структура CAN Classic пакета

А это структура CAN пакета с расширенным идентификатором (29 bit)

https://docs.google.com/spreadsheets/d/1-Lat8LepEZsLL8gNMegPnwGosyWMC_SJLOWZmXdxzMY/edit#gid=1011799821структура CAN пакета с расширенным идентификатором

На уровне приложения обычно делают такие протоколы как J1939, CanOpen, UDS и прочие.

CAN интерфейс реализован аппаратно во многих микроконтроллерах как цифровая электрическая цепь внутри SoC. Это микроконтроллеры от STm, YunTu, FlagChip, NXP, Artery и проч. Однако есть и отдельные ASIC переходники с SPI на CAN.

Что надо из документации?

Без документации любое электронное устройство - это просто утяжелитель для чашечных весов. Поэтому в архиве от вендора надо первым делом обратить внимание вот на эти инструкции.

Название документа

Количество страниц

Версия

USBCAN-II C USB-CAN Converter user's manual

26

V4.1

User Guide for Drivers Setup

6

--

ECANTools CAN debugging software User Manual

33

V5.67

Что надо из оборудования?

Перед подключением переходника надо подготовить следующий инвентарь.

Название

Количество

1

USBCAN-II C

1

2

Кабель USB-A на USB-B (кабель от принтера)

1

3

Перемычки вилка-гнездо

5+

4

перемычки вилка гнездо

4+

5

отвертка с плоским шлицем шириной 3мм

1

Что надо из ПО?

Как и с любым высокотехнологичным продуктом, помимо железа нужен еще и софт.

Название утилиты

Версия

1

ECAN Tools

5.9.23

2

USB Драйвер

--

3

операционная система Windows 10

--

Аппаратная часть

Внешне изделие выглядит так. С обратной стороны написано USBCAN-II C V502, указан серийный номер и наклейка с QR кодом. Всё сделано очень эргономично. Есть надписи с распиновкой, указано напряжение электропитания.

Можно представить этот переходник вот таким условным обозначением. Устройство получает питание от USB.

Внутри находится электронная плата на основе микроконтроллера LPC1765FBD100(32-bit ARM Cortex-M3; up to 512kB flash and 64kB SRAM with Ethernet, USB 2.0 Host/Device/OTG, CAN). Заметна гальваническая развязка, кварц 12MHz.

Программная часть

Тут надо сразу отметить, что в 2021 софт для переходника и доки лежали на google диске. В 2025 драйвер оттуда исчез.

Однако архив сохранился у меня на LapTop-е и я пришлю если кому-то это понадобится. Тем не менее устройство по прежнему продается на Aliexpress.

Установка USB драйвера

Как только вы соедините CAN трансивер и LapTop PC, Windows увидит неизвестное устройство USB-CANI-V503.

Надо установить драйвер. Запускаем установщик DriverSetup64.exe и следуем инструкциям.

После установки операционная система Windows 10 увидит его как GC-Tech USBCAN Device.

В свойствах драйвера это выглядит так


Клиентское ПО (ECan Tools)

Как водится, у каждого электронного прибора должно быть и ПО. Без программного обеспечения любой элентронный прибор - руда цветмета. В случае переходника USBCAN-II C эта утилита называется Ecantools.

Предварительно надо переключиться на английскую словесность. При пуске открывается меню выбора конкретного изделия из списка.

Надо выбрать USBCAN-V5, нажать open, и OK

Появляется таблица принятых и отправленных пакетов.

Отдельная таблица для второго порта CAN.

Версия программы

Что можно сделать с переходником USB-CAN

1--Можно заниматься реверс инжинирингом трафика CAN шины автомобиля. Пытаться находить в трафике какие-то осмысленные сигналы в ответ на внешние стимулы. Например нажатие педели газа или тормоза, поворот руля и т. п. Потом продавать эти данные в конторы каршерингов и таксопарки.

2--Можно отлаживать бортовое оборудование по CAN. Можно повелевать электронными платами внутри агрегатов: обновлять прошивки, вычитывать диагностику, прописывать конфиги.

3--Можно сделать текстовый мессенджер по CAN.

Итоги

Удалось научиться пользоваться USB-CAN переходником USBCAN-II C. Удалось отправлять и принимать пакеты. Это открывает дорогу для полноценной отладки всяческих CAN совместимых устройств.

Существуют и другие переходники с USB на CAN, однако USBCAN-II C отличается низкой ценой и высочайшим качеством исполнения, индустриальный дизайн, эргономика, удобный софт.

Каким переходником для отладки CAN пользуетесь вы? Напишите в комментариях.

Ссылки

Название

URL

GCAN-PLC programming documenet

http://www1.gcanbox.com/fsd/rjxz/openpcs.html

USBCAN-II C Functions

https://www.ecutool.com/products/usbcan-ii-c-can-bus-analyzer-usb-can-converter

CAN bus

https://en.wikipedia.org/wiki/CAN_bus

Обзор Переходника USB-CAN (SYS TEC USB-CANmodul1)

https://habr.com/ru/articles/794310/

Industrial CAN-bus communication interface card

http://www1.gcanbox.com/fsd/canzxfxy/516.html

Обзор Протокола ISO-TP [ISO 15765-2]

https://habr.com/ru/articles/798489/

LPC1765FBD100K, IC: ARM microcontroller; SRAM: 64kB; LQFP100

https://www.chipdip.ru/product/lpc1765fbd100k-ic-arm-microcontroller-sram-64kb-lqfp100-nxp-8014889985


Комментарии (5)


  1. JunglBell
    23.08.2025 13:18

    " На одну шину можно пристегнуть максимум 127 абонентов. " а как же 240 устройств в пожарной системе ?


    1. aabzel Автор
      23.08.2025 13:18

      Вы проверяли? Работает? 240 CAN устройств на одной шине? Какая там была битовая скорость?


      1. x89377
        23.08.2025 13:18

        10 000 bps


    1. aabzel Автор
      23.08.2025 13:18

      " На одну шину можно пристегнуть максимум 127 абонентов. " а как же 240 устройств в пожарной системе ?

      https://en.wikipedia.org/wiki/CAN_bus

      Пожарники точно CAN применяют?


  1. skleptik
    23.08.2025 13:18

    https://www.rustore.ru/catalog/app/ru.skleptik.canjab