Разбираемся как работает КАН-шина на примере учебной системы CANBASIC. КАН-шина в автомобиле – что это за технология такая

Электрические цепи автомобилей усложнялись и разрастались год от года. Первые автомобили обходились без генератора и аккумулятора – зажигание работало от магнето, а фары были ацетиленовые.
К середине 70-х годов в жгуты увязывались уже сотни метров электрических проводов, автомобили по оснащённости электрикой, соперничали с легкомоторной авиацией.
Идея упрощения электропроводки лежала на поверхности – хорошо бы проложить в автомобиле всего один провод, нанизать на него потребителей и возле каждого поставить некое управляющее устройство. Тогда по этому проводу можно было бы пустить и энергию для потребителей (лампочек, датчиков, исполнительных устройств) и управляющие сигналы.
К началу 90-х развитие цифровых технологий позволило приступить к осуществлению этой идеи - компаниями BOSCH и INTEL был разработан сетевой интерфейс CAN (Controller Area Network) для создания бортовых мультипроцессорных систем реального времени. В электронике проводную систему, по которой передаются данные, принято называть “шиной”.


Если данные передаются по двум проводам (т.н. “витая пара”) последовательно, импульс за импульсом – это будет последовательная шина (serial bus), если данные передаются по жгуту из нескольких проводов одновременно – это будет параллельная шина (parallel bus).
И хотя параллельная шина работает быстрее, для упрощения электропроводки автомобиля она не подходит – она её как раз только усложнит. Витая пара последовательной шины способна передавать до 1Мбит/сек, чего вполне достаточно.
Правила, по которым отдельные блоки обмениваются информацией, в электронике называются протоколом. Протокол позволяет посылать отдельным блокам отдельные команды, опрашивать каждый блок в отдельности или всех сразу. Кроме адресного обращения к устройствам, протокол предусматривает и возможность задания приоритетов самим командам. Например, команда на управление двигателем будет иметь приоритет перед командой на управление кондиционером.
Развитие и миниатюризация электроники позволяют теперь выпускать недорогие модули управления и связи, которые в автомобиле можно соединять в виде звезды, кольца или цепи.
Обмен информацией идет в обоих направлениях, т.е. можно не только включить например лампочку заднего хода, но и получить информацию светит ли она.
Получая информацию от различных устройств система управления двигателем выберет оптимальный режим, система кондиционирования включит отопление или охлаждение, система управления стеклоочистителем взмахнет щетками и т.п.
Значительно упрощается и система диагностики двигателя и всего автомобиля в целом.
И хотя главная мечта электрика – всего два провода по всей машине – ещё не сбылась, CAN шина значительно упростила электропроводку автомобиля и повысила общую надежность всей системы.

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

В современных машинах используются электронные блоки управления (ЭБУ, ECU - Electronic Control Unit) для контроля и управления различными системами машины, такими как гидравликой, коробкой передач и двигателем.
Аналогично тому, как компьютеры могут быть соединены в одну сеть, блоки управления в машине тоже можно объединить.

Преимущества сетевого соединения:

  • Более чувствительная система управления
  • Получение более полных и надежных данных
  • Обнаружение неисправностей и управление настройками производится средствами программного обеспечения.

Например, ЭБУ двигателя может обмениваться с другими ЭБУ машины по системе сети CAN .

Система CAN :Controller Area Network - сеть контроллеров. CAN разработан компанией Robert Bosch GmbH в середине 1980-х и в настоящее время получил широкое применение в автомобильной, авиационной, тракторостроительной и других видах промышленности.

Электронная система связи CAN, которая объединяет все блоки управления машиной в сеть с общим кабелем(шиной) и состоящая из одной пары проводов, называется шиной CAN. Закодированные данные посылаются от блоков управления на шину CAN.

Рисунок - CAN шина из 4-х блоков управления.

Выше показана шина CAN, состоящая из 4-х блоков управления. На концах общего кабеля (шины) устанавливается согласующие сопротивления (терминаторы, резисторы) Обычно сопротивление каждого резистора составляет 120 Ом. Применение согласующих резисторов на концах системы позволяет избежать отражение сигнала в конце линии тем самым обеспечивая нормальную работу всей CAN сети.

Передача сигналов в шине CAN осуществляется посредством двух скрученных между собой проводов (витая пара, Twisted Pair) Применение витой пары проводов, обусловлено дифференциальной передачей данных и высокой защитой такого решения от внешних помех.

