Как разбудить кан шину

Как разбудить кан шину

CAN шина, что же это такое? Много информации читал, но нихрена не понимал. А тут вот нашлось простое и доходчивое объяснение, которое поймёт и ребёнок. А может и не поймет…

В CAN сети все ЭБУ подключены к шине параллельно. Обмен данными производится короткими пакетами — сообщениями.

CAN сообщение
Каждое сообщение содержит идентификатор, который в сети является уникальным (например, «Температура двигателя 100 град» или «Скорость автомобиля 50 км/ч»). При передаче, все ЭБУ в сети получают сообщение и каждый из них проверяет идентификатор. Если сообщение имеет отношение к данному ЭБУ, то оно обрабатывается, в противном случае – игнорируется. Идентификатор может быть длиной 11 бит или 29 бит.

Арбитраж
В шине CAN биты 0 и 1 имеют ещё одно название: рецессивный уровень и доминантный уровень, соответственно. Если двумя разными передатчиками будет одновремнно передан рецессивный и доминантный уровни, то доминантный уровень подавит рецессивный. Этим механизмом подавления обеспечивается арбитраж на шине. Каждый передатчик одновремнено считывает то, что он предаёт в шину. Передатчик с более низким приоритетом вынужден отпустить шину, так как чужой доминантный уровень с более высоким приоритетом исказил его предачу. В то же время, пакет с более высоким уровнем остался неизменным. Передатчик, потерявший арбитраж, может повторить попытку через некоторе время.

Физический уровень
В автомобиле может применяться несколько типов шин CAN.

Высокоскоростной CAN (High speed) применяется в основном в сети управления двигателем и управления шасси. Там, где необходима высокая скорость реакции. Скорость обмена по этой шине 500 или 250 кбит/сек.

Схема подключения ЭБУ к высокоскоростной шине CAN

Низкоскоростной CAN (Low speed) применяется в сети управления кузова. Скорость обмена по этой шине, как правило, равняется 125 кбит/сек.

Схема подключения ЭБУ к низкоскоростной шине CAN

Однопроводный CAN (1-wire) Это удешевлённый варинат Low speed CAN, применяется в основном концерном GM. Используется для коммуникации между ЭБУ кузова машины. Работает на скорости 33,3 кбит/сек.

Схема подключения ЭБУ к однопроводной шине CAN

Надёжность
Двухпроводная шина сохраняет свою работоспособность при обрыве или замыкании одного из проводов (для двухпроводной шины).

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

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

Можно выделить четыре основные фазы работы шины:

Спящий режим
В этом режиме все ЭБУ, кроме ЭБУ замка, находятся в выключенном состоянии. На драйвер CAN подается питание. Драйвер так же находится в спящем состоянии. При этом, его энергопотребление составляет около 0,3 мА.
Пробуждение
Когда вставляется ключ зажигания или открывается дверь, замок выдаёт доминантное состояние в шину CAN. Это приводит к пробуждению CAN драйверов в спящих ЭБУ. Драйверы при обнаружении активности на шине включают стабилизаторы питания в своих ЭБУ.
Активный режим
В активном режиме ЭБУ постоянно обмениваются информацией. Энергопотребление каждого предатчика при доминантных уровнях может достигать 80 мА.
Засыпание
В момент выключения зажигания, по шине CAN выдаётся команда на выключение, после чего каждый ЭБУ сам себя обесточивает и преходит в спящий режим.
Примечание:
Для однопроводной шины CAN сигнал пробуждения имеет уровень 12 В, обычный обмен 0-4 В.

Немного отступлю от первоисточника.
Самый главный плюс, это очень высокая помехозащищённость сигнала. В чём прикол? Одновременно идут два дублирующих сигнала, только один высокий, второй низкий. Ловят они помеху. Помеха воздействует одинаково на оба сигнала. А на выходе у нас одинаковый уровень. Два уровня сигнала компенсируют помеху. Наглядно это выглядит вот так:

Вот такие пироги. Наткнулся тут : quantexlab

CAN-шина впадает в спячку.

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

Спасибо за любую помощь!

Если CAN не будет “засыпать” , то резко возростает энергопортебление и будет относительнго быстро разряжаться батарея.

Re: CAN-шина впадает в спячку.

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

самый лучший кан , не то что от мега-ф.

попробуй один из выходов сигналки подать на включение габаритов . как правило помогает.

