Can-шина
Содержание:
- Типы сообщений
- Использование CAN сети в автомобилях
- Что такое CAN-шина
- События
- Разрешение конфликтов на шине
- Схемы CAN-шины
- Выбор номера автомобиля
- Система передачи данных по шине CAN
- Стандартный кадр CAN
- Инструкция по подключению сигнализации по CAN-шине
- Работа с терминалом
- Кадры сообщений CAN
- Скорость передачи данных CAN-шины
- Арбитраж и сигналы на шине CAN
Типы сообщений
Протоколом предусматривается использование при обмене информацией посредством шины CAN четырех типов команд.
- Data Frame. Такой тип сообщений (фреймов) передает сигналы с определенным идентификатором.
- Error Frame представляет собой сообщение сбоя в процессе обмена. Он предлагает повторить действия сначала.
- Overload Frame. Послание появляется в момент необходимости перезапустить работу контроллера.
- Request Frame Remout Transmission обозначает запрос данных, где именно находится идентификатор.
I — CAN-шина;
II — резистор сопротивления;
III — интерфейс.
В процессе приема-передачи информации на проведение одной операции отводится определенное время. Если оно вышло, формируется фрейм ошибки. Error Frame также длится определенное количество времени. Неисправный блок автоматически отключается от шины при накоплении большого количества ошибок.
Использование CAN сети в автомобилях
Существует четыре основных приложения для последовательной связи в транспортных средствах, каждое из которых имеет разные требования и цели.
• Сетевые контроллеры для синхронизации двигателя, трансмиссии, шасси и тормозов. Скорости передачи данных находятся в диапазоне — типичном для систем реального времени от 200 кбит /с до 1 Мбит /с.
• Сетевые компоненты общей электроники и электроники шасси, которые делают автомобиль более комфортным. Примерами таких мультиплексных применений являются управление освещением, кондиционирование воздуха и центральный замок, а также регулировка сиденья и зеркала. Особое значение здесь должно быть уделено стоимости компонентов и требованиям к проводке. Типичная скорость передачи данных составляет около 50 кбит / с.
• В ближайшем будущем последовательная связь также будет использоваться в области мобильной связи, чтобы связать такие компоненты, как автомобильные радиоприемники, автомобильные телефоны, навигационные средства и т. д., с центральной более эргономичной панелью управления. Функции, определенные в проекте «Прометей», такие как связь между транспортным средством и транспортным средством, будут в большой степени зависеть от последовательной связи.
• В настоящее время CAN используется для первых трех приложений, но для диагностики предпочтительным решением является интерфейс в соответствии со стандартом ISO 9141.
Что такое CAN-шина
Электронный КАН-интерфейс в авто представляет собой сеть контроллеров, использующихся для объединения всех управляющих модулей в единую систему.
Данный интерфейс представляет собой колодку, с которой можно соединять посредством проводов блоки:
- противоугонного комплекса, оборудованного функцией автозапуска либо без нее;
- системы управления мотором машины;
- антиблокировочного узла;
- системы безопасности, в частности, подушек;
- управления автоматической коробкой передач;
- контрольного щитка и т. д.
Устройство и где находится шина
Конструктивно CAN-шина представляет собой блок, выполненный в пластиковом корпусе, либо разъем для подсоединения кабелей. Цифровой интерфейс состоит из нескольких проводников, которые называются CAN. Для подключения блоков и устройств используется один кабель.
Место монтажа устройства зависит от модели транспортного средства. Обычно этот нюанс указывается в сервисном руководстве. СAN-шина устанавливается в салоне автомобиля, под контрольным щитком, иногда может располагаться в подкапотном пространстве.
Как работает?
Принцип работы автоматической системы заключается в передаче закодированных сообщений. В каждом из них имеется специальный идентификатор, являющийся уникальным. К примеру, «температура силового агрегата составляет 100 градусов» или «скорость движения машины 60 км/ч». При передаче сообщений все электронные модули будут получать соответствующую информацию, которая проверяется идентификаторами. Когда данные, передающиеся между устройствами, имеют отношение к конкретному блоку, то они обрабатываются, если нет — игнорируются.
Длина идентификатора CAN-шины может составить 11 либо 29 бит.
Каждый передатчик информации одновременно выполняет считывание данных, передающихся в интерфейс. Устройство с более низким приоритетом должно отпустить шину, поскольку доминантный уровень с высоким показателем искажает его передачу. Одновременно пакет с повышенным значением остается нетронутым. Передатчик, который потерял связь, спустя определенное время ее восстанавливает.
Интерфейс, подключенный к сигналке или модулю автоматического запуска, может функционировать в разных режимах:
- Фоновый, который называется спящим или автономным. Когда он запущен, все основные системы машины отключены. Но при этом на цифровой интерфейс поступает питание от электросети. Величина напряжения минимальная, что позволяет предотвратить разряд аккумуляторной батареи.
- Режим запуска или пробуждения. Он начинает функционировать, когда водитель вставляет ключ в замок и проворачивает его для активации зажигания. Если машина оборудована кнопкой Старт/Стоп, это происходит при ее нажатии. Выполняется активация опции стабилизации напряжения. Питание подается на контроллеры и датчики.
- Активный. При активации этого режима процедура обмена данными осуществляется между регуляторами и исполнительными устройствами. Параметр напряжения в цепи увеличивается, поскольку интерфейс может потреблять до 85 мА тока.
- Деактивация или засыпание. Когда силовой агрегат останавливается, все системы и узлы, подключенные к шине CAN, перестают функционировать. Выполняется их деактивация от электрической сети транспортного средства.
Характеристики
Технические свойства цифрового интерфейса:
- общее значение скорости передачи информации составляет около 1 Мб/с;
- при отправке данных между блоками управления различными системами этот показатель уменьшается до 500 кб/с;
- скорость передачи информации в интерфейсе типа «Комфорт» — всегда 100 кб/с.
Канал «Электротехника и электроника для программистов» рассказал о принципе отправки пакетных данных, а также о характеристиках цифровых адаптеров.
События
CANopen поддерживает несколько способов передачи данных реального времени.
При возникновении какого-либо события можно послать PDO сообщение. Например, устройство дискретного ввода-вывода может отсылать состояние своих выводов в сеть при их изменении. Такой способ позволяет минимизировать загрузку сети и увеличить ее пропускную способность.
Возможен синхронный режим передачи данных. В этом режиме устройства синхронизируют передачу данных в сеть с часами Master устройства. Этот режим особенно полезен когда контуры управления замыкаются через сеть (так называемые сетевые системы управления).
Кроме перечисленных выше способов передачи данных, можно использовать передачу по запросу (polling). В любой момент можно использовать PDO сообщение для инициации передачи данных устройством. Эта схема использует RTR бит CAN кадра.
Разрешение конфликтов на шине
Когда сигналы, поступающие на шину, приходят на несколько контроллеров, система выбирает, в какой очередности будет обработан каждый. Два или более устройства могут начать работу практически одновременно. Чтобы при этом не возник конфликт, производится мониторинг. CAN-шина современного автомобиля производит эту операцию в процессе отправки сообщения.
Существует градация сообщений по приоритетной и рецессивной градации. Информация, имеющая самое низкое числительное выражение поля арбитража, выиграет при наступлении конфликтного положения на шине. Остальные передатчики постараются отослать свои фреймы позже, если ничего не изменится.
В процессе передачи информации время, указанное в нем, не теряется даже при наличии конфликтного положения системы.
Схемы CAN-шины
Такая схема подключения устройств называется параллельной схемой подключения. Для достижения максимальной скорости волновые сопротивления блоков должны согласовываться. Если выходит из строя один из блоков (трансмиттеров), этот блок может «завалить» всю шину.
Все сообщения, которые передаются по шине, имеют определенный цифровой код.
Это позволяет производить компьютерную диагностику при помощи опроса блоков по шине.
Диагностическое устройство преобразует цифровые коды и сигнал в абсолютные значения либо коды ошибок.
В спящем режиме CAN-шина полностью не бездействует. Большинство автомобилей используют шину для организации сбора информации дла системы сигнализации и охраны, собирая информацию по шине о датчиках проникновения, контактных устройствах.
Выбор номера автомобиля
Войдите в режим программирования и однократным нажатием на сервисную кнопку выберите первый раздел меню программирования. Один звуковой сигнал подтвердит выбор первого раздела меню.
Нажмите сервисную кнопку число раз, соответствующее первой цифре номера автомобиля. Система подтвердит ввод значения серией звуковых сигналов, количество которых будет соответствовать первой цифре номера автомобиля.
Аналогично введите остальные цифры номера автомобиля, дожидаясь звукового подтверждения охранного комплекса после ввода каждой цифры.
Через 2 секунды после подтверждения ввода последней цифры номера автомобиля, система выдаст одну из серий звуковых сигналов:
- 2 коротких сигнала — номер введен правильно и записан в память охранного комплекса;
- 4 коротких сигнала — произошла ошибка, введенный номер сохранен не будет.
После завершения ввода номера автомобиля (независимо от результата) будет осуществлен переход в основное меню программирования.
Система передачи данных по шине CAN
Логические состояния шин и шифрование
Для обмена данными шина CAN использует два состояния «доминантное» и «рецессивное», с помощью которых передаются информационные биты. Доминантное состояние соответствует «0», а рецессивное — «1». Для шифрования передачи используется процесс NRZ (без возврата на ноль), в котором нулевое состояние не всегда возвращается в промежуток между двумя одинаковыми состояниями передачи и, соответственно, необходимый для синхронизации временной интервал между двумя фронтами может оказаться слишком большим.
В основном используется двухпроводной кабель, в зависимости от окружающих условий, с витой или не витой парой. Две шинные линии называются CAN-H и CAN-L (рис. «Уровень напряжения передачи по CAN» ).
Двухпроводный кабель обеспечивает симметричную передачу данных, при которой биты передаются через обе шинные линии с использованием разных напряжений. Это уменьшает чувствительность к синфазным помехам, поскольку помехи влияют на обе линии и могут быть отфильтрованы путем создания разности (рис. «Фильтрация помех по шине CAN» ).
Однопроводный кабель представляет собой способ сокращения производственных затрат за счет экономии на втором кабеле. Однако общее подключение к массе, выполняющей функцию второго кабеля, должно быть доступно для этой цели всем пользователям шины. Поэтому однопроводный вариант шины CAN возможен только для системы связи с ограниченным монтажным пространством. Передача данных по однопроводному кабелю более чувствительна к излучаемым помехам — он не позволяет фильтровать импульсы помех так, как в двухпроводном кабеле. В результате на шинной линии требуется сигнал более высокого уровня. Это, в свою очередь, отрицательно сказывается на излучении помех. Поэтому необходимо снизить крутизну фронта импульсов сигналов шины по сравнению с двухпроводным кабелем. Это связано с уменьшением скорости передачи данных. По этой причине однопроводной кабель используется только для низкоскоростной шины CAN в области кузова и электроники для функций комфорта. Например, низкоскоростная шина CAN с двухпроводным кабелем в случае обрыва кабеля должна продолжать работать как однопроводная система. Однопроводное решение не описывается в спецификации CAN.
Уровни напряжения шины CAN
Высокоскоростные и низкоскоростные шины CAN используют разные уровни напряжения для передачи доминантных и рецессивных состояний. Уровни напряжения низкоскоростной шины CAN показаны на рис. а, «Уровень напряжения передачи по CAN», а высокоскоростной — на рис. Ь, «Уровень напряжения передачи по CAN».
Высокоскоростная шина CAN в рецессивном состоянии на обеих линиях использует номинальное напряжение 2,5 В. В доминантном состоянии на CAN-H и CAN-L подается номинальное напряжение 3,5 В и 1,5 В, соответственно. В низкоскоростной шине CAN в рецессивном состоянии на CAN-H подается напряжение 0 В (максимум 0,3 В), на CAN-L — 5 В (минимум 4,7 В). В доминантном состоянии на CAN-H напряжение составляет не менее 3,6 В, а на CAN-L не более 1,4 В.
Предельные значения
Для арбитражного метода в случае CAN важно, чтобы все узлы в сети видели биты идентификатора фрейма одновременно, чтобы узел, передавая бит, видел, передают ли их другие узлы. Задержки возникают из-за распространения сигнала в шине данных и обработки в трансивере
Таким образом, максимально допустимая скорость передачи данных зависит от общей длины шины. Стандарт ISO предусматривает скорость 1 Мбит/с для 40 м. У более длинных проводов возможная скорость передачи данных примерно обратно пропорциональна длине провода. Сети с дальностью 1 км могут работать со скоростью 40 кбит/с.
Стандартный кадр CAN
Стандартный кадр сообщения CAN состоит из нескольких битовых полей. Они показаны на следующем рисунке.
Первый бит – это начало кадра (SOF). Этот доминирующий бит представляет начало сообщения CAN. Далее идет 11-битный идентификатор, который устанавливает приоритет сообщения CAN. Чем меньше идентификатор, тем выше приоритет сообщения.
Бит запроса удаленной передачи (RTR) обычно является доминантным, но он становится рецессивным, когда один узел запрашивает данные у другого. Бит расширения идентификатора (IDE) является доминантным, когда отправляется стандартный кадр CAN, а не расширенный. Бит r0 зарезервирован и в настоящее время не используется. Кусок кода длины данных (DLC) показывает, сколько байтов данных содержится в этом сообщении.
Далее идут сами данные, представляющие собой столько байтов, сколько представлено в битах DLC. Циклическая проверка избыточности (CRC) – это 16-битная контрольная сумма для обнаружения ошибок в передаваемых данных. Если сообщение принято правильно, принимающий узел перезаписывает рецессивный бит подтверждения (ACK) доминантным битом. ACK также содержит бит-разделитель для синхронизации. Конец кадра (EOF) означает конец сообщения CAN и имеет ширину 7 бит для обнаружения ошибок вставки битов. Последняя часть сообщения CAN – это межкадровое пространство (IFS), используемое в качестве временной задержки. Эта временная задержка точно соответствует времени, необходимому контроллеру CAN для перемещения полученного сообщения в буфер для дальнейшей обработки.
Инструкция по подключению сигнализации по CAN-шине
При монтаже противоугонной системы простой вариант ее соединения с бортовой сетью — связать охранную установку с цифровым интерфейсом. Но такой метод возможен при наличии КАН-шины в автомобиле.
Чтобы произвести установку автосигнализации и подключить ее к CAN-интерфейсу, необходимо знать место монтажа блока управления системой.
Если сигналку ставили специалисты, то надо обратиться за помощью с этим вопросом на СТО. Обычно устройство располагается за приборной панелью автомобиля или под ней. Иногда установщики ставят микропроцессорный модуль в свободное пространство за бардачком или автомагнитолой.
Для выполнения задачи потребуется:
- мультиметр;
- канцелярский нож;
- изолента;
- отвертка.
Пошаговые действия
Процедура подключения противоугонной установки к CAN-шине осуществляется так:
- Сначала надо убедиться, что все элементы охранного комплекса установлены и работают. Речь идет о микропроцессорном блоке, антенном модуле, сервисной кнопке, сирене, а также концевых переключателях. Если сигнализация имеет опцию автозапуска, надо убедиться в правильности монтажа этого устройства. Все элементы противоугонной установки подключаются к микропроцессорному блоку.
- Выполняется поиск основного проводника, идущего к CAN-шине. Он более толстый и его изоляция обычно окрашена в оранжевый цвет.
- Основной блок автосигнализации соединяется с данным контактом. Для выполнения задачи используется разъем цифрового интерфейса.
- Производится монтаж блока управления охранной системы, если он не был установлен. Его следует разместить в сухом и недоступном для посторонних глаз месте. После монтажа устройство надо качественно зафиксировать, иначе в процессе движения на него будут оказывать негативное воздействие вибрации. В результате это приведет к быстрой поломке модуля.
- Место соединения проводников тщательно изолируется, допускается использование термоусадочных трубок. Рекомендуется дополнительно обмотать изолентой провода. Это позволит увеличить их ресурс эксплуатации и не допустить стирания изоляционного слоя. Когда подключение будет выполнено, осуществляется проверка. Если возникли проблемы в передачи пакетных данных, с помощью мультиметра следует произвести диагностику целостности электроцепей.
- На завершающем этапе выполняется настройка всех каналов связи, в том числе дополнительных, если они имеются. Это позволит обеспечить бесперебойную работу охранной системы. Для настройки используется сервисная книжка, входящая в комплектацию противоугонной установки.
Пользователь Sigmax69 рассказал о соединении охранного комплекса с цифровым интерфейсом на примере автомобиля Хендай Солярис 2017.
Работа с терминалом
Перед эксплуатацией надо учесть рекомендации по использованию, которые указываются в сервисном руководстве. Предварительно производится настройка устройства.
Варианты настройки
Если используется терминал, есть два варианта настроить работу интерфейса:
- С помощью специальной программы «Конфигуратор» для компьютера. При запуске утилиты надо перейти во вкладку «Настройки» и выбрать пункт CAN. В открывшемся окне указываются необходимые параметры.
- Используя команды «CanRegime». Обычно этот вариант применяется для дистанционной настройки с использованием СМС-сообщений. Могут применяться команды, которые отправляются из программного обеспечения для мониторинга.
Подробнее о командах, которые указываются после CanRegime:
Mode — определяет режим функционирования. Если показана цифра 0 — то цифровой интерфейс отключен, если 1 — используется стандартный фильтр. Цифры 2 и 3 указывают на принадлежность пакетов к 29- либо 11-битному классу.
BaudRate. Команда предназначена для определения скорости работы цифрового интерфейса
Важно, чтобы этот параметр соответствовал скорости передачи информации в авто.
TimeOut — определяет время ожидания для каждого сообщения. Если полученная величина слишком низкая, то цифровой интерфейс сможет отловить не все передающиеся сообщения.
Кадры сообщений CAN
Так как же на самом деле выглядит сообщение CAN? В первоначальном стандарте ISO изложено то, что называется стандартом CAN. Стандарт CAN использует 11-битный идентификатор для разных сообщений, что в сумме составляет 211, т. е. 2048, разных идентификаторов сообщений. CAN был позже изменен; идентификатор был расширен до 29 бит, что дало 229 идентификаторов. Это называется расширенной шиной CAN. CAN использует мультимастерную шину, где все сообщения транслируются по всей сети. Идентификаторы обеспечивают приоритет сообщения для арбитража.
CAN использует дифференциальный сигнал с двумя логическими состояниями, называемыми рецессивным и доминантным. Рецессивный указывает, что дифференциальное напряжение меньше минимального порогового напряжения. Доминантный указывает, что дифференциальное напряжение больше, чем этот минимальный порог. Интересно, что доминантное состояние достигается путем передачи логического уровня «0» на шину, в то время как рецессивное состояние достигается с помощью логического уровня «1». Это инверсия от традиционных высоких и низких логических значений, используемых в большинстве систем. Эти два состояния будут подробно описаны далее
Важно то, что доминантное состояние приоритетнее рецессивного в арбитраже
Скорость передачи данных CAN-шины
Все составляющие сети CAN должны иметь единую скорость передачи информации. Однако данный стандарт не задает одного определенного параметра, ограничиваясь лишь максимальным пределом – 1Мбит/с. Изменения объема передаваемого кадра должно успеть распространиться по всей длине сети, что ставит в обратную зависимость скорости от протяженности – чем длиннее провод, тем ниже скорость. Для передачи 1Мбита за 1секунду нужная длина должна составлять не менее 40 метров. Добавьте к этому объективные факторы, снижающие скорость – защита от помех и разветвленная сеть, где происходят множественные отражения сигнала.
В угоду ускорения процесса, разработчики уменьшают протяженность проводов, одновременно увеличивая число цепей, с возможностью подключения большего количества приборов. Например, общая длина шины, составляющая 10 метров, способна пропускать через себя кадры, со скоростью 2 Мбит/c, с 64 подключенными приборами. Если автомобиль снабжен большим числом электрооборудования, то добавляется одна, две, и т. д. цепи.
Арбитраж и сигналы на шине CAN
CAN – это протокол CSMA/CD, означающий, что каждый узел на шине может обнаруживать коллизии и откатываться на определенное время перед попыткой повторной передачи. Это обнаружение коллизий достигается посредством арбитража приоритетов на основе идентификаторов сообщений. Прежде чем обсудить арбитраж, давайте подробнее рассмотрим доминантные и рецессивные биты, используемые на шине CAN.
Интересным аспектом шины CAN является то, что она использует инвертированную форму логики с двумя состояниями: доминантным и рецессивным. На рисунке ниже показана упрощенная версия вывода и ввода CAN-трансивера. Поток битов ‘101’ поступает с / идет на CAN-контроллер и / или микроконтроллер
Обратите внимание, что когда контроллер отправляет поток битов, они дополняются и помещаются в линию CANH. Линия CANL всегда является дополнением CANH
Чтобы арбитраж работал, устройство CAN должно отслеживать как то, что оно отправляет, так и то, что в данный момент находится на шине, то есть то, что оно получает.
На следующем рисунке показаны сигналы CANH и CANL одновременно, так что вы можете видеть шину CAN в действии. Под сигналами шины изображено дифференциальное напряжение, которое соответствует доминантному и рецессивному состояниям сигналов CAN. Первые три сегмента во времени, t1 – t3, нарисованы так, чтобы соответствовать трем битам, показанным на предыдущем рисунке. Мы рассмотрим это с точки зрения драйвера вывода. Ввод драйвера изначально видит «1» и дополняет его до нуля, который помещается в CANH. CANL видит дополнение CANH и переводится в высокое логическое состояние. Это показано как t1 на рисунке
Обратите внимание, что напряжения CANH и CANL смещены относительно друг друга. В течение времени t1 дифференциал CANH — CANL очень близок к нулю, так как CANH и CANL имеют почти одинаковое напряжение
Этот период, когда драйвер посылает логику «1», в результате чего CANH и CANL близки к одному и тому же напряжению, мы называем рецессивным состоянием CAN.
Следующий отправленный бит – «0». CANH получает свое дополнение, и CANL снова получает дополнение CANH
Обратите внимание, что на этот раз напряжения CANH и CANL не близки друг к другу. Следовательно, дифференциальное напряжение (VDIFF) больше
Это CAN-доминантное состояние. Мы говорим, что логика инвертирована, потому что «1» приводит к понижению логического уровня шины, а «0» — к повышению. Входной приемник работает аналогично.
Как упоминалось ранее, чем меньше 11-битный идентификатор, тем выше приоритет сообщения. Каждый бит, который передает узел, он контролирует. Таким образом, узел обнаруживает, что сообщение с более высоким приоритетом размещается на шине. В тот момент, когда узел отправляет рецессивный бит, но обнаруживает доминантный бит на шине, он «отступает». Это называется неразрушающим арбитражем, потому что «победившее» сообщение продолжает передаваться без каких-либо проблем
Обратите внимание, что рецессивная логика «1» проигрывает доминантной логике «0». Это имеет смысл, поскольку более низкое значение идентификатора представляет более высокий приоритет
Чтобы лучше понять, что это значит, взгляните на следующий рисунок, на котором показаны три узла на шине CAN, пытающиеся получить контроль
Важно помнить, что каждый раз, когда отображается рецессивный бит, контроллер отправляет «1», в то время как доминантные биты соответствуют отправке «0»
Узлы 1–3 все посылают поток битов. Этот поток битов представляет идентификаторы сообщений и их приоритет. Для начала все три узла отправляют «1», который представлен на шине CAN как рецессивный бит. Затем каждый узел отправляет «0» или доминанатный бит. Третий бит, помещенный в шину – это еще один бит «1» или рецессивный бит. На этом этапе ни один из узлов не обнаружил никакого конфликта с другим узлом на шине, поэтому они продолжают передавать.
Для четвертого бита узел 1 отправляет «0» или доминантный бит. Узел 2 передает рецессивный бит, но обнаруживает доминантный бит на шине. Он немедленно «отступает», зная, что в данный момент отправляется сообщение с более высоким приоритетом. Узел 3 продолжает передачу, поскольку он считывает тот же доминантный бит, который он передал. Когда пятый бит помещается в шину, узел 3 затем распознает, что он имеет более низкий приоритет, и прекращает передачу. И узел 2, и узел 3 ждут определенное количество времени, прежде чем пытаться снова. Это показано в правой части рисунка, где выиграл арбитраж узел 3. Как видите, логический бит «0», соответствующий младшему идентификатору сообщения, позволяет проводить арбитраж.