В нашем случае блок №2 отправляет один сигнал по двум витым проводам в шину CAN, причем у этого сигнала будет различное напряжение на каждом проводе витой пары. Другие блоки в сети читают сигнал и определяют какому блоку оно предназначено и какую команду нужно выполнить (Блоки №1 и №4)

Передача одного и того же сигнала на два провода (CAN High и CAN low) с разным напряжением происходит методом "дифференциальной передачи данных". В состоянии покоя напряжение на проводе CAN High и CAN low составляет 2,5 В. Такое состояние называется "рецессивное" и упрощенно соответствует значению бита "0" При переходе в активное "доминантное" состояние (такое состояние может создать любой элемент сети) напряжение на проводе CAN High будет повышаться не меньше чем на 1 В до 3,5 В, а CAN low понижаться - тоже на 1 В до 1,5В. Чтобы "понимать" разницу напряжений между CAN High и CAN low, каждый блок управления подключается к шине CAN через трансивер, где происходит преобразование разности напряжений U CAN Hi и U CAN Lo в итоговое напряжение U DIFF . Разница между CAN High и CAN low будет 2В и будет восприниматься принимающими блоками управления как значение бита, равное "1". Такая "дифференциальная передача" сигнала, исключает влияние базового напряжения 2,5 В и другие скачки напряжений из-за различных помех на работу блоков управления. Например, происходит просадка напряжения в бортовой сети на 1,5 В из-за включения мощного потребителя в сеть: U CAN Hi и U CAN Lo в состоянии покоя 2,5 -1,5 = 1 В (U DIFF = 1 - 1 = 0 - Значение бита "0") Разница, при переходе в доминантное состояние U CAN Hi = 2,5 +1 -1,5 = 2 В; U CAN Lo =2,5 -1 -1,5 = 0 В. Итого U DIFF = 2 - 0 = 2 В (Значение бита "1"), даже такая нереальная просадка не повлияла на работу.

Рисунок - Принцип линии CAN

Так происходит передача сигналов по шине CAN. Сами эти сигналы представляют собой "кадры" (сообщения), которые принимаются всеми элементами сети CAN. Полезная информация в кадре состоит из идентификационного поля (идентификатора) длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификационное поле говрит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами. Также в кадре (сообщении) помимо полезной информации содержится служебная информация. Она представлена полями проверки, полем отзыва и другим полями. В конце кадра содержится "поле конец сообщения"

В шине CAN сообщения от блоков управления должны передаваться в общую шину, то для исключения конфликтов между блоками, каждый узел перед отправкой кадра проверяет сеть на передачу доминантного бита. Устройство передающее доминантный бит считается приоритетным. Таким образом устройство будет дожидаться освобождения линии CAN. С одной стороны такой алгоритм работы повышает быстродействие, но с другой при неправильной работе одного из блоков управления возможна полная "загрузка" CAN шины и невозможность отправки сообщении другими блоками, элементами сети CAN (Линия для них будет всегда занята).

Рисунок -Структура сообщения

Напоследок пример работы:

Переключением кнопки инициируем команду блока управления №1 передачу сообщений в шину CAN. Блок №2 получает сообщение и расшифровав в сообщении что кадр пришел для него с командой включить свет. Подается бортовое напряжение на потребитель.

Рисунок - Принцип коммуникации через CAN

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

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

[ Скрыть ]

Что такое CAN-шина

Электронный КАН-интерфейс в авто представляет собой сеть контроллеров, использующихся для объединения всех управляющих модулей в единую систему.

Данный интерфейс представляет собой колодку, с которой можно соединять посредством проводов блоки:

  • противоугонного комплекса, оборудованного функцией автозапуска либо без нее;
  • системы управления мотором машины;
  • антиблокировочного узла;
  • системы безопасности, в частности, подушек;
  • управления автоматической коробкой передач;
  • контрольного щитка и т. д.

Устройство и где находится шина

Конструктивно CAN-шина представляет собой блок, выполненный в пластиковом корпусе, либо разъем для подсоединения кабелей. Цифровой интерфейс состоит из нескольких проводников, которые называются CAN. Для подключения блоков и устройств используется один кабель.

Место монтажа устройства зависит от модели транспортного средства. Обычно этот нюанс указывается в сервисном руководстве. СAN-шина устанавливается в салоне автомобиля, под контрольным щитком, иногда может располагаться в подкапотном пространстве.