Форум Авто Сигнализаций > Автосигнализации, иммобилайзеры, механическая защита > Тематические разделы продукции основных вендоров > Pandora, Pandect

Пандора 3500I и форд фокус III, проблемка с ЦЗ
Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha
Меню пользователя Старик
Посмотреть профиль
Найти ещё сообщения от Старик
Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha

Приветствую. Действительно, в С2 было несколько одинаковых проводов. Переподключил на нужный, всё заработало. Сейчас при открытии с брелка пандоры даже включается плафоны освещения салона.
Но, после засыпания все равно замки открываются только после второго нажатия на открыть. Первое нажатие снимает с сигналки, второе открывает замки. Где косяк не пойму?

Второй момент. При постановке на охрану поворотники мигают два раза а сирена пикает один раз, при снятии поворотники два раза, сирена два раза. Почему при постановке на охрану поворотники мигают лишний один раз?

Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha

byasha, у меня тоже фф3 тренд 2012 весна, зацеплено 2 канала на кнопку, статус ц.з. разрешен- никаких проблем нет с отпиранием/заперанием

По поводу аварийки — только на более свежих пандорах настратвается интервал, что бы корректно отмаргивался авто, пока пандора 3210 “нажимает” на кнопку, аварийка успевает дважды моргнуть

Меню пользователя SerjQwerty
Посмотреть профиль
Найти ещё сообщения от SerjQwerty
Меню пользователя Старик
Посмотреть профиль
Найти ещё сообщения от Старик

Уже осознал, и исправился

Добавлено через 15 минут

У меня ФФ3 июль 2013, видимо за год так намудрили с электроникой, что 10 минут и всё засыпает напрочь.

На данным момент решил проблему так: в настойках двухступенчатого запирания дверей разрешил I-9.15 “Двойной импульс для отпирания всех дверей” (канал, назначаемый для двухступенчатого отпирания дверей не назначал!, странно, почему двойной импульс заработал).
Сейчас при нажатии кнопки брелка пандоры сначала снимается с охраны, пикает и мигает, а только потом открываются замки дверей, то есть с некоторой задержкой.
На сколько критична такая работа ? Можно так и оставить?

Источник: lubimauto.ru

Форум по автобезопасности –
автосигнализации

Форум Авто Сигнализаций > Автосигнализации, иммобилайзеры, механическая защита > Тематические разделы продукции основных вендоров > Pandora, Pandect Пандора 3500I и форд фокус III, проблемка с ЦЗ

–>

Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha
Меню пользователя Старик
Посмотреть профиль
Найти ещё сообщения от Старик
Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha

Приветствую. Действительно, в С2 было несколько одинаковых проводов. Переподключил на нужный, всё заработало. Сейчас при открытии с брелка пандоры даже включается плафоны освещения салона.
Но, после засыпания все равно замки открываются только после второго нажатия на открыть. Первое нажатие снимает с сигналки, второе открывает замки. Где косяк не пойму?

Второй момент. При постановке на охрану поворотники мигают два раза а сирена пикает один раз, при снятии поворотники два раза, сирена два раза. Почему при постановке на охрану поворотники мигают лишний один раз?

Читайте также:  Зимние шины на шевроле лачетти хэтчбек какие лучше
Меню пользователя byasha
Посмотреть профиль
Найти ещё сообщения от byasha

byasha, у меня тоже фф3 тренд 2012 весна, зацеплено 2 канала на кнопку, статус ц.з. разрешен- никаких проблем нет с отпиранием/заперанием

По поводу аварийки – только на более свежих пандорах настратвается интервал, что бы корректно отмаргивался авто, пока пандора 3210 “нажимает” на кнопку, аварийка успевает дважды моргнуть

Меню пользователя SerjQwerty
Посмотреть профиль
Найти ещё сообщения от SerjQwerty
Меню пользователя Старик
Посмотреть профиль
Найти ещё сообщения от Старик

Уже осознал, и исправился

Добавлено через 15 минут

У меня ФФ3 июль 2013, видимо за год так намудрили с электроникой, что 10 минут и всё засыпает напрочь.

