Обзор переходника USB-CAN (модуль SYS TEC USB-CANmodul1)

Обзор переходника USB-CAN (модуль SYS TEC USB-CANmodul1)

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

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

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

Электролиния CAN на минимальной битовой скорости 10 кбит/с может достигать аж 5ти км. На максимальной битовой скорости 1 Мбит/с — 40 метров.

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

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

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

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

Я лично видел как интерфейс CAN используют в автомобилях, RFID считывателях для шахтёров, грузовозах, автобусах, в нано спутниках CubeSat(ах) и космических зондах.

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

Существует переходник USB-CAN. Называется SYS TEC USB-CANmodul1. Это изделие немецкой компании SYS TEC electronic. Вот так он выглядит в натуре.

SYS TEC USB-CANmodul1 в натуре
SYS TEC USB-CANmodul1 в натуре

Изделие достаточно дорогое около 39597 RUR. Вот распиновка основного CAN разъёма.

Распиновка разъёма DB-9 вилка на фото:.

Если проанализировать спеку, то можно понять, что внутри черного пластмассового саркофага должна быть примерно вот такая электронная начинка.

Когда ничего не передается, то на проводах CAN-L CAN-Н напряжение 2.1….2.24V. В итоге разность напряжений равна нулю.

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

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

Версия

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

1

USB-CANmodul

2.06

147

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

Оборудование

Назначение

1

SYS TEC USB-CANmodul1

Переходник USB-CAN

2

Кабель USB-USB micro

Кабель чтобы соединить PC и переходник USB-CAN

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

Название программы

Назначение

1

CANinterpreter Lite for USB-CANmodul

Обозреватель CAN пакетов

2

SO-387_V6.08r1.exe

Драйвер

Если прямо из коробки его воткнуть в NetTop PC, то операционная система Windows 10 его не признает.

В связи с этим надо добыть права администратора и установить драйвер и утилиту CANinterpreter от вендора. Без этого софтвера переходник SYS TEC USB-CANmodul1 можно разве что сдать на металлолом.

По умолчанию CANinterpreter устанавливается вот сюда
C:\Program Files (x86)\SYSTEC-electronic\CANinterpreter
C:\Program Files (x86)\SYSTEC-electronic\USB-CANmodul Utility Disk

Когда драйвер установится в диспетчере устройств переходник будет отображаться вот так

Перед непосредственной работой с переходником USB-CAN его следует проинициализировать. Инициализация заключается в том, чтобы выбрать экземпляр и назначить ему битовую скорость.

Утилита CANinterpreter сканирует сырой трафик CAN шине. Показывает, как принятые извне CAN пакеты так и отправленные самим собой CAN пакеты. Можно анализировать сеанс связи. Вот этот вид можно назвать водопадом. Пакеты сыплются снизу вверх.

водопад
водопад

Однако, чтобы сэкономить площадь монитора, в программе CANinterpreter можно также просматривать статистику по ID пакетам

счётчик IDшников
счётчик IDшников

Скорее всего вы разрабатываете прошивку для электронной платы CAN и микроконтроллером. Чтобы поймать CAN пакеты на стороне MCU Вам пригодится UART-CLI.

Также в UART-CLI можно прямо руками попросить микроконтроллер испустить какой-то специфический CAN пакет. Вот так.

cs 2 0x55 0x55AA01
cs 2 0x55 0x55AA01

На стороне микроконтроллера в UART-CLI отчётливо видно, как прибывают CAN пакеты от утилиты CANinterpreter.

Также видно как микроконтроллер отправляет пакеты c ID: 0x7FF в CAN шин.

Вот CAN пакеты c ID: 0x7FF принимает утилита CANinterpreter на host PC.

CAN шина работает.

Когда в CAN шине пробегает пакет зелёный LED (traffic) мигает 2 раза. Если отключить от переходника CAN шину, то красный LED (state) будет мигать с частотой 1Hz.

Идеи проектов с переходником USB-CAN

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

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

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

Итоги

Научились пользоваться устройством SYS TEC USB-CANmodul1 и софтом для него.

Словарь

акроним

расшифровка

CAN

controller area networ.

USB

Universal Serial Bus

P.

personal computer

MAC

medium access control .

SoC

System on a chip

URLs

https://www.systec-electronic.com/en/products/interfaces-gateways-amp-controls/sysworxx-usb-can-module1

 

Источник

Читайте также