Как работает?

Принцип работы автоматической системы заключается в передаче закодированных сообщений. В каждом из них имеется специальный идентификатор, являющийся уникальным. К примеру, «температура силового агрегата составляет 100 градусов» или «скорость движения машины 60 км/ч». При передаче сообщений все электронные модули будут получать соответствующую информацию, которая проверяется идентификаторами. Когда данные, передающиеся между устройствами, имеют отношение к конкретному блоку, то они обрабатываются, если нет — игнорируются.

Длина идентификатора CAN-шины может составить 11 либо 29 бит.

Каждый передатчик информации одновременно выполняет считывание данных, передающихся в интерфейс. Устройство с более низким приоритетом должно отпустить шину, поскольку доминантный уровень с высоким показателем искажает его передачу. Одновременно пакет с повышенным значением остается нетронутым. Передатчик, который потерял связь, спустя определенное время ее восстанавливает.

Интерфейс, подключенный к сигналке или модулю автоматического запуска, может функционировать в разных режимах:

  1. Фоновый, который называется спящим или автономным. Когда он запущен, все основные системы машины отключены. Но при этом на цифровой интерфейс поступает питание от электросети. Величина напряжения минимальная, что позволяет предотвратить разряд аккумуляторной батареи.
  2. Режим запуска или пробуждения. Он начинает функционировать, когда водитель вставляет ключ в замок и проворачивает его для активации зажигания. Если машина оборудована кнопкой Старт/Стоп, это происходит при ее нажатии. Выполняется активация опции стабилизации напряжения. Питание подается на контроллеры и датчики.
  3. Активный. При активации этого режима процедура обмена данными осуществляется между регуляторами и исполнительными устройствами. Параметр напряжения в цепи увеличивается, поскольку интерфейс может потреблять до 85 мА тока.
  4. Деактивация или засыпание. Когда силовой агрегат останавливается, все системы и узлы, подключенные к шине CAN, перестают функционировать. Выполняется их деактивация от электрической сети транспортного средства.

Характеристики

Технические свойства цифрового интерфейса:

  • общее значение скорости передачи информации составляет около 1 Мб/с;
  • при отправке данных между блоками управления различными системами этот показатель уменьшается до 500 кб/с;
  • скорость передачи информации в интерфейсе типа «Комфорт» — всегда 100 кб/с.

Канал «Электротехника и электроника для программистов» рассказал о принципе отправки пакетных данных, а также о характеристиках цифровых адаптеров.

Виды CAN-шин

Условно CAN-шины можно разделить между собой на два типа в соответствии с использующимися идентификаторами:

  1. КАН2, 0А. Так маркируются цифровые устройства, которые могут функционировать в 11-битном формате обмена данными. Этот тип интерфейсов по определению не может выявить ошибки на сигналы от модулей, работающих с 29 бит.
  2. КАН2, 0В. Так маркируются цифровые интерфейсы, функционирующие в 11-битном формате. Но ключевая особенность состоит в том, что данные об ошибках будут передаваться на микропроцессорные устройства, если обнаруживается идентификатор на 29 бит.

CAN-шины могут делиться на три категории в соответствии с видом:

  1. Для силового агрегата автомобиля. Если подключить к нему такой тип интерфейса, это позволит обеспечить быструю связь между управляющими системами по дополнительному каналу. Предназначение шины заключается в синхронизации работы ЭБУ двигателя с другими узлами. Например, коробкой передач, антиблокировочной системой и т. д.
  2. Устройства типа Комфорт. Такая разновидность цифровых интерфейсов используется для соединения всех систем данной категории. К примеру, электронной регулировки зеркал, подогрева сидений и т. д.
  3. Информационно-командные интерфейсы. Имеют аналогичную скорость передачи информации. Используются для обеспечения качественной связи между узлами, необходимыми для обслуживания транспортного средства. К примеру, между электронным блоком управления и навигационной системой или смартфоном.

О принципе действия, а также о разновидностях цифровых интерфейсов рассказал канал «Электротехника и электроника для программистов».

Инструкция по подключению сигнализации по CAN-шине

При монтаже противоугонной системы простой вариант ее соединения с бортовой сетью — связать охранную установку с цифровым интерфейсом. Но такой метод возможен при наличии КАН-шины в автомобиле.

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

Если сигналку ставили специалисты, то надо обратиться за помощью с этим вопросом на СТО. Обычно устройство располагается за приборной панелью автомобиля или под ней. Иногда установщики ставят микропроцессорный модуль в свободное пространство за бардачком или автомагнитолой.

