CAN-шина – как работает электроника в современных автомобилях? Измерение и диагностика шины CAN Кан шина как работает.

CAN-шина – как работает электроника в современных автомобилях? Измерение и диагностика шины CAN Кан шина как работает.

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

[ Скрыть ]

Где находится CAN-шина?

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

Эта автомобильная технология используется как колодка, с которой можно соединять следующие управляющие блоки:

  • «сигналки» — к противоугонной системе может подключаться модуль автоматического запуска двигателя;
  • антиблокировочной системы «АБС»;
  • механизмов безопасности, в частности, подушек и их датчиков;
  • системы управления силовым агрегатом автомобиля;
  • приборной комбинации;
  • системы круиз-контроля;
  • кондиционера и отопительного узла;
  • системы управления автоматической трансмиссией и т. д.

CAN-модуль — это устройство, место монтажа которого может отличаться производителем транспортного средства.

Если неизвестно, где расположен интерфейс, этот момент уточняется в сервисной документации к авто, он обычно устанавливается:

  • под капотом автомобиля;
  • в салоне транспортного средства;
  • под контрольной комбинацией.

Технические характеристики

Описание основных свойств системы диагностики и анализа CAN:

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

Назначение и функции кан-шины

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

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

Подробнее о назначении и общих характеристиках CAN-модуля рассказал канал «Crossover 159».

Устройство и принцип работы

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

Шина работает по принципу отправки данных в закодированном виде. Каждое передающееся сообщение обладает специальным уникальным идентификаторов. Может быть информация: «скорость передвижения авто составляет 50 км/ч», «температура охлаждающей жидкости 90 градусов Цельсия» и т. д. При отправке сообщений все электронные блоки получают данные, проверяющиеся идентификаторами. Если информация имеет отношение к определенному модулю, то она обрабатывается, если нет — то игнорируется.

В зависимости от модели, длина идентификатора интерфейса может быть 11 или 29 бит.

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

Работа CAN-шины возможна в нескольких режимах:

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

Пользователь Valentin Belyaev подробно рассказал о принципе действия цифрового интерфейса.

Преимущества и недостатки

Если автомобиль оснащен цифровым интерфейсом, это обеспечивает следующие плюсы:

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

Разновидности и маркировка

По типу идентификаторов такие устройства делятся на два вида:

  1. CAN2, 0A. Это маркировка интерфейсов, которые могут работать в 11-битном формате передачи информации. Данная разновидность устройств не в состоянии определять ошибки импульсов от блоков, которые работают с 29 бит.
  2. CAN2, 0B. Это маркировка шин, работающих в формате 11 бит. Основная особенность заключается в возможности передачи информации на блоки управления при выявлении 29-битного идентификатора.

В зависимости от области применения, шины разделяются на три класса:

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

Канал «Diyordie» рассказал о назначении цифрового интерфейса, а также о его разновидностях в автомобиле.

Подключение сигнализации своими руками

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

Необходимые приборы и инструменты

Предварительно надо подготовить:

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

Пошаговая инструкция

Установка выполняется так:

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

Канал «Гаражный любитель» подробно рассказал об установке и подключении противоугонного комплекса Старлайн с CAN-шиной.

Работа с терминалом

Варианты настройки

Если используется терминал, есть два варианта настроить работу интерфейса:

  1. С помощью специальной программы «Конфигуратор» для компьютера. При запуске утилиты надо перейти во вкладку «Настройки» и выбрать пункт CAN. В открывшемся окне указываются необходимые параметры.
  2. Используя команды «CanRegime». Обычно этот вариант применяется для дистанционной настройки с использованием СМС-сообщений. Могут применяться команды, которые отправляются из программного обеспечения для мониторинга.

Подробнее о командах, которые указываются после CanRegime:

  1. Mode — определяет режим функционирования. Если показана цифра 0 — то цифровой интерфейс отключен, если 1 — используется стандартный фильтр. Цифры 2 и 3 указывают на принадлежность пакетов к 29- либо 11-битному классу.
  2. BaudRate. Команда предназначена для определения скорости работы цифрового интерфейса. Важно, чтобы этот параметр соответствовал скорости передачи информации в авто.
  3. TimeOut — определяет время ожидания для каждого сообщения. Если полученная величина слишком низкая, то цифровой интерфейс сможет отловить не все передающиеся сообщения.

Режимы работы

