«Программирование микроконтроллеров — это не только головой, но и руками. Не только руками, но и головой.»

Пролог

Так вышло, что до разработки автомобильной электроники я варил прошивки для infotainment аудиосистем. Писал передачу и прем звука по BLE-Audio. Поэтому, естественным образом, на новые задачи я смотрю через призму прошлого опыта.

Как оказалось при разработке электроники часто приходится работать с CAN шиной. Это не только automotive, но и электронная начинка для лифтов, поездов, кораблей, космических аппаратов (CubSat-ы) и прочего, где тоже используют CAN шину для общения между всяческими агрегатами.

В связи с этим, при прототипировании CAN-совместимых устройств часто надо собирать и разбирать различные конфигурации CAN шин. Два устройства, 4 устройства, 8 устройств, потом снова 3 и прочее. Имитация аварии: обрыв CAN шины, короткое замыкание провода CAN_L на CAN_H, короткое замыкание провода CAN_L на VBAT, короткое замыкание провода CAN_H на GND. Обычно традиционные harness-ы для CAN шины делают как гирлянду из реликтовых разъемов DB-9 прямиком из 195x годов.

это разъём от старинных принтеров
это разъём от старинных принтеров

Вот так это выглядит в составе блока

Однако разъёмы DB-9 содержат 9 пинов, а CAN-у нужно всего 2 пина (максимум три в случае GND). Понимаете? Поэтому можно ошибиться при подключении перемычек на отладочную PCB. Потом, каждый раз развинчивать разъём DB-9 тоже не удобно. Нужна отвертка и гаечный ключ. В конце концов разъёмы DB-9 банально морально устарели. Всё таки как ни крути, a DB-9 - это отжившая свой век технологии 195x годов.

Я же предлагаю собирать отладочные CAN harness-ы на основе всем известных audio jack 3.5mm разъемов. Вот так.

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

Компонент

Назначение

RUR

Audio Jack 3.5mm Connector Mono, Plug to Screw Terminal

Соединение сегментов сети

49

резисторы 120 Om 0.25 W

Терминирующий резистор

?

Mini T Type Wire Connector Electric Quick Splice Terminals Crimp Without Breaking Cable Insulated Line Push-in Terminal Blocks

Для ответвление от шины

49

пластиковые Хомуты

для скрепления двух жил кабеля

?

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

для закрепления проводов в винтовых клеммниках

?

Провод диаметром 0,5-1,5 мм

для передачи CAN пакетов

?

DMM

для прозвонки соединений и определения сопротивления

100-10k

В самой простой компоновке берём audio jack mono разъём. В клемму + завинчивать CAN_H, в клемму - завинчивать CAN_L.

Так как CAN интерфейс это топология общая шина, то надо как-то делать ответвления от витой пары. Для ответвлений можно задействовать специальные электротехнические присоединители. Для надежности можно даже слегка пропаять врезку в кабель.

По сути задача организации гибкой CAN шины для прототипирования и отладки сводится к изготовлению двух типов CAN секций: FNN и NNF. Лучше даже использовать stereo audio jack и сделать третий провод для GND.

Можно также пристегнуть терминирующий резистор 120 Om практически в любое место.

Вы узнаете выводной терминирующий резистор номинала 120 Om по коду маркировки: коричневый, красный, черный, черный и коричневый.

Вот так резистор 120 Ом 0,25 Ватт выглядит в натуре.

В составе сборки на harness получается так.

Терминирующий резистор 120 Ом для CAN шины.
Терминирующий резистор 120 Ом для CAN шины.

Рано или поздно Вам потребуются переходники типа гнездо-гнездо. Вот такие

Переходник Audio-jack гнездо-гнездо
Переходник Audio-jack гнездо-гнездо

CAN-шина собранная на основе Audio-Jack обладает следующими достоинствами:

Достоинства

1++ Главное достоинство Audio-Jack - моментальное соединение вслепую. Их не нужно переворачивать, как пресловутые DB-9. Это существенно ускоряет процесс разработки электроники.