Что понадобится?

Для выполнения задачи потребуется:

  • мультиметр;
  • канцелярский нож;
  • изолента;
  • отвертка.

Пошаговые действия

Процедура подключения противоугонной установки к CAN-шине осуществляется так:

  1. Сначала надо убедиться, что все элементы охранного комплекса установлены и работают. Речь идет о микропроцессорном блоке, антенном модуле, сервисной кнопке, сирене, а также концевых переключателях. Если сигнализация имеет опцию автозапуска, надо убедиться в правильности монтажа этого устройства. Все элементы противоугонной установки подключаются к микропроцессорному блоку.
  2. Выполняется поиск основного проводника, идущего к CAN-шине. Он более толстый и его изоляция обычно окрашена в оранжевый цвет.
  3. Основной блок автосигнализации соединяется с данным контактом. Для выполнения задачи используется разъем цифрового интерфейса.
  4. Производится монтаж блока управления охранной системы, если он не был установлен. Его следует разместить в сухом и недоступном для посторонних глаз месте. После монтажа устройство надо качественно зафиксировать, иначе в процессе движения на него будут оказывать негативное воздействие вибрации. В результате это приведет к быстрой поломке модуля.
  5. Место соединения проводников тщательно изолируется, допускается использование термоусадочных трубок. Рекомендуется дополнительно обмотать изолентой провода. Это позволит увеличить их ресурс эксплуатации и не допустить стирания изоляционного слоя. Когда подключение будет выполнено, осуществляется проверка. Если возникли проблемы в передачи пакетных данных, с помощью мультиметра следует произвести диагностику целостности электроцепей.
  6. На завершающем этапе выполняется настройка всех каналов связи, в том числе дополнительных, если они имеются. Это позволит обеспечить бесперебойную работу охранной системы. Для настройки используется сервисная книжка, входящая в комплектацию противоугонной установки.

Пользователь Sigmax69 рассказал о соединении охранного комплекса с цифровым интерфейсом на примере автомобиля Хендай Солярис 2017.

Неисправности

Поскольку CAN-интерфейс завязан со многими системами автомобиля, при поломке или некорректной работе одного из узлов в нем могут появиться неполадки. Их наличие отразится на функционировании основных агрегатов.

Признаки и причины

О появлении неисправностей могут сообщить такие «симптомы»:

  • на приборной панели загорелись одновременно несколько значков без причины — подушки безопасности, рулевое управление, давление в системе смазки и т. д.;
  • появился световой индикатор Check Engine;
  • на контрольном щитке отсутствует информация о температуре силового агрегата, уровне топлива в баке, скорости т. д.

Причины, по которым могут возникнуть неисправности в работе CAN-интерфейса:

  • обрыв проводки в одной из систем или повреждение электролиний;
  • короткое замыкание в работе агрегатов на батарею или землю;
  • повреждение резиновых перемычек на разъеме;
  • окисление контактов, в результате чего нарушается передача сигнала между системами;
  • разряд АКБ автомобиля либо падение величины напряжения в электросети, что связано с неправильным функционированием генераторной установки;
  • замыкание систем CAN-high либо CAN-low;
  • появление неисправностей в работе катушки зажигания.

Подробнее о поломках цифрового интерфейса и тестировании с использованием компьютера рассказал канал «KV Avtoservis».

Диагностика

Чтобы определить причину появления неполадок, потребуется тестер, рекомендуется использование мультиметра.

Процесс проверки:

  1. Диагностика начинается с поиска проводника витой пары КАН-шины. Кабель имеет черную либо оранжево-серую изоляцию. Первый является доминантным уровнем, а второй — второстепенным.
  2. С помощью мультиметра производится проверка величины напряжения на контактных элементах. При выполнении задачи зажигание нужно включить. Процедура тестирования позволит выявить напряжение в диапазоне от 0 до 11 вольт. На практике это обычно 4,5 В.
  3. Выполняется отключение зажигания. От аккумулятора отсоединяется проводник с отрицательным контактом, предварительно гаечным ключом надо ослабить зажим.
  4. Выполняется измерение параметра сопротивления между проводниками. О замыкании контактов можно узнать, если эта величина стремится к нулю. Когда диагностика показала, что сопротивление бесконечно, то в электролинии имеется обрыв. Проблема может заключаться непосредственно в контакте. Требуется более детально проверить разъем и все провода.
  5. На практике замыкание обычно происходит из-за поломки управляющих устройств. Для поиска вышедшего из строя модуля следует поочередно отключить от питания каждый блок и выполнить проверку величины сопротивления.

