«Программирование микроконтроллеров — это не только головой, но и руками. Не только руками, но и головой.»
Пролог
Так вышло, что до разработки автомобильной электроники я варил прошивки для infotainment аудиосистем. Поэтому на новые задачи я смотрю через призму прошлого опыта.
Как оказалось при разработке электроники часто приходится работать с CAN шиной. Это не только автомобилестроение, но и электронная начинка для лифтов, поездов, кораблей, космических аппаратов и прочего тоже использует CAN шину для общения между агрегатами.
При прототипировании CAN совместимых устройств часто надо собирать и разбирать различные конфигурации CAN шин. Два устройства, 4 устройства, 8 устройств, потом снова 3 и прочее. Обычно традиционные harness-ы для CAN шины делают как гирлянду из разъемов DB-9.

Однако разъёмы DB-9 содержат 9 пинов, а CAN нужно 2 пина. Можно ошибиться при подключении перемычек. Потом каждый раз развинчивать разъём DB-9 не удобно. В конце концов разъёмы DB-9 устарели.
Я предлагаю собирать отладочные CAN harness-ы на основе всем известных audio jack 3.5mm разъемов. Вот так.

Что надо из оборудования?
|
Компонент |
Назначение |
RUR |
|
Audio Jack 3.5mm Connector Mono, Plug to Screw Terminal |
Соединение сегментов сети |
49 |
|
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 |
для прозвонки соединений |
? |
Лучше покупать именно audio jack mono разъём. Так легче не ошибиться с подключением и легче отлаживаться. В клемму + завинчивать CAN_H, в клемму - завинчивать CAN_L.

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

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

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

CAN-шина собранная на основе Audio-Jack обладает следующими достоинствами:
Достоинства
++Дешевизна. Себестоимость одной секции составляет порядка 200 RUR.
++Можно удлинять CAN шину за счет переходников вилка-вилка, вилка-гнездо, который можно купить в любом магазине, где торгуют мобильными телефонами или в киосках метро.

++Не нужна отвертка для скрепления гнезда и вилки, как в случае с DB-9
++Эстетический вид. Audio jack 3.5 mm - это видовая деталь. Поэтому выглядит прилично.
++Миниатюрность. Такая CAN шина легко разбирается и собирается. Удобна при транспотрировке.
++Можно отдельным Audio-Jack-ом подключиться к шине осциллографом или переходником с USB-CAN. Буквально в любом месте.
++Безопасность. Если кто-то ногой заденет лежащую на полу такую CAN шину, то шина легко разорвется и человек не споткнется и не упадет.
++Позволяет экспериментировать с топологией. Массив, дерево, можно хоть в кольцо CAN шину замкнуть.
Итог
Удалось смастерить простую конфигурируемую и масштабируемую CAN шину буквально из подручных материалов.
К слову, всё то же самое справедливо и для шины RS-485.
Надеюсь что этот текст поможет и другим программистам микроконтроллеров собирать удобные CAN harness-ы для отладки своих устройств.
Словарь
|
Сокращение |
Расшифровка |
|
CAN |
Controller Area Network |
|
DMM |
Digital MultiMeter |
|
FNN |
Nest Nest Fork |
|
NFF |
Fork Fork Nest |
Ссылки
|
Ссылки |
URL |
|
CAN-шина (Теория) |
|
|
Утилита CANcat (или CAN-Мессенджер) |
|
|
Обзор USB-CAN переходника USB2CANFD_V1 |
|
|
ЛикБез по CAN-FD |
|
|
Обзор Переходника USB-CAN (SYS TEC USB-CANmodul1) |
|
|
Сканирование шины RS485 |
|
|
Обзор Протокола ISO-TP [ISO 15765-2] |
|
|
Обзор USB-CAN переходника USBCAN-II C |
|
|
Earphone Audio Jack 3.5mm Connector Stereo Adapter 3.5mm RCA Audio Mono Channel Plug to Screw Terminal Audio Mono Channel Plug |
Автор: aabzel