Существует несколько режимов функционирования терминала:

  1. FMS — в нем автовладелец может узнать общий расход горючего, обороты, пробег транспортного средства, нагрузку на оси, температуру силового агрегата. Допускается получение данные об объеме горючего в баке. Для работы в данном режиме выполняется вход в меню выбора типа фильтров программы «Конфигуратор». Указывается тип режима FMS, скорость цифрового интерфейса, после чего нажимается кнопка «Применить».
  2. Режим прослушки используется для получения сообщений, передающий через цифровой интерфейс. Чтобы работать с ним, надо зайти в программе в настройки шины CAN и выбрать один из рабочих параметров. Это может быть скорость интерфейса или время ожидания, тип фильтра в данном случае не играет роли. После указания параметров «кликается» клавиша «Прослушать».
  3. Для привязки информации, полученной посредством прослушивания цифрового интерфейса, используются пользовательские фильтры. После прослушки данных надо выбрать тип фильтрующей технологии (для 11 или 29 бит). Расшифровка данных производится в соответствии с технической документацией.
  4. Режим тестирования OBD2 используется для сканирования скорости отправки информации, а также класса идентификатора. Чтобы запустить эту функцию, автовладельцу надо подключиться напрямую к цифровому интерфейсу или . Включение режима осуществляется посредством входа в меню «Настройка» и выбора опции «Тест OBD2». В результате терминалом начнется отправка запросов с конкретными идентификаторами на различных скоростях интерфейса. Во вкладке «Устройство» можно ознакомиться с извлеченной и расшифрованной информацией.

Настройка мониторингового ПО

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

Отображение информации в системе сервера мониторинга

Скачать бесплатно инструкцию по установке и пользованию в формате PDF

Загрузить сервисное руководство по монтажу и эксплуатации по ссылкам в таблице.

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

Для выполнения этой задачи автовладелец должен иметь профессиональные навыки в области электроники:

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

Фотогалерея

Фото схем для самостоятельного изготовления анализатора приведены в этом разделе.

Сколько стоит?

Примерные цены на покупку КАН-устройств приведены в таблице.

Видео «Работа с CAN-шиной»

Канал «CAN-Hacker Automotive Data Bus Sollutions» показал способ работы с цифровым интерфейсом на примере автомобиля Рено Каптюр.

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


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

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

Современные автомобили всё больше подстраиваются под конкретные потребности людей. В них появилось много дополнительных систем и функций, которые связаны с необходимостью передачи определённой информации. Если бы к каждой такой системе пришлось подключать отдельные провода, как это было раньше, то весь салон превратился бы в сплошную паутину и водителю сложно было бы управлять машиной из-за большого количества проводов. Но решение этой проблемы нашлось – это установка Can-шины. Какая её роль водитель смогут узнать сейчас.

Can шина – имеет ли она что-то общее с обычными шинами и для чего нужна

ВНИМАНИЕ! Найден совершенно простой способ сократить расход топлива! Не верите? Автомеханик с 15-летним стажем тоже не верил, пока не попробовал. А теперь он экономит на бензине 35 000 рублей в год!

Услышав такое определение, как «CAN шина», неопытный водитель подумает что это ещё один вид автомобильной резины. Но на самом деле, к обычным шинам это устройство не имеет никакого отношения. Это устройство создавалось для того, чтобы не было необходимости устанавливать в машине кучу проводов, ведь управление всеми системами машин должно вестись из одного места. Can шина даёт возможность сделать салон автомобиля комфортным для водителя и пассажиров, ведь при её наличии не будет большого количества проводов, позволяет вести управление всеми системами машины и подключать в удобный способ дополнительное оборудование – трекеры, сигнализации, маяки, секретки и другое. В машина старого образца ещё нет такого приспособления, это доставляет много неудобств. Цифровая шина лучше справляется с поставленными на неё задачами, а стандартная система – с кучей проводов, является сложной и неудобной.

Когда была разработана цифровая CAN шина и какое её назначение

Разработка цифровой шины началась ещё в двадцатом веке. Ответственность за этот проект взяли на себя две компании – INTEL и BOSCH.
После некоторых совместных усилий, специалистами этих компаний был разработан сетевой индикатор – CAN. Это была проводная система нового образца, по которой передаются данные. Такую разработку назвали шиной. Она являет собой два витых провода достаточно крупной толщины и по ним передаётся вся необходимая информация для каждой из систем автомобиля. Есть и шина, которая представляет из себя жгут проводов – её называют параллельной.

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

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

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