Пользователь Филат Огородников рассказал о диагностике КАН-шины с использованием осциллографа.

Как сделать анализатор своими руками?

Самостоятельно выполнить сборку данного устройства сможет только профессионал в области электроники и электротехники.

Основные нюансы процедуры:

  1. В соответствии со схемой на первом фото в галерее надо приобрести все элементы для разработки анализатора. На ней подписаны составляющие детали. Потребуется плата с контроллером STM32F103С8Т6. Понадобится электросхема стабилизированного регуляторного устройства и КАН трансивер МСР2551.
  2. При необходимости в анализатор добавляется блютуз-модуль. Это позволит при эксплуатации девайса записать основную информацию на мобильное устройство.
  3. Процедура программирования выполняется с использованием любой утилиты. Рекомендуется применение программ КАНХакер или Ардуино. Первый вариант более функциональный и имеет опцию фильтрации пакетных данных.
  4. Для осуществления прошивки потребуется преобразовательное устройство USB-TTL, оно понадобится для отладки. Простой вариант — применение ST-Link второй версии.
  5. Загрузив программу на компьютер, основной файл формата ЕХЕ необходимо прошить в контроллер с использованием программатора. После выполнения задачи ставится перемычка бутлоудера, а изготовленное устройство подключается к ПК через USB-выход.
  6. Заливать прошивку в анализатор можно с использованием программного обеспечения MPHIDFlash.
  7. Когда обновление ПО будет завершено, надо отсоединить провод и демонтировать перемычку. Производится установка драйверов. Если устройство собрано верно, то на компьютере оно будет определяться как COM-порт, это можно посмотреть в диспетчере задач.

Фотогалерея

Схема для разработки CAN-анализатора Основная плата для сборки устройства

Плюсы и минусы CAN-шин

Преимущества, которыми обладает цифровой интерфейс:

  1. Быстродействие. Устройство может оперативно обмениваться пакетными данными между разными системами.
  2. Высокая устойчивость к воздействию электромагнитных помех.
  3. Все цифровые интерфейсы имеют многоуровневую систему контроля. Благодаря этому можно не допустить появления ошибок при передаче информации и ее приеме.
  4. При работе шина сама раскидывает скорость по каналам в автоматическом режиме. Благодаря этому обеспечивается эффективная работа электронных систем транспортного средства.
  5. Цифровой интерфейс является безопасным. Если к электронным узлам и системам автомобиля кто-то попытается получить незаконный доступ, шина автоматически заблокирует эту попытку.
  6. Наличие цифрового интерфейса позволяет упрощенно произвести монтаж охранной системы на машину с минимальным вмешательством в штатную бортовую сеть.

Минусы, которыми обладает CAN-шина:

  1. Некоторые интерфейсы имеют ограничения по объему информации, которая может передаваться. Этот недостаток будет весомым для современного автомобиля, «напичканного» электроникой. При добавлении дополнительных устройств на шину возлагается более высокая нагрузка. Из-за этого снижается время отклика.
  2. Все пакетные данные, которые передаются по шине, имеют определенное назначение. Для полезной информации отводится минимальная часть трафика.
  3. Если применяется протокол повышенного уровня, это станет причиной отсутствия стандартизации.

Видео «Ремонт CAN-интерфейса своими руками»

Пользователь Roman Brock рассказал о процедуре восстановления шины приборной панели в автомобиле Форд Фокус 2 рестайлинг.

В данной статье не будем полностью расписывать CAN протокол, а обратим внимание лишь на вещи, которые надо обязательно знать и понимать для использования или разработки электронных устройств с поддержкой CAN.

Протокол CAN был разработан для автомобильной промышленности и впоследствии стал стандартом в области создания бортовых сетей автомобилей, железнодорожного транспорта и т.д. CAN позволяет создавать сети с развитыми средствами контроля ошибок, скоростью передачи до 1Мбит/с и пакетами содержащими не более восьми байтов данных.

Канальный и физический уровни CAN

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

Структура узла сети CAN