2++ Дешевизна. Себестоимость одной секции такого жгута составляет порядка 200 RUR. Обычно достаточно 3 или 4 секции.

3++ Можно удлинять CAN шину за счет переходников вилка-вилка, вилка-гнездо, который можно купить в любом магазине, где торгуют мобильными телефонами или вовсе в киосках метро.

или такой

4++ Не нужна отвертка для скрепления гнезда и вилки, как в случае с DB-9.

5++ Эстетический вид. Audio jack 3.5 mm - это видовая деталь. Поэтому выглядит такой жгут прилично и стильно.

6++ Миниатюрность. Такая CAN шина легко разбирается и пере собирается. Удобна при транспортировке. Занимает мало места на рабочем столе.

7++ Можно отдельным Audio-Jack-ом подключиться к шине осциллографом или переходником с USB-CAN. Буквально в любом месте.

8++ Безопасность. Если кто-то ногой заденет такую CAN шину, лежащую на полу, то шина легко разомкнется и человек не споткнется и не упадет.

9++ Позволяет экспериментировать с топологией. Можно собирать массив, дерево, хоть в кольцо CAN шину замкнуть.

10++ Этот жгут можно использовать не только для CAN, но и для LIN, 1-Wire, RS-485, A2B и прочих проводных интерфейсов. Хоть питание для новогодних гирлянд собирай для елочки.

11++Легко приложить электроды осциллографа или DMM-а буквально к винтам клеммника. Простота отладки и диагностики всей шины.

Недостатки

1-- В случае использования разъёмов на кабель нужна сноровка, чтобы припаивать кабели к внутренностям audio-jack. Потребуется термо-усадка, паяльный фен и прямые руки.

2--В случае mono разъёма нет заземления. Надо использовать stereo разъём и протягивать еще провод для заземления GND. Большинство CAN трансиверов не имеют гальванической изоляции и их пробивает при смещении на -+ 50V. Однако можно просто сделать отельный провод для заземления и соединить все приборы: LapTop, блок питания, программатор, переходник с USB на CAN и target PCB.

Итог

Удалось смастерить простую конфигурируемую и масштабируемую CAN шину буквально из подручных материалов.

Надеюсь, что этот текст поможет и другим программистам микроконтроллеров собирать удобные CAN harness-ы для отладки своих устройств.

Словарь

Сокращение

Расшифровка

CAN

Controller Area Network

DMM

Digital MultiMeter

PCB

printed circuit board

FNN

Nest Nest Fork

NFF

Fork Fork Nest

Ссылки

Ссылки

URL

CAN-шина (Теория)

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

Утилита CANcat (или CAN-Мессенджер)

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

Обзор USB-CAN переходника USB2CANFD_V1

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

ЛикБез по CAN-FD

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

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

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

Сканирование шины RS485

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

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

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

Обзор USB-CAN переходника USBCAN-II C

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

Earphone Audio Jack 3.5mm Connector Stereo Adapter 3.5mm RCA Audio Mono Channel Plug to Screw Terminal Audio Mono Channel Plug

https://aliexpress.ru/item/1005007991098865.html?spm=a2g2w.orderdetail.0.0.2a114aa6knhFi6&sku\_id=12000043183252198&\_ga=2.163899903.1346812183.1760021878-124282755.1747301931

Вопросы

--Существуют ли микросхемы физики CAN с гальванической изоляцией? Да. Вот примеры CA-IS3050G, CA-IS3052G, CA-IS3050W, CA-IS3052W, CA-IS3050U, CA-IS3050WG от http://e.chipanalog.com/

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вы делали кабели на основе audio jack?
44.44%да16
55.56%нет20
Проголосовали 36 пользователей. Воздержались 3 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Вам пригодился бы CAN жгут собранный на audio jack?
23.68%да9
76.32%нет29
Проголосовали 38 пользователей. Воздержались 4 пользователя.