Can шина – параметры скорости и особенности передачи данных

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

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

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

Цифровая шина – это целая сеть контролёров, которые объединились в одно компактное устройство и имеют возможность быстро получать или передавать информацию, запуская или отключая определённые системы. Последовательный режим передачи данных делает работу системы более слаженной и корректной. CAN шина – это механизм, который имеет тип доступа Collision Resolving и при установке дополнительного оборудования необходимо учитывать этот факт.

Могут ли возникать проблемы в работе кан шины

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

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

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

Если с цифровой шиной возникают проблемы и анализатор не может продолжать корректную работу не стоит пытаться самостоятельно решить эту проблему. Для грамотной диагностики и произведения необходимых действий необходима поддержка специалиста в этой области.

Какие системы входят в современную Can шину автомобиля

Все знают что кан шина – это анализатор информации и доступное устройство для передачи команд к основным и дополнительным системам транспортного средства, дополнительному оборудованию – автосигнализация, датчики, трекеры. Современная цифровая шина включает в себя следующие системы:

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

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

CAN шина, как подключается автосигнализация к цифровой шине

Анализатор цифровой шины справляется не только со внутренними системами и устройствами автомобиля. Подключение внешних элементов –сигнализация, датчики, другие устройства, добавляет цифровому устройству больше нагрузки, но при этом его продуктивность остаётся прежней. Автосигнализация, которая имеет адаптер для подключения к цифровой шине устанавливается по стандартной схеме, а для того, чтобы подключиться к CAN необходимо пройти несколько простых шагов:

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

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

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

Мой автомобиль Skoda Octavia 2011 г. в. не предлагает возможностей управления с телефона, поэтому я решил исправить этот недостаток, а заодно и добавить функцию голосового управления. В качестве шлюза между CAN шиной и телефоном я использую Raspberry Pi с шилдом CAN BUS и WiFi роутер TP-Link. Протокол общения агрегатов авто закрытый, и на все мои письма предоставить документацию протокола Volkswagen отвечал отказом. Поэтому единственный способ узнать, как общаются устройства в авто и научиться ими управлять является реверс-инжиниринг протокола CAN шины VW.

Я действовал поэтапно:

  1. Подключение к CAN шине авто
  2. Голосовое управление с помощью Homekit и Siri
В конце видео голосового управления стеклоподъемником.

Разработка CAN шилда для Raspberry Pi

Схему шилда взял здесь lnxpps.de/rpie , там же и описание выводов, для общения с CAN используются 2 микросхемы MCP2515 и MCP2551. К шилду подключаются 2 провода CAN-High и CAN-Low. В SprintLayout 6 развел плату, может кому пригодится CANBoardRPi.lay (на заглавном фото прототип шилда на макетке).

Установка ПО для работы с CAN шиной

На Raspbian 2-x годичной давность мне потребовалось пропатчить bcm2708.c, чтобы добавить поддержку CAN (возможно сейчас это не требуется). Для работы с CAN шиной нужно установить пакет утилит can-utils с github.com/linux-can/can-utils , после этого подгрузить модули и поднять can интерфейс:

# initialize insmod spi-bcm2708 insmod can insmod can-dev insmod can-raw insmod can-bcm insmod mcp251x # Maerklin Gleisbox (60112 and 60113) uses 250000 # loopback mode for testing ip link set can0 type can bitrate 125000 loopback on ifconfig can0 up
Проверяем, что интерфейс CAN поднялся командой ifconfig :

Проверить, что все работает можно отправив команду и получив ее.

В одном терминале слушаем:

Root@raspberrypi ~ # candump any,0:0,#FFFFFFFF
В другом терминале отправляем:

Root@raspberrypi ~ # cansend can0 123#deadbeef
Более подробный процесс установки описан здесь lnxpps.de/rpie .

Подключение к CAN шине авто

Немного изучив открытую документацию на CAN шину VW я выяснил, что у меня используется 2 шины.

Шина CAN силового агрегата , передающая данные со скоростью 500 кбит/с, связывает все обслуживающие этот агрегат блоки управления.

Например, к шине CAN силового агрегата могут быть подключены следующие приборы:

  • блок управления двигателем,
  • блок управления АБС,
  • блок управления системой курсовой стабилизации,
  • блок управления коробкой передач,
  • блок управления подушками безопасности,
  • комбинация приборов.
Шина CAN системы «Комфорт» и информационнокомандной системы , позволяющая передавать данные со скоростью 100 кбит/с между обслуживающими эти системы блоками управления.