Рассматриваемый нами узел сети CAN состоит из микроконтроллера, CAN контроллера и приемопередатчика (рисунок 1). Чаще всего мы используем микроконтроллеры с встроенным CAN контроллером для упрощения схемы, но иногда используется автономный контроллер CAN с интерфейсом SPI (MCP2510). Далее приемопередатчик подключается к витой паре, на концах которой размещены согласующие резисторы (терминатор) с сопротивлением 120 Ом.

Рисунок 1 – Узел сети CAN

Для формирования логической единицы в витой паре, или свободной шине, на оба провода подается напряжение, равное половине разности напряжения между 0 или Vcc. Логическому нулю соответствует подача на провода линии дифференциального напряжения (рисунок 2).




Рисунок 2 – Логические уровни на CAN-шине

Шина CAN позволяет передавать данные со скоростью 1 Мбит/c при длине кабеля не более 40 м. В обучающей литературе написано, что при снижении скорости передачи до 10кбит/с можно добиться длины сети в 1.5км.

Пакет сообщения CAN

Формат сообщения CAN показан на рисунке 3.




Рисунок 3 – Пакет сообщения CAN

По факту пакет сообщения формируется CAN контроллером, а прикладное ПО только устанавливает идентификатор сообщения, длину сообщения и предоставляет байты данных, поэтому полностью рассматривать пакет не будем, а посмотрим на данные которые мы изменяем при работе с CAN шиной.

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

Арбитраж на шине CAN

Если без подробностей, то первым по шине CAN всегда передается сообщение с наименьшим идентификатором.

Настройка скорости передачи данных по шине CAN

Скорость передачи данных по CAN шине настраивается за счет формирования квантов времени, а не как во многих других протоколах последовательной передачи данных за счет делителя скорости. В большинстве случаев используются скорости 10Кбит/c, 20Кбит/c, 50Кбит/c, 100Кбит/c, 125Кбит/c, 500Кбит/c, 800Кбит/c, 1MBaud и настройки для этих скоростей уже посчитаны. На рисунке 4 изображено окно выбора скорости в программе PcanView.



Рисунок 4 – Выбор скорости передачи данных в программе PcanView

Как мы видим при установке стандартной скорости настройки проставляются автоматически, но бывают случаи когда необходимо использовать другую скорость передачи данных. Например бортовой CAN автомобиля может работать со скоростью 83Кбит/c. В этом случае придется провести расчет настроек самостоятельно или поискать специализированный калькулятор скорости в интернете. Для самостоятельного расчета скорости необходимо понимать, что для передачи одного бита сообщения используется несколько квантов, а интервал передачи состоит из трех сегментов (рисунок 5).




Рисунок 5 – Время передачи одного бита

Первый сегмент всегда фиксирован и равняется одному кванту. Далее идет два сегмента Tseg1 и Tseg2 и количество квантов в каждом сегменте определяется пользователем и может быть равно от 8 до 25. Точка выборки находится между Tseg1 и Tseg2, т.е. в конце первого и в начале второго сегмента. Так же пользователь может определить ширину скачка синхронизации (Synchronization Jump Width - SJW) для подстройки битовой скорости принимающего устройства, который может быть в диапазоне 1 – 4 квантов времени.

Теперь приведем формулу расчета скорости (Пример расчета скорости для CAN контроллера SJA1000):

BTR = Pclk/(BRP * (1 + Tseg1 + Tseg2))

BTR – скорость передачи данных,

Pclk – частота работы CAN контроллера,

BRP – значение предделителя частоты генератора скорости передачи

Tseg1 – первый сегмент

Tseg2 – Второй сегмент

Для проверки возьмем уже посчитанную скорость 125Кбит/c и попробуем получить настройки вручную. Pclk возьмем 16 МГц.

BRP = 16МГц /(125K * (1 + Tseg1 + Tseg2))

Затем подбираем интервал передачи бита находящийся в диапазоне от 8 до 25 квантов времени, так что бы получилось целое значение BRP. В нашем случае если взять (1 + Tseg1 + Tseg2) = 16, то BRP будет равен 30.

SP = ((1 + Tseg1 + Tseg2) * 70)/100

Подставляем значения и получаем 16 * 0.7 = 11.2, что соответствует соотношению Tseg1 = 10, Tseg2 = 5, т.е. 1 + 10 + 5 = 16. Далее смотрим если Tseg2 >= 5, то SJW = 4, если Tseg2 < 5, то SJW = (Tseg2 – 1). В нашем случае SJW = 4.