На данным момент решил проблему так: в настойках двухступенчатого запирания дверей разрешил I-9.15 “Двойной импульс для отпирания всех дверей” (канал, назначаемый для двухступенчатого отпирания дверей не назначал!, странно, почему двойной импульс заработал).
Сейчас при нажатии кнопки брелка пандоры сначала снимается с охраны, пикает и мигает, а только потом открываются замки дверей, то есть с некоторой задержкой.
На сколько критична такая работа ? Можно так и оставить?

Источник: www.alarmforum.ru

Побеждаем шину CAN. Часть 1. Технология

Сегодня я хочу познакомить вас с интересной микроконтроллерной платформой CANNY. Это обзорная статья в которой вы узнаете о технологии, а в последующих статьях я расскажу вам о работе с сообщениями CAN, интеграции CANNY c Arduino Mega Server и о тех возможностях, которые предоставляет эта связка.

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

Шина CAN

Образно говоря, шина CAN это нервная система вашего автомобиля. По ней передаётся вся информация о состоянии блоков и систем, а также управляющие команды, которые во многом определяют поведение автомобиля. Зажигание фар, открывание и закрывание дверей, управление проигрыванием музыки в салоне машины, срабатывание сигнализации и т. д. — всё это работает и управляется по этой шине.

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

Контроллеры CANNY

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

Флагманом линейки является контроллер CANNY 7, наиболее мощный и имеющий максимум возможностей. Большое количество памяти, мощные выходы, позволяющие напрямую управлять реле автомобиля, интеллектуальная система защиты от коротких замыканий, защита от бросков тока и напряжения в бортовой сети автомобиля — всё это делает этот контроллер отличным решением для воплощения любых ваших идей и проектов.

Кроме CANNY 7 в линейке контроллеров присутствует ещё несколько моделей, мы будем проводить свои эксперименты с более простой встраиваемой моделью CANNY 5 Nano. Она также поддерживает работу с CAN шиной, но при этом похожа на уже знакомую нам Arduino Nano.

Визуальное программирование

Развитая поддержка шины CAN это не единственная особенность этих контроллеров, кроме этого CANNY имеют свою собственную среду программирования, CannyLab, но не «обычную», а визуальную, где весь процесс написания программ сводится к манипулированию готовыми структурными блоками, заданию их параметров и соединению входов и выходов этих блоков в определённой последовательности, в соответствии с алгоритмом решаемой задачи.

Ни одной строчки кода!

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

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

CannyLab является бесплатной средой разработки и вы можете свободно скачать её с сайта разработчиков, она также не требует специальной процедуры инсталляции — достаточно распаковать файл с архивом — и вы можете начинать работу.

Подключение

Подключение CANNY 5 Nano к компьютеру мало чем отличается от подключения контроллеров Arduino. При наличии в системе драйвера Silicon Labs CP210x, либо после его установки из скаченного дистрибутива CannyLab, Windows создаёт виртуальный COM порт и CANNY готов к работе. В моём случае понадобилось ещё перезагрузить компьютер, но возможно это особенность моей системы.

Практические примеры

Давайте на простых примерах разберём, как в CannyLab выполнять действия, привычные нам в Arduino IDE. Начнём с традиционного мигания светодиодом.

В контроллере CANNY 5 на выводе С4 (Channel 4) присутствует тестовый светодиод (аналог светодиода, находящегося на 13 выводе в Arduino). И его тоже можно использовать для индикации и экспериментов, чем мы и воспользуемся.

Что же нужно, чтобы помигать светодиодом в контроллере CANNY? Нужно сделать всего две вещи — сконфигурировать пин четвертого канала как выход и подать на этот выход сигнал с ШИМ генератора. Все эти действия мы уже не раз проделывали в Arduino IDE, посмотрим как это выглядит в CannyLab.

Итак, конфигурируем пин четвертого канала как выход

Настраиваем генератор ШИМ. Задаём период 500 миллисекунд, заполнение — 250 миллисекунд (то есть 50 %) и 1 (true) на входе генератора «Старт» и… всё! Больше ничего делать не нужно — программа готова, осталось только залить её в контроллер.

Режим симуляции

Тут нужно сказать пару слов о процессе симуляции на компьютере работы контроллера и заливке разработанной программы в память «железного» контроллера.

Среда разработки CannyLab позволяет запускать и отлаживать программу, не записывая её в память контроллера. В режиме симуляции вы можете видеть результат работы программы прямо в реальном времени и даже вмешиваться в её работу.

Заливка в контроллер