Например, к шине CAN системы «Комфорт» и информационно<командной системы могут быть
подключены следующие приборы:

  • блок управления системой Climatronic или климатической установкой,
  • блоки управления в дверях автомобиля,
  • блок управления системой «Комфорт»,
  • блок управления с дисплеем для радио и навигационной системы.
Получив доступ к первой можно у управлять движением (в моем варианте на механике, как минимум можно управлять круиз контролем), получив доступ ко второй можно управлять магнитолой, климатом, центральным замком, стеклоподъемниками, фарами и др.

Обе шины связаны через шлюз, который находится в области под рулем, так же к шлюзу подключен диагностический OBD2 разъем, к сожаление через OBD2 разъем нельзя послушать трафик от обеих шин, можно только передать команду и запросить состояние. Я решил, что буду работать только с шиной «Комфорт» и самым удобным местом подключения к шине оказался разъем в водительской двери.

Теперь я могу слушать, все что происходит в CAN шине «Комфорт» и отправлять команды.

Разработка сниффера и изучение протокола CAN шины


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

Все утилиты из набора can-utils сами умеют разбирать CAN пакеты и отдают только полезную информацию, а именно:

  • Идентификатор
  • Длина данных
  • Данные
Данные передаются в не зашифрованном виде, это облегчило изучение протокола. На Raspberry Pi я написал маленький сервер который перенаправляет данные с candump в TCP/IP, чтобы на компьютере разобрать поток данных и красиво показать их.

Для macOS я написал простое приложение, которое для каждого адреса устройства добавляет ячейку в табличку и в этой ячейке я уже вижу какие данные меняются.

Нажимаю кнопку стеклоподъемника я нашел ячейку в которой меняются данные, затем я и определил какие команды соответствуют нажатию вниз, нажатию вверх, удержанию вверх, удержанию вниз.

Проверить, что команда работает, можно отправив из терминала, например команду поднять левое стекло вверх:

Cansend can0 181#0200
Команды, которые передают устройства по CAN шине в автомобилях VAG (Skoda Octavia 2011), полученные методом реверс-инжиниринг:

// Front Left Glass Up 181#0200 // Front Left Glass Down 181#0800 // Front Right Glass Up 181#2000 // Front Right Glass Down 181#8000 // Back Left Glass Up 181#0002 // Back Left Glass Down 181#0008 // Back Right Glass Up 181#0020 // Back Right Glass Down 181#0080 // Central Lock Open 291#09AA020000 // Central Lock Close 291#0955040000 // Update Light status of central lock (Когда отправляешь команду открыть/закрыть замок то на кнопке управления замком светодиод не изменяет состояние, чтобы он показал реальное состояние центрального замка, нужно отправить команду обновления) 291#0900000000
Мне было лень изучить все остальные устройства, поэтому в этом списке, только то что мне было интересно.

Разработка приложения для телефона

Используя полученные команды я написал приложение для iPhone, которое открывает/закрывает стекла и управляет центральным замком.

На Raspberry Pi я запустил 2 маленьких сервера, первый отправляет данные с candump в TCP/IP, второй принимает команды от iPhone и передает их cansend.


Исходники приложения управления авто для iOS