Итого для получения скорости 125Кбит/c необходимо в параметрах указать, BRP = 30, Tseg1 = 10, Tseg2 = 5, SJW = 4.

P.S. Конфигурирование baud rate значительно отличается между старыми модулями USB-CANmodul (GW-001 и GW-002) с контроллером SJA1000 и новыми модулями sysWORXX с контроллером AT91SAM7A3. В статье описывающей работу с бортовым CAN автомобиля на скорости 83кбит/c приведен расчет скорости для контроллера AT91SAM7A3.


Пример получения и передачи данных по CAN-интерфейсу

В примере будем использовать CAN-адаптер с программой PcanView от SYSTEC и подключимся к салонному CAN автомобиля, работающему со скоростью 125Кбит/с. Рассматриваемый нами автомобиль оснащен креслами с электроприводом и поэтому исследуем данные отвечающие за положение кресел и постараемся изменить положение спинки подменив пакет с помощью компьютера.

Для начала на схеме автомобиля находим наиболее удобно расположенный разъем с линиями CANH и CANL и подключаем к нему наш адаптер. Если разъем и провода найти не получилось, то можно подлезть к блоку управления кресла, найти там два скрученных между собой провода и аккуратно надрезав провода подключить адаптер. Если после подключения и настройки адаптера сообщения не приходят, то в первую очередь попробуйте поменять между собой CANH CANL и проверить включено ли зажигание.
Далее запускаем программу PcanView, в открывшемся окне настроек устанавливаем Baudrate = 125Кбит/c и нажимаем ОК (рисунок 4). В следующем окне устанавливаем Message filter = Standard, диапазон адресов от 000 до 7FF и нажимаем ОК (рисунок 6).



Рисунок 6 – Настройка CAN фильтра

Если все сделано правильно, то мы увидим сообщения от кресел (рисунок 7), а при нажатии кнопки наклона спинки на пульте управления мы увидим еще одно сообщение с адресом 1F4 идущее от пульта к креслу (рисунок 8).



Рисунок 7 – CAN сообщения от кресла с электроприводом


Рисунок 8 – CAN сообщения от кресла с электроприводом и сообщение от пульта управления к креслу

Теперь мы знаем какие должны быть адрес, длина и данные в CAN пакете для имитации нажатия кнопки изменения положения спинки. Во вкладке Transmit нажимаем NEW и в открывшемся окне создаем копию пакета 1F4, т.е. ID = 1F4, Length = 3, Data = 40 80 00. Period можно оставить 0 ms, тогда сообщения будут отправляться по факту нажатия кнопки пробел (рисунок 9).



Рисунок 9 – Создание CAN сообщения

На рисунке 10 отображено поле Transmit главного окна содержащее все отправляемые сообщения в CAN и информацию о них. При выделении сообщения и нажатии кнопки пробел произойдет отправка пакета в CAN сеть и кресло немного сдвинется в нужном направлении.



Понятное дело, что добиться полноценного управления креслом в таком случае не получиться, т.к. мы не можем исключить из сети пакеты заводского пульта управления, но эта проблема вполне решаема.

Итог

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

Бортовые системы электроники в современных легковых и грузовых автомобилях обладают огромным количеством дополнительных устройств и исполнительных механизмов. Для того, чтобы обмен информацией между всеми устройствами был максимально эффективен, в автомобиле должна быть надежная коммуникационная сеть. В начале 80-ых годов 20 века компания Bosch и разработчик Intel предложили новый сетевой интерфейс – Controller Area Network, который в народе называется Can-шина.

1 О принципе работы сетевого интерфейса CAN-шина

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

Кроме того, различных систем автомобиля своими руками стала проще. За счет применения подобной системы в составе бортовой сети автомобиля высвободилось определенное количество проводников, которые способны обеспечивать связь по различным протоколам, например, между блоком управления двигателем и диагностическим оборудованием, системой сигнализации. Именно наличие Кан-шины в автомобиле позволяет владельцу своими руками выявлять неисправности контроллеров и ошибки с помощью специального диагностического оборудования.

CAN-шина это специальная сеть, с помощью которой осуществляется передача и обмен данными между различными узлами управления. Каждый из узлов состоит из микропроцессора (CPU) и CAN-контроллера, с помощью которого реализуется исполняемый протокол и обеспечивается взаимодействие с сетью автомобиля. Шина Кан имеет минимум две пары проводов – CAN_L и CAN_H, по которым и передаются сигналы посредством трансиверов – приемо-передатчиков, способных усиливать сигнал от управляющих устройств сети. Кроме того, трансиверы выполняют и такие функции как:

  • регулировка скорости передачи данных посредством усиления или уменьшения подачи тока;
  • ограничение тока для предотвращения повреждения датчика или замыкания линий передачи;
  • тепловая защита.

