«Программирование микроконтроллеров — это не только головой, но и руками. Не только руками, но и головой.»
Пролог
Так вышло, что до разработки автомобильной электроники я варил прошивки для 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. Лучше даже использовать stereo audio jack и сделать третий провод для GND.

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

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 и прочих интерфейсов. Хоть питание для новогодних гирлянд собирай.
Недостатки
1--В случае использования разъёмов на кабель нужна сноровка, чтобы припаивать кабели к внутренностям audio-jack. Потребуется термоусадка и паяльный фен.

2--В случае mono разъёма нет заземления. Надо использовать stereo разъём и протягивать еще и GND.
Итог
Удалось смастерить простую конфигурируемую и масштабируемую CAN шину буквально из подручных материалов.
Надеюсь, что этот текст поможет и другим программистам микроконтроллеров собирать удобные 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 |
Вопросы
--Существуют ли микросхемы физики CAN с гальванической изоляцией? Да. Вот примеры CA-IS3050G, CA-IS3052G, CA-IS3050W, CA-IS3052W, CA-IS3050U, CA-IS3050WG от http://e.chipanalog.com/
Комментарии (41)

zatim
15.10.2025 19:50Для CAN шины еще нужен третий проводник - общий провод.

aabzel Автор
15.10.2025 19:50Почему же у меня по двум проводам пакеты проходят от MCU в PC?
CAN-это же diff пара. Ей только разность напряжений нужна.

zatim
15.10.2025 19:50Почему же у меня по двум проводам пакеты проходят от MCU в PC?
Через паразитные цепи/подтяжки/защитные диоды потенциалы общих проводов двух гальванически развязанных систем могут выравниваться. А могут и не выравниваться. Подайте на одну из связанных частей принудительно напряжение смещения вольт эдак 15-20 и посмотрите, будут ли так же проходить пакеты. А еще лучше - посмотрите в даташите на вашу микросхему драйвера, какое максимальное синфазное напряжение линии она терпит.

DanilinS
15.10.2025 19:502-х проводов достаточно. А напряжение смещения в 15-20 вольт в реальных условиях смонтированного оборудования практически не встретить.
Так что наличие провода выравнивания потенциала желательно, но не необходимо. Нужно смотреть индивидуально. В отдельных случаях это может принести вред. Например, при монтаже оборудования в разных сегментах питания, можем легко иметь разность потенциалов в десятки вольт. С очень хорошей величиной тока выравнивания потенциала.

zatim
15.10.2025 19:50В отдельных случаях это может принести вред.
В описанном вами примере, если вы не кинете общий провод, то у вас выгорит драйвер шины. В чем у вас заключается вред? В том, что по проводу потечет некий уравнивающий ток? Ну и что. Провод для того и придуман, чтобы по нему тек ток. А вот если вы не кинете этот провод у вас выгорит микросхема драйвера, которая может потянуть за собой еще и процессор. Такое повреждение оборудования больше тянет на определение "вред"

randomsimplenumber
15.10.2025 19:50Ну, потечет уравнивающий ток 10А.. ну, расплавится что-то.. ;)

zatim
15.10.2025 19:50Ага, ага) а че не 1000 А? Мелко плаваете)

randomsimplenumber
15.10.2025 19:50Что-то испарится ;)
Пора изобретать гальваническую развязку, или кинуть провод потолще? ;)

zatim
15.10.2025 19:50Нет, вам пора изобретать логику и здравый смысл) ну и в электричествах немного разобраться тоже не помешает.

randomsimplenumber
15.10.2025 19:50в электричествах все сложное ;) а расскажите, чем ограничивается уравнивающий ток и откуда он взялся?

zatim
15.10.2025 19:50Знаете, мне сейчас недосуг кормить тролля) у меня есть много более интересных и полезных занятий.

Zenitchik
15.10.2025 19:50Я, конечно, нуб, но у меня есть смутное подозрение, что между оборудованием "в разных сегментах питания" связь должна быть гальванически развязанной.

aabzel Автор
15.10.2025 19:50У меня на PCB физика CAN трансивера ( AZKN1044T ) без гальванической изоляции.

Существуют ли микросхемы физики CAN с гальванической изоляцией?

alcotel
15.10.2025 19:50Есть у chipanalog видел изоляцию вместе с питанием. Но в принципе никто не запрещает добавить обычный изолятор на цепи txd/rxd. Тут нет приколов типа как в i2c, обычные кмоп-сигналы.

zatim
15.10.2025 19:50Существуют ли микросхемы физики CAN с гальванической изоляцией?
Конечно. ISO1050, например.

aabzel Автор
15.10.2025 19:50А есть ли изолированный CAN-FD?

zatim
15.10.2025 19:50Это физический уровень, там нолики и единички. Поэтому драйверу без разницы, FD там или не FD.

aabzel Автор
15.10.2025 19:50Это физический уровень, там нолики и единички. Поэтому драйверу без разницы, FD там или не FD.
Я имел в виду, что все изолированные CAN-PHY по спецификации до 1 MBit/s.
А CAN-FD только начинается с 1 MBit/s и заканчивается 12 MBit/s
zatim
15.10.2025 19:50А, в этом смысле. Ну да, опторазвязка всегда была медленной, больших скоростей там ждать не стоит.

randomsimplenumber
15.10.2025 19:50Вот мне тоже так кажется. Спецэффекты от выравнивания могут быть сильно разные.

aabzel Автор
15.10.2025 19:50то между оборудованием "в разных сегментах питания" связь должна быть гальванически развязанной.
Это дорого. Такого обычно нет. Зато внутри CAN-PHY есть электростатические разрядники до 8000 Вольт. Называется это ESD protection.

aabzel Автор
15.10.2025 19:50Подайте на одну из связанных частей принудительно напряжение смещения вольт эдак 15-20 и посмотрите, будут ли так же проходить пакеты. А еще лучше - посмотрите в даташите на вашу микросхему драйвера, какое максимальное синфазное напряжение линии она терпит.
В физике моего CAN трансивера заложена electrostatic discharge voltage до 8000 Воль.

randomsimplenumber
15.10.2025 19:50Можно купить ведро соединителей для rgb лент. Уже обжатых.

aabzel Автор
15.10.2025 19:50И как тут помогут RGB соединители?

randomsimplenumber
15.10.2025 19:50Они готовые, дешевые, односторонние (нельзя перепутать полярность), с фиксацией.

mlnw
15.10.2025 19:50Зачем придумывать велосипеды, когда есть RJ-45. Хочешь экранируй его, хочешь питание и землю по трем оставшимся парам прокидывай.

randomsimplenumber
15.10.2025 19:50Потом какой то незнакомый чувак:
О, rj45. Воткну ка я его в свой ноут.

mlnw
15.10.2025 19:50Подключать CAN и RS485 по RJ45 + FTP - вполне стандартная практика. Если в местах с подобным оборудованием ходят неквалифицированные специалисты с ноутами, пихающими в них что ни попадя - это не проблема оборудования.

alcotel
15.10.2025 19:50И... ничего не произойдёт. Гораздо хуже будет, если в ноутбук вы воткнёте незащищённый PoE, который через RJ-45 работает штатно.

alcotel
15.10.2025 19:50Очень уж хлипкие эти мини-джеки. Не знаю почему, но быстро уж они ломаются.
Когда-то давно в мобильную технику разработчики пытались ставит джеки 2,5 мм. Но они оказались ещë более хлипкие, и про 2,5 мм все быстро забыли.
В профессиональном аудио всë-таки ставят джеки 6,3 мм. Они гораздо надëжнее. Ещë бы - конструкция этих джеков придумана больше 100 лет назад.
Ну и конечно, главное достоинство джеков забыли - моментальное соединение вслепую. Их не нужно переворачивать, как знаменитые type A и B.

aabzel Автор
15.10.2025 19:50Когда-то давно в мобильную технику разработчики пытались ставит джеки 2,5 мм. Но они оказались ещë более хлипкие, и про 2,5 мм все быстро забыли.
У меня был такой на Nokia 6300


VM1989
15.10.2025 19:50Человечество в давние времена уже всё изобрело. Называется 3 pin Deutsch connector. Крепкий, герметичный, стоит на али 50₽, или 200р за комплект.


iliasam
Достоинства-то перечислены, а недостатки?
В первую очередь, такие разъемы не имеют никакой защиты от случайного выдергивания, хотя в тексте это в плюсы записано.
"В конце концов разъёмы DB-9 устарели"
А какая им есть альтернатива?
aabzel Автор
Вот хотя бы XS16JK-9P
https://neokt593.ru/XS16JK-9P(гайка) M
XS16JK-9P (гайка) M разъём цилиндрический GX16
aabzel Автор
Некоторые audio jack трудно паять на кабель.
Так чтобы не было короткого замыкания внутри пластпаски.
sic
Ну это решается простой
советской синейизолентой.aabzel Автор
Да. В этом и удобство. Это же только для прототипирования на столе и в макете автомобиля.