// // FirstViewController.m // Car Control // // Created by Vitaliy Yurkin on 17.05.15. // Copyright (c) 2015 Vitaliy Yurkin. All rights reserved. // #import "FirstViewController.h" #import "DataConnection.h" #import "CommandConnection.h" @interface FirstViewController () @property (nonatomic, strong) DataConnection *dataConnection; @property (nonatomic, strong) CommandConnection *commandConnection; @property (weak, nonatomic) IBOutlet UILabel *Door_1; @property (weak, nonatomic) IBOutlet UILabel *Door_2; @property (weak, nonatomic) IBOutlet UILabel *Door_3; @property (weak, nonatomic) IBOutlet UILabel *Door_4; @property (weak, nonatomic) IBOutlet UIButton *CentralLock; - (IBAction)lockUnlock:(UIButton *)sender; @end @implementation FirstViewController - (void)viewDidLoad { self.dataConnection = ; self.dataConnection.delegate = self; ; self.commandConnection = ; ; } - (void)didReceiveMemoryWarning { ; // Dispose of any resources that can be recreated. } - (void)doorStatusChanged:(char)value { /* 1 - Front Left Door 2 - Front Right Door 4 - Back Left Door 8 - Back Right Door 3 - Front Left&Right Door = 1 + 3 5 - Front& Back left Door = 1 + 4 */ // Front Left Door if (value & 1) { self.Door_1.backgroundColor = ; self.Door_1.text = @"Открыто"; NSLog(@"1"); } else { self.Door_1.backgroundColor = ; self.Door_1.text = @"Закрыто"; } // Front Right Door if (value & 2) { self.Door_2.backgroundColor = ; self.Door_2.text = @"Открыто"; NSLog(@"2"); } else { self.Door_2.backgroundColor = ; self.Door_2.text = @"Закрыто"; } // Back Left Door if (value & 4) { self.Door_3.backgroundColor = ; self.Door_3.text = @"Открыто"; NSLog(@"4"); } else { self.Door_3.backgroundColor = ; self.Door_3.text = @"Закрыто"; } // Back Right Door if (value & 8) { self.Door_4.backgroundColor = ; self.Door_4.text = @"Открыто"; NSLog(@"8"); } else { self.Door_4.backgroundColor = ; self.Door_4.text = @"Закрыто"; } } BOOL firstStatusChange = YES; BOOL lastStatus; -(void) centralLockStatusChanged:(BOOL)status { // At first status changes set lastStatus variable if (firstStatusChange) { firstStatusChange = NO; // Invert status, to pass the next test lastStatus = !status; } // Change Lock image only if status changed if (!(lastStatus == status)) { // Check status if (status) { forState:UIControlStateNormal]; } else { forState:UIControlStateNormal]; } lastStatus = status; } } // Front Left Glass - (IBAction)frontLeftUp:(UIButton *)sender { ; } - (IBAction)frontLeftDown:(id)sender { ; } // Front Right Glass - (IBAction)frontRightUp:(UIButton *)sender { ; } - (IBAction)frontRightDown:(id)sender { ; } // Back Left Glass - (IBAction)backLeftUp:(UIButton *)sender { ; } - (IBAction)backLeftDown:(id)sender { ; } // Back Right Glass - (IBAction)backRightUp:(UIButton *)sender { ; } - (IBAction)backtRightDown:(id)sender { ; } - (IBAction)lockUnlock:(UIButton *)sender { // If central lock closed if (lastStatus) { // Open ; int64_t delayInSeconds = 1; // 1 sec dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ ; }); } else { // Close ; int64_t delayInSeconds = 1; // 1 sec dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ ; }); } } @end


Есть способ не писать свое приложение для телефона, а воспользоваться готовым из мира умных домов, всего лишь потребуется установиться на Raspberry Pi систему автоматизации

Появление цифровых шин в автомобилях произошло позднее, чем в них начали широко внедряться электронные блоки. В то время цифровой «выход» им был нужен только для «общения» с диагностическим оборудованием – для этого хватало низкоскоростных последовательных интерфейсов наподобие ISO 9141-2 (K-Line). Однако кажущееся усложнение бортовой электроники с переходом на CAN-архитектуру стало ее упрощением.

Действительно, зачем иметь отдельный датчик скорости, если блок АБС уже имеет информацию о скорости вращения каждого колеса? Достаточно передавать эту информацию на приборную панель и в блок управления двигателем. Для систем безопасности это ещё важнее: так, контроллер подушек безопасности уже становится способен самостоятельно заглушить мотор при столкновении, послав соответствующую команду на ЭБУ двигателя, и обесточить максимум бортовых цепей, передав команду на блок управления питанием. Раньше же приходилось для безопасности применять не надежные меры вроде инерционных выключателей и пиропатронов на клемме аккумулятора (владельцы BMW с его «глюками» уже хорошо знакомы).

Однако на старых принципах реализовать полноценное «общение» блоков управления было невозможно. На порядок выросли объем данных и их важность, то есть потребовалась шина, которая не только способна работать с высокой скоростью и защищена от помех, но и обеспечивает минимальные задержки при передаче. Для движущейся на высокой скорости машины даже миллисекунды уже могут играть критичную роль. Решение, удовлетворяющее таким запросам, уже существовало в промышленности – речь идет о CAN BUS (Controller Area Network).

Суть CAN-шины

Цифровая CAN-шина – это не конкретный физический протокол. Принцип работы CAN-шины, разработанный Bosch еще в восьмидесятых годах, позволяет реализовать ее с любым типом передачи – хоть по проводам, хоть по оптоволокну, хоть по радиоканалу. КАН-шина работает с аппаратной поддержкой приоритетов блоков и возможностью «более важному» перебивать передачу «менее важного».

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

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