На сегодняшний день признаны два вида трансиверов – High Speed и Fault Tolerant. Первый тип наиболее распространен и соответствует стандарту (ISO 11898-2), он позволяет передавать данные со скоростью до 1МБ в секунду. Второй тип приемопередатчиков позволяет создать энергосберегающую сеть, со скоростью передачи до 120 Кб/сек, при этом подобные передатчики не имеют чувствительности к каким-либо повреждениям на самой шине.

2 Особенности работы сети

Следует понимать, что данные по CAN-сети передаются в виде кадров. Наиболее важные из них – это поле идентификатора (Identifire) и система данных (Data). Наиболее часто используемый тип сообщения по Кан-шине – Data Frame. Данный тип передачи данных состоит из так называемого арбитражного поля и определяет приоритетную передачу данных в том случае, если сразу несколько узлов системы передают данные на CAN-шину.

Каждое из подключенных к шине устройств управления имеет свое входное сопротивление, а общая нагрузка рассчитывается из суммы всех подключенных к шине исполняемых блоков. В среднем, входное сопротивление систем управления двигателем, которые подключаются на CAN-шину, составляет 68-70 Ом, а сопротивление информационно-командной системы может составлять до 3-4 ОМ.

3 Кан-интерфейс и диагностика системы

Системы управления CAN имеют не только различное нагрузочное сопротивление, но и разную скорость передачи сообщений. Этот факт усложняет обработку однотипных сообщений внутри бортовой сети. Для упрощения диагностики на современных автомобилях используется межсетевой интерфейс (преобразователь сопротивления), который либо выполнен в качестве отдельного управляющего блока, либо встроен в ЭБУ двигателя автомобиля.

Подобный преобразователь также предназначен для ввода или вывода определенной диагностической информации по проводу "К"-линия, который подключается во время диагностики или изменения параметров работы сети либо в диагностический разъем либо непосредственно к преобразователю.

Важно отметить, что определенных стандартов для разъемов сети Can на сегодняшний день не существует. Поэтому каждый из протоколов определяет свой тип разъемов на CAN-шине, в зависимости от нагрузки и других параметров.

Таким образом, при проведении диагностических работ своими руками используется унифицированный разъем типа OBD1 или OBD2, который можно встретить на большинстве современных иномарок и отечественных автомобилей. Однако, некоторые модели автомобилей, например Volkswagen Golf 5V, Audi S4, не имеют межсетевого интерфейса. Кроме того, схема блоков управления и CAN-шины индивидуальна для каждой марки и модели авто. Для того, чтобы провести диагностику CAN-системы своими руками, используется специальная аппаратура, которая состоит из осциллографа, анализатора CAN и цифрового мультиметра.

Работы по выявлению неисправностей начинаются со снятия напряжения сети (снятие минусовой клеммы АКБ). Далее определяется изменение сопротивления между проводами шины. Самыми распространенными видами неисправности Кан-шины в автомобиле является замыкание или обрыв линии, выход из строя резисторов нагрузки и снижение уровня передачи сообщений между элементами сети. В некоторых случаях без применения анализатора Can выявить неисправность не получается.

X Вам все еще кажется что диагностика авто это сложно?

Если вы читаете эти строки, значит у вас есть интерес сделать что-то самому в машине и реально сэкономить , потому что вам уже знакомо что:

  • СТО ломят большие деньги за простую компьютерную диагностику
  • Чтобы узнать ошибку надо ехать к специалистам
  • В сервисах работают простые гайковерты, а хорошего спеца не найти

И вы конечно устали выбрасывать деньги на ветер, а о том чтобы кататься по СТО постоянно не может быть и речи, тогда вам нужен простой АВТОСКАНЕР ROADGID S6 Pro, который подключается к любому авто и через обычный смартфон вы всегда найдете проблему, погасите CHECK и неплохо сэкономите!!!

Мы сами протестировали этот сканер на разных машинах и он показал отличные результаты, теперь мы его рекомендуем ВСЕМ! Чтобы вы не попались на китайскую подделку, мы публикуем тут ссылку на официальный сайт Автосканера.