В любом современном автомобиле есть очень важная шина, которая, впрочем, не имеет никакого отношения к покрышкам. Речь идёт о CАN-шине. Данная аббревиатура означает Controller Area Network, что на русский язык можно перевести как сеть контроллеров.
Говоря проще — это сеть, при помощи которой различные электронные устройства автомобиля обмениваются между собой данными. Такое решение не только позволило сократить сотни метров проводов, но и обеспечить надёжный канал для обмена. Как же работает этот «автомобильный интернет»?
Какие были предпосылки для внедрения единой шины?
Для ответа на этот вопрос нам нужно обратиться к истории. В качестве примера рассмотрим довольно известную модель Audi 100.
Хорошо известно, что в этой модели имелось всего несколько электронных управляющих блоков. Если точнее, то на ней были установлены блоки, управляющие впрыском, электронной системой зажигания, климатической установкой, приборная доска, а также блок, управляющий вентиляторами охлаждения.
Разумеется, что всем блокам, для работы требовался сигнал о температуре охлаждающей жидкости. Для удовлетворения этих потребностей в каждой системе был установлен отдельный датчик температуры или термовыключатель. Подключение каждого элемента осуществлялось отдельными проводами.
Таким образом, даже если рассматривать один температурный сигнал, то для его реализации требовалось задействовать 5 датчиков и 5 термовыключателей.
Аналогичная ситуация складывалась и с другими системами, что неизбежно приводило к усложнению конструкции, а также приводило к проблемам обнаружения вышедшего из строя элемента. При этом внедрение системы самодиагностики было весьма затруднительно.
Кто это придумал?
Увеличение количества различных электронных компонентов — датчиков, исполнительных механизмов, блоков управления и т.д. привело к необходимости сокращения числа проводов. Примерно в 80-х годах двадцатого века в легковых автомобилях активно стали внедрять электронные системы управления.
Следует отметить, что создала CАN-шину знаменитая немецкая компания Robert Bosch GmbH. Сначала системы, подключённые с её помощью, стали применять для управления двигателем и трансмиссией, однако в дальнейшем электроника распространилась и на другие системы, например, климат-контроль и т. п. Такое решение позволило значительно уменьшить стоимость автомобиля, а также облегчило жизнь инженерам в различных областях, и в настоящее время в автомобильной промышленности это решение уже является стандартом.
Основная идея
Можно представить каждый отдельный блок как компьютер, который оснащён специальной шиной для обмена информацией. С применением общей шины стало возможным отказаться от принципа, когда для передачи сигналов или команд требовался отдельный провод.
Таким образом, если рассматривать проблему передачи данных о температуре, то теперь стало достаточно применение только одного датчика. Обычно датчик подключается к блоку управления двигателем, по той причине, что к нему ближе всего тянуть провода.
Блок управления двигателем будет производить опрос датчика температуры, в первую очередь для собственных нужд. Однако он также будет передавать эти данные и другим электронным блокам и устройствам по шине данных. Как видно, при этом значительно снижается количество проводов, а также становится возможным отказаться от дублирования одинаковых датчиков.
Одно из важных преимуществ — возможность ввода и вывода информации, что позволяет проводить диагностику систем, оснащённых большим количеством блоков.
Как всё устроено?
CAN-шина представляет собой два провода, которые скручены вместе. Эти провода могут быть подключены к блоку управления двигателем, коробкой передач, антиблокировочной системе и т. п.
В каждом блоке имеется трансивер. Это, грубо говоря, специальная микросхема, основной задачей которой является преобразование обычного сигнала в цифровой сигнал и обратное преобразование цифрового сигнала в аналоговый сигнал.
Строгой очерёдности выдачи отдельных сигналов нет. Вместо этого сигналы имеют разный приоритет. Таким образом, более приоритетный сигнал будет принят в первую очередь. Это достигается путём присвоения каждому пакету сигналов специального идентификатора.
Сами сигналы имеют прямоугольную форму. На одном из проводов разность потенциалов будет составлять от 2,5 до 3,5 В, а на другом проводе, это значение будет составлять от 1,5 до 2,5 В.
Провод с более высоким сигналом принято называть CAN High, соответственно, провод с низким сигналом называется CAN Low.
Распределение сигналов
Рассмотрим самую простую схему подключения блоков по CAN-шине.
Обратите внимание, что в блоке управления и блоке комфорта установлены шунтирующие резисторы с номинальным сопротивлением 120 Ом.
Схема соединения блока комфорта может быть немного другой.
Блок кузовной электроники соединяется с коммутационными блоками в разных частях автомобиля. В свою очередь, эти блоки управляют освещением, климатической системой, дверными замками и тому подобным. Также провода шины подключаются к диагностическому разъёму, что значительно упрощает диагностику.
Следует отметить, что при наличии в автомобиле несколько CAN-шин, то к диагностическому разъёму подключается только шина управления двигателем и его агрегатами.
Проверка CAN-шины
Так как в системе соединений имеются шунтирующие резисторы, то проверить шину можно при помощи омметра. Для этого нужно измерить сопротивление.
Перед измерением следует отключить аккумуляторную батарею, так как это может внести искажения в замеры.
При обрыве любого провода силовая шина полностью выходит из строя.
Однако следует помнить, что шины комфорта лишены этого недостатка и вполне могут работать даже в таком, аварийном режиме.
Также сигнал на шине можно проверить при помощи осциллографа. При этом следует использовать прибор с возможностью записи сигнала или с функцией стоп-кадра. В противном случае отследить данные в режиме реального времени не получиться.
Первый релиз
Получив некоторые начальные данные, следует перейти к более предметному изучению CAN-шины. Как уже было написано, в 1983 году в разработке CAN-шины активное участие приняла компания Robert Bosch GmbH.
В американском городе Детройте в 1986 году на конференции Ассоциации автомобильных инженеров была представлена первая версия протокола. В следующем, 1987 году компании Intel и Philips приступили к производству первых контроллеров.
Второй релиз
Не останавливаясь на достигнутом, компания Bosch продолжила улучшать протокол и в 1991 году была представлена второй релиз, который включал версию на 11 бит CAN 2.0 А и версию на 29 бит – CAN 2.0 В. В этом же году новая шина была установлена в уже ставшей легендарной модели Mercedes-Benz S-класса в кузове W140.
В 1993 году Международная организация по стандартизации (ISO) выпускает стандарт ISO 11898-1.
Первой частью стандарта описывался CAN 2.0 Data link layer от компании Bosh, а второй частью описывался физический уровень высокоскоростной шины. Данная шина обеспечивала связь между наиболее ответственными блоками автомобиля.
Третий релиз
Спустя некоторое время появилась третья часть стандарта, описывающая низкоскоростную шину, устойчивою к ошибкам. Данная шина применялась для менее ответственных систем, например, систем обеспечения комфорта или системы кондиционирования.
Особенности интерфейса
Теперь перейдём к рассмотрению канального и физического уровня. Существует стандартизированная модель OSI (The Open Systems Interconnection model), которая определяет различные уровни при взаимодействии систем.
Говоря другими словами, для того чтобы два микроконтроллера, которыми и являются блоки управления, начали между собой обмениваться информацией, связывающий их интерфейс, как раз и должен включать 7 уровней.
Шину CAN можно описать двумя уровнями — физический и канальный уровни. Физический уровень регламентирует, каким будет проводное соединение, которое в нашем случае представляет собой витую пару.
Такое решение позволяет защитить передаваемые сигналы от помех. При наличии помехи, последняя будет одинаково влиять на два провода, и контроллер сможет её распознать и выдать правильный сигнал на выходе.
По двум проводам передаётся одинаковый сигнал, который имеет противоположную полярность.
При этом уровень напряжения сигнала, который передаётся через неё, будет соответствовать логическому нулю или единице.
Уровень канала регламентирует, как данные, полученные на физическом уровне, будут структурированы, как будет производиться их арбитраж и так далее.
Стандарт OBD II
В 1996 году был принят уже ставший широко известным стандарт OBD II, контролирующий уровень выброса вредных веществ в атмосферу.
Это решение стало важным и для CAN-шины. Теперь она стала одной из пяти шин данных, утверждённых законодательно.
На стандартном разъёме диагностики специально для CAN-шины выделялись 6 и 14 контакты.
Новый стандарт ISO 15765-4, который описывал CAN-шину, включил ещё и описание высших уровней модели OSI. Это обстоятельство дало возможность применять его не только для организации взаимодействия между блоками автомобильных систем, но и организовать канал для диагностики.
Впоследствии стало возможным применять различные протоколы диагностики, принятые ведущими автопроизводителями.
В 2018 году использование CAN-шины в разъёме для диагностики стало обязательным условием для автомобилей, которые продаются в США.
Надо отметить, что до этого автопроизводители могли выбирать на своё усмотрение любую из пяти шин, представленных в стандарте OBD II.
Версия CAN FD
В 2012 году Bosh выпускает новый релиз 2013 шины, который получил название CAN FD. Он был совместим с уже существующими релизами и позволял повысить скорость передаваемых данных до 8 Мбит/с после выполнения арбитража. Также было увеличено до 64 байт количество информации, передаваемой в одном кадре.
Заключение
Несмотря на то что CAN-шина имеет такие преимущества, как высокая скорость передачи данных, простота самого канала для обмена данными и высокая совместимость с различными устройствами и системами диагностики, она обладает и некоторыми недостатками. Например, к недостаткам можно отнести некоторое повышение времени отклика, при увеличенной нагрузке на шину. Также неисправность отдельного блока может привести к выходу из строя всей системы.