Как стать автором
Обновить

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

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 3.5K

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

Немного Теории про интерфейс 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 пакета с расширенным идентификатором
https://docs.google.com/spreadsheets/d/1-Lat8LepEZsLL8gNMegPnwGosyWMC_SJLOWZmXdxzMY/edit#gid=1011799821
структура CAN пакета с расширенным идентификатором

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

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

Я лично видел как интерфейс 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

Драйвер

3

Tera Term

Для подключение к UART-CLI на MCU


Если прямо из коробки его воткнуть в 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 шине. Показывает, как принятые c улицы CAN пакеты так и отправленные самим собой CAN пакеты. Можно анализировать сеанс связи. CAN пакеты сыплются сверху вниз. Этот вид можно назвать водопадом.

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

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

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

Скорее всего Вы разрабатываете прошивку для электронной платы PCB с 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 network

USB

Universal Serial Bus

PC

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

https://teratermproject.github.io/index-en.html

https://microtechnics.ru/protokol-can/

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы работали с переходниками USB-CAN?
70% да 28
30% нет 12
Проголосовали 40 пользователей. Воздержались 2 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы работали с переходником USB-CAN:SYS TEC USB-CANmodul1?
9.3% да 4
90.7% нет 39
Проголосовали 43 пользователя. Воздержался 1 пользователь.
Теги:
Хабы:
0
Комментарии 15
Комментарии Комментарии 15

Публикации

Истории

Ближайшие события

Moscow QA #3 — митап по тестированию ПО
Дата 14 марта
Время 18:30 – 21:30
Место
Москва Онлайн
Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн