
Комментарии 10
отличный мануал, который самому приходится по сути пересказывать в работе. (копаю CAN-шины, в том числе J1939 с обратной стороны — расшифровываю логи, собираю DBC)
Очень доступно, интересно и познавательно. Работал с этим достаточно давно и изучал, но из статьи познал несколько моментов, которых до этого не знал.
Спасибо большое!
240 адресов хватает в современных реалиях?
Да, 254 адресов в J1939 более чем достаточно: в реальной технике обычно одновременно работает порядка 15–30 электронных блоков управления.
На практике ограничением современных систем является не адресное пространство, а пропускная способность классической CAN-шины — как правило, 250 или 500 кбит/с. Поэтому при увеличении количества устройств и объёма передаваемых данных сеть разделяют на несколько независимых CAN-сегментов, соединённых шлюзами. Каждый сегмент работает как отдельная сеть и использует собственное адресное пространство J1939.
Еще я сталкивался с тем, что сети делили по степени критичности: все важное, связанное с движением и безопасностью - в одну подсеть, а всякую второстепенную шляпу - в другую.
да, так и делают — разводят критичное и второстепенку по разным шинам.
Это нужно по нескольким причинам, на пример чтобы важные сообщения не тонули в потоке мусора. Еще так меньше шансов, что глюк условной магнитолы или телематики повлияет на тормоза/руль и так проще проходить требования по безопасности и отказоустойчивости.
Плюс критическую сеть часто делают с резервированием или на более надёжной топологии, а «шляпу» — попроще и подешевле.
240 адресов хватает в современных реалиях?
В одном пролете CAN шины может быть максимум 127 трансиверов.
Далее емкость между проводами CAN_L и CAN_H становится слишком высокой и электрические фронты смазываются.

я вообще не понял зачем адреса тут прикрутили. оригинальный canпрекрасен отсутвием адресов и проблем с ними связанных (адреса нужно назначать, легко возникает путаница, можно придумать каку нибуть автоматизацию раздачи адресов, но оно тоже может глючить). нужно просто отцеживать данные с нужным id причем фильтр "аппаратный". (собственно это почему то выделено как достоинство J1939 хотя адреса есть)
Обзор протокола J1939 (или нервная система грузовиков)