Для работы контроллеров CANNY, перед заливкой программы (в терминологии разработчиков «диаграммы») нужно сначала залить операционную систему «Устройство/Системное ПО/Записать». Это нужно сделать только один раз, для этого нужно выбрать соответствующий вашему контроллеру файл с расширением .ccx.

После того, как программа написана и отлажена, её можно загрузить в ваш контроллер. Это делается просто — в меню выбираете пункт «Устройство/Диаграмма/Записать» и через несколько секунд программа оказывается записанной в контроллер.

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

Аналоговые входы

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

Мы будем отслеживать уровень напряжения на 10 пине контроллера и если он находится в диапазоне 2,5 В ± 20%, будем зажигать встроенный в плату светодиод.

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

Включаем АЦП на 10-м канале.

Далее пользуемся двумя логическими блоками, которые выдают 1 на выход, если напряжение находится в заданном диапазоне. Полный диапазон от 0 до 4095.

Блок «Логическое И» довершает работу и со своего выхода управляет работой светодиода на плате.

Вот и всё. То, что мы привычно делали на Arduino, мы легко сделали в CannyLab. Осталось только освоиться в этой среде программирования и вы сможете легко и непринуждённо создавать свои проекты на этой платформе.

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

Заключение по вводной статье цикла

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

Читайте также:  Статьи как выбирать шины

Если вам нравится визуальное программирование в стиле CannyLab, то контроллеры CANNY могут стать для вас интересной альтернативой Arduino или работать в связке с контроллерами Arduino. Об этом мы поговорим во второй статье цикла, в которой я расскажу вам об интеграции контроллеров CANNY с системой Arduino Mega Server.

Напомню, что AMS теперь работает не только на платах Arduino, но и на беспроводных Wi-Fi модулях ESP8266 и именно о такой связке пойдёт речь в следующий раз.

И как обычно, оставайтесь с нами, будет интересно!

Источник: habr.com

–>Автозапчасти и СТО –>

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

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

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

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

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

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

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

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

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

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

CAN – интерфейс и диагностика системы

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

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

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

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

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

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

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

Преимущества и недостатки применения КАН-шины в автомобиле Начать следует с того, что, если бы в 80-х годах прошлого века не был предложен стандарт CAN, его место обязательно занял другой вид взаимодействия систем автомобиля. Можно, конечно, разместить все блоки управления системами автомобиля в едином суперблоке, в котором программно обеспечить взаимодействие разных систем. Такие попытки были у французских производителей. Однако, с увеличением функциональности и производительности значительно увеличивается вероятность отказов. Сбои, например, дворников, могут привести к отказу запуска двигателя. Основные преимущества применения CAN-шины: возможность проведения оперативного контроля и диагностики всех систем автомобиля; объединение потоков информации в едином помехозащищенном канале; универсальность, способствующая унификации процессов диагностирования; возможность подключения охранных систем по CAN-шине (нет необходимости тянуть проводку к каждому элементу контроля). Недостатки CAN-шины: невысокая надежность; повреждение одного из блоков управления может привести к полной неработоспособности CAN-соединения. Устранение неисправностей На приборной панели автомобиля отсутствует индикаторная лампа неисправности CAN. Судить о том, что работоспособность CAN-шины нарушается, можно по косвенным показателям: на приборной панели одновременно загорелись несколько индикаторных ламп неисправностей; пропали показатели температуры охлаждающей жидкости, уровни топлива; загорелся «CHECK ENGINE». Прежде всего, следует выполнить диагностику. Если она покажет на неисправность CAN-шины, следует приступить к устранению проблемы. Последовательность работ: Найти проводники витой пары шины. Часто они имеют черный (высокий уровень) и оранжево-коричневый (низкий) цвета. Проверить при включенном зажигании с помощью мультиметра напряжения на проводниках. Уровни не должны быть равны 0 или более 11 Вольт (обычно около 4,5 Вольта). Выключить зажигание, снять клемму аккумуляторной батареи. Измерить сопротивление между проводниками. Если оно будет стремиться к нулю, значит, в шине присутствует короткое замыкание, если к бесконечности – обрыв. Приступить к поиску обрыва или короткого замыкания. Если есть подозрение на то, что замыкание шины происходит по причине отказа какого-либо блока управления, можно последовательно отключать блоки управления и контролировать сопротивление и работоспособность шины. Неисправность CAN-шины относится к сложным неисправностям электрооборудования автомобиля. Если у автовладельца нет необходимых навыков ремонта электрики, то лучше воспользоваться услугами специалиста.