Для чего это нужно? Чтобы важные данные были переданы с минимумом задержек даже ценой того, что маловажные данные не будут переданы на шину (это отличает CAN шину от знакомого всем по компьютерам Ethernet). В случае аварии возможность ЭБУ впрыска получить информацию об этом от контроллера SRS несоизмеримо важнее, чем приборной панели получить очередной пакет данных о скорости движения.

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

Например, техническая документация Volkswagen определяет три типа применяемых CAN-шин:

  • «Быстрая» шина, работающая на скорости 500 килобит в секунду, объединяет блоки управления двигателем, ABS, SRS и трансмиссией.
  • «Медленная» функционирует на скорости 100 кбит/с и объединяет блоки системы «Комфорт» (центральный замок, стеклоподъемники и так далее).
  • Третья работает на той же скорости, но передает информацию только между навигацией, встроенным телефоном и так далее. На старых машинах (например, Golf IV) информационная шина и шина «комфорт» были объединены физически.

Интересный факт : на Renault Logan второго поколения и его «соплатформенниках» также физически две шины, но вторая соединяет исключительно мультимедийную систему с CAN-контроллером, на второй одновременно присутствуют и ЭБУ двигателя, и контроллер ABS, и подушки безопасности, и ЦЭКБС.

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

Но в витой паре на обоих проводах значение ЭДС помехи будет одинаковым, так что разница напряжений останется неизменной. Поэтому, чтобы найти CAN-шину в автомобиле, ищите витую пару проводов – главное не перепутать ее с проводкой датчиков ABS, которые так же для защиты от помех прокладываются внутри машины витой парой.

Диагностический разъем CAN-шины не стали придумывать заново: провода вывели на свободные пины уже стандартизированной в колодки, в ней CAN-шина находится на контактах 6 (CAN-H) и 14 (CAN-L).

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

Когда на шине не передаются данные или передается рецессивный бит, на обоих проводах витой пары вольтметр покажет по 2,5 В относительно «массы» (разница сигналов равна нулю). В момент передачи доминантного бита на проводе CAN-High напряжение поднимается до 3,5 В, в то время как на CAN-Low опускается до полутора. Разница в 2 вольта и означает «единицу».

На шине «Комфорт» все выглядит иначе:

Здесь «ноль» — это, наоборот, 5 вольт разницы, причем напряжение на проводе Low выше, чем на проводе High. «Единица» же – это изменение разности напряжений до 2,2 В.

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

«Расшифровка» CAN-шины автомобиля также ведется специализированным прибором – анализатором. Он позволяет выводить пакеты данных с шины в том виде, как они передаются.

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

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

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

В результате на приборной панели загорается целая «гирлянда» индикаторов. И, пока новичок в шоке будет чесать голову: «да что же это такое?», грамотный диагност первым делом поставит нормальный аккумулятор.

Чисто электрические проблемы – это обрывы проводов шины, их замыкания на «массу» или «плюс». Принцип дифференциальной передачи при обрыве любого из проводов или «неправильном» сигнале на нем становится нереализуем. Страшнее всего замыкание провода, поскольку оно «парализует» всю шину.

Представьте себе простую моторную шину в виде провода, на котором «сидят в ряд» несколько блоков – контроллер двигателя, контроллер АБС, приборная панель и диагностический разъем. Обрыв у разъема автомобилю не страшен – все блоки продолжат передавать информацию друг другу в штатном режиме, невозможной станет только диагностика. Если оборвать провод между контроллером АБС и панелью, мы сможем увидеть сканером на шине только ее, ни скорость, ни обороты двигателя она показывать не будет.

А вот при обрыве между ЭБУ двигателя и АБС машина, скорее всего, уже не заведется: блок, не «видя» нужный ему контроллер (информация о скорости учитывается при расчете времени впрыска и угла опережения зажигания), уйдет в аварийный режим.

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

Благо подключение CAN-шины сигнализации не разъем в разъем, а врезаясь непосредственно в шину автомобиля, дают «криворукому» установщику возможность перепутать провода местами. Автомобиль после этого не то что откажется заводиться – при наличии контроллера управления бортовыми цепями, распределяющего питание, даже зажигание не факт что включится.



© 2024 globusks.ru - Ремонт и обслуживание автомобилей для новичков