Читайте также:  Какой размер шин на фольксваген шаран

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

Источник: lubimauto.ru, voditeliauto.ru.


Источник: www.vk-sto.by

Использование шины CAN: как программно управлять автомобилем

Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.

Автор: Ariel Nuñez
Изменение температуры кондиционера Ford Fusion при помощи команд через шину CAN.

Рисунок 1: Как при помощи приложения управлять ключевыми функциями автомобиля?
Недавно я вместе со своими друзьями из компании Voyage работал над реализацией программного управления системой кондиционирования в Ford Fusion. На данный момент Voyage занимается разработкой бюджетных самоуправляемых автомобилей. Конечная цель: чтобы каждый смог вызвать автомобиль к своей входной двери и безопасно путешествовать туда, куда вздумается. В компании Voyage считают крайне важной возможностью предоставление доступа к ключевым функциям автомобиля с заднего кресла, поскольку не за горами тот день, когда работа водителя будет полностью автоматизирована.
Зачем нужна шина CAN
Современные автомобили используют множество систем управления, которые во многих случаях функционируют подобно микро-службам в веб-разработке. Например, подушки безопасности, тормозные системы, регулирование скорости движения (круиз контроль), электроусилитель руля, аудиосистемы, управление окнами и дверями, подстройка стекл, системы зарядки для электрических автомобилей и т. д. Эти системы должны уметь осуществлять коммуникацию и считывать параметры друг друга. В 1983 в компании Bosch началась разработка шины CAN (Controller Area Network; Локальная сеть контролеров) для решения этой сложной задачи.
Можно сказать, что шина CAN представляет собой простую сеть, где каждая система автомобиля может считывать и отсылать команды. Эта шина интегрируется все сложные компоненты элегантным образом, что дает возможность реализовать всеми любимые функции автомобиля, которыми мы пользуемся.

Рисунок 2: Впервые шина CAN стала использоваться в 1988 году в БМВ 8 серии
Самоуправляемые автомобили и шина CAN
Поскольку интерес к разработке самоуправляемых автомобилей серьезно вырос, соответственно, словосочетание «шина CAN» также становится популярным. Почему? Большинство компаний, создающих самоуправляемых автомобилей, не занимаются производством с нуля, а пытаются научиться программно управлять машинами после выхода с конвейера фабрики.
Понимание внутреннего устройства шины CAN, используемой в автомобиле, позволяет инженеру формировать команды при помощи программного обеспечения. Самые нужные команды, как вы можете догадаться, связаны с управлением рулем, ускорением и торможением.

Рисунок 3: Введение в LIDAR (ключевой сенсор самоуправляемого автомобиля)
При помощи сенсоров наподобие LIDAR (light detecting and ranging; оптическая локационная система) машина способна смотреть на мир как суперчеловек. Затем компьютер внутри автомобиля на базе полученной информации принимает решения и посылается команды в шину CAN для управления рулем, ускорение и торможением.
Не каждый автомобиль способен стать самоуправляемым. И по некоторым причинам компания Voyage выбрала модель Ford Fusion (подробнее о причинах можно почитать в этой статье).
Исследование шины CAN в Ford Fusion
Перед началом исследования систем кондиционирования воздуха в Ford Fusion я открыл мою любимую книгу The Car Hacker’s Handbook. Перед погружением в суть вопроса заглянем в Главу 2, где описываются три важные концепции: протоколы шины, шина CAN и CAN-фреймы.
Шина CAN
Шина CAN начала использоваться в американских легковых машинах и небольших грузовиках с 1994 года и с 2008 года в обязательном порядке (в европейских автомобилях с 2001 года). В этой шине предусмотрено два провода: CAN high (CANH) и CAN low (CANL). Шина CAN использует дифференциальный сигналинг, суть которого заключается в том, что при поступлении сигнала на одном проводе вольтаж повышается, а на другом понижается на одну и ту же величину. Дифференциальный сигналинг используется в средах, которые должны быть малочувствительны к шуму, например, в автомобильных системах или при производстве.

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

  • АрбитражныйID (ArbitrationID) представляет собой широковещательно сообщение, идентифицирующее устройство, которое пытается начать коммуникацию. Любое устройство может отсылать несколько арбитражных ID. Если в единицу времени по шине отсылаются два CAN-пакета, пропускается тот, у которого ниже арбитражный ID.
  • Расширение идентификатора (Identifierextension;IDE) – в случае с шиной CAN стандартной конфигурации этот бит всегда равен 0.
  • Код длины данных (Datalengthcode;DLC) определяет размер данных, который варьируется от 0 до 8 байт.
  • Данные. Максимальный размер данных, переносимых стандартной шиной CAN, может быть до 8 байт. В некоторых системах происходит принудительное дополнение пакета до размера 8 байт.


Рисунок 5: Формат стандартных CAN-пакетов
CAN фреймы
Для того чтобы включить / выключить климатическую систему мы должны найти нужную шину CAN (в автомобиле таких шин несколько). В Ford Fusion есть как минимум 4 задокументированные шины. 3 шины работают на высокой скорости 500 кбит/с (High Speed CAN; HS) и 1 шина на средней скорости 125 кбит/с (Medium Speed CAN; MS).
К порту OBD-II подключено две высокоскоростные шины HS1 и HS2, однако там стоит защита, которая не позволяет подделывать команды. Вместе с Аланом из компании Voyage мы вынули порт OBD-II и нашли места соединения со всеми шинами (HS1, HS2, HS3 и MS). На задней стенке OBD-II все шины подключались к модулю шлюза (Gateway Module).

Рисунок 6: Homer – первое самоуправляемое такси от компании Voyage
Поскольку климатическая система управляется через медиа-интерфейс (SYNC), нам придется отсылать команды через среднескоростную шину (MS).
Чтение и запись CAN-пакетов осуществляется при помощи драйвера и сетевого стека SocketCAN, созданного исследовательским отделом компании Volkswagen для ядра в Linux.
Мы будем подсоединять три провода от машины (GND, MSCANH, MSCANL) к переходнику Kvaser Leaf Light HSv2 (можно купить за 300$ на Амазоне) или к CANable (продается за 25$ на Tindie) и загружать на компьютере со свежим Linux-ядром шину CAN в качестве сетевого устройства.

После загрузки запускаем команду candump can0 и начинаем отслеживать трафик:

Несмотря на то, что вышеуказанная информация эквивалентна амплитуде звукового сигнала, довольно трудно понять, что происходит, и обнаружить какие-либо закономерности. Нам нужно нечто похожее на частотный анализатор, и такой эквивалент есть в виде утилиты cansniffer. Cansniffer показывает список идентификаторов и позволяет отслеживать изменения в секции данных внутри CAN-фрейма. По мере того как мы будем изучать определенные идентификаторы, мы можем установить фильтр нужных ID, которые имеют отношение к нашей задаче.
На рисунке ниже показан пример информации, снятой при помощи cansniffer с шины MS. Мы отфильтровали все, что имеет отношение к идентификаторам 355, 356 и 358. После нажатия и отпускания кнопок, связанных с подстройкой температуры, в самом конце появляется значение 001C00000000.

Рисунок 7: Информация с шины MS, снятая при помощи утилиты cansniffer
Далее необходимо объединить функционал для управления климатической системой с компьютером, работающим внутри автомобиля. Компьютер работает на операционной системе ROS (Robot Operating System; Операционная система для роботов). Поскольку мы используем SocketCAN, то модуль socketcan_bridge серьезно упрощает задачу по преобразованию CAN-фрейма в блок информации, понимаемый операционной системой ROS.
Ниже показан пример алгоритма декодирования:

Полученные данные хранятся в CelsiusReport.msg:

После нажатия всех нужных кнопок в машине, у нас появляется следующий список:

Затем эти строки отсылаются на узел под управлением операционной системы ROS и далее происходит трансляция в коды, понимаемые автомобилем:

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

Рисунок 8: Удаленное управление климатической системой автомобиля
Это лишь небольшой шаг при создании самоуправляемого такси вместе со специалистами компании Voyage. Я получил массу положительных эмоций во время работы над этим проектом. Если вы тоже интересуетесь этой темой, можете ознакомиться со списком вакансий в компании Voyage.

Подписывайтесь на каналы “SecurityLab” в Telegram и Яндекс.Дзен, чтобы первыми узнавать о новостях и эксклюзивных материалах по информационной безопасности.

Источник: www.securitylab.ru