Особенности цифровой сan шины, зачем она нужна в автомобиле, какие функции исполняет
Содержание:
Преимущества CAN-шины и недостатки.
Положительные качества CAN шины в автомобиле строении:
Высокая скорость обработки информации, система обладает возможностью работы даже в условиях жесткого «цейтнота» (недостаток времени для обдумывания ходов);
Простота установки и копеечная стоимость при проведении работ с блоком;
Помехоустойчиво (что важно в автомобиле);
В процессе входа-выхода данных, многоуровневая система позволяет избежать огромного количества ошибок в процессе эксплуатации;
Учитывая возможность работать в условиях повышенной передачи данных, CAN-шине легко приспособиться к любой ситуации;
CAN-шина обладает высоким уровнем безопасности автомобиля с блокировкой всех двигательных систем стороннего проникновения и идеальная коммутируемость с автосигнализацией и иммобилайзером;
Палитра и многообразие стандартов CAN-шины, позволяет внедрять эту технологию даже в самый дешевый автомобиль.
Комплексная система защиты на базе IGLA.Как и любой электронной системе, у высокоскоростной CAN-шины есть много различных направлений развития и естественно имеются слабые стороны, а именно:
- Объем обрабатываемой информации, доступный для передачи данных одновременно ограничен учитывая современные технологии и требования различных систем;
- Большая часть обладает техническим и служебным назначением, а на более полезные данные отводится крохотная часть трафика в сети (есть к чему стремиться, я думаю это временно);
- Не стандартизирован протокол высшего уровня.
Выводы: всеми любимая и очень круто-популярная немецкая является изобретателем не только свечи зажигания двигателя внутреннего возгорания с топливным фильтром, но и, так сказать «внутри автомобильный интернет» для большущего количества автомобильных датчиков с именем «CAN-шина» и не смотря на все узнаваемость CAN-шины совсем недавно, этому детищу примерно уже 30 лет отроду.
Разработка сниффера и изучение протокола 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 Мне было лень изучить все остальные устройства, поэтому в этом списке, только то что мне было интересно.
Можно ли сделать анализатор своими руками?
Для выполнения этой задачи автовладелец должен иметь профессиональные навыки в области электроники:
- Сборка устройства производится по схеме, представленной на первом фото в галерее. Предварительно нужно купить все детали, необходимые для изготовления. Основным компонентов является плата STM32F103С8Т6, оснащенная контроллером. Также потребуется электрическая схема стабилизатора и CAN-трнасивер. Можно использовать устройство МСР2551 или другой аналог.
- Если требуется сделать анализатор более технологичным, в него можно добавить модуль Bluetooth. Благодаря этому автовладелец может сохранять важную информацию в память смартфона.
- Для программирования анализатора используется любое подходящее для этого программное обеспечение. Согласно отзывам, оптимальный вариант — утилиты Arduino или CANHacker. Во второй утилите есть больше опций и имеется функция фильтрации информации.
- Чтобы произвести прошивку, понадобится преобразователь USB-TTL. Это устройство требуется для отладки, при его отсутствии можно использовать ST-Link.
- После загрузки утилиты на компьютер основной файл с расширением ЕХЕ прошивается в блок с применением программатора. Если процедура выполнена успешно, то надо дополнительно установить перемычку на Bootloader. Собранное устройство надо синхронизировать с компьютером, используя USB-провод.
- Следующим этапом будет добавление прошивки в анализатор. Для выполнения задачи потребуется утилита MPHIDFlash.
- После успешного обновления программы кабель от компьютера отключается и снимается перемычка. Выполняется установка драйверов. Если сборка выполнена корректно, то при подключении к ПК анализатор будет определяться в качестве СОМ-порта.
Фотогалерея
Фото схем для самостоятельного изготовления анализатора приведены в этом разделе.
Общая схема для сборки анализаторного устройства
Плата, использующаяся в качестве основы
CAN-шина в других отраслях.
Современные автомобили обладают огромным количеством потдатчиков, датчикопотдатчиков соединенных в единую цифровую автомобильную сеть CAN, объединяя следующие устройства в автомобиле.Простота технологии и высокая скорость передачи и обработки данных CAN стала распространятся не только в автомобилестроении, CAN-шина стала применятся в таких областях, как:
- Велосипедном производстве, напрмер, знаменитая Японская в 2009 году, анонсировала велосипед с системой многоуровневого управления переключения скоростей по принципу CAN. Последовав этому размному решению, компания Байон-ИКС применил CAN-шину для системного прямого привода.
- Также технология получила распространение и на бытовом уровне, при реализации системы «умного дома», стала активно применяться технология по принципу CAN-шины. Огромное количество электронных устройств, могут решать свои задачи при помощи сети интрнет и совершенно без человеческого вмешательства, например – системы охраны периметра дома (видеонаблюдение, сигнализации, датчики света, движения и пр..), полив травы, кондиционирование в помещение, да все что может подключаться к питанию.
Примечание! И это еще не предел, CAN шина обязательно помимо основного своего направления – автомобили и умного дома (а автомобиль, своего рода второй дом!), найдет и своего потребителя в других областях.
Арбитраж и сигналы на шине 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», соответствующий младшему идентификатору сообщения, позволяет проводить арбитраж.
Принцип работы
Принцип работы, по которому работает анализатор шины CAN, заключается в том, что ему необходимо быстро обработать полученную информацию и вернуть ее в виде сигнала для конкретной системы. В каждом отдельном случае скорость передачи данных для систем автомобиля разная.
Параметры скорости
Основные скоростные параметры выглядят так:
- суммарная скорость передачи потоков данных по цифровой шине – 1 Мбит/с;
- скорость передачи обрабатываемой информации между блоками управления автомобиля — 500 кб/с;
- скорость, с которой система «Комфорт» получает информацию, составляет 100 кбит/с.
Особенности передачи данных
Если автосигнализация подключена к цифровой шине, информация будет поступать максимально быстро, а команды, подаваемые человеком с помощью брелока, будут выполняться точно и вовремя. Системный анализатор работает без перебоев и поэтому работа всех систем машины всегда будет в исправном состоянии.
С появлением CAN-шины и началом ее использования схема автомобильной электропроводки освободилась от определенного количества проводников, обеспечивавших связь контроллера управления между диагностическим разъемом, двигателем, мультимедиа (системы навигации с операционной системой Android) , автомобильная система защиты и т д., используя протокол KWP 2000.
Цифровая шина представляет собой полную сеть контроллеров, которые объединены в компактное устройство и могут быстро получать или передавать информацию, запускать или выключать определенные системы. Последовательный режим передачи данных делает работу системы более плавной и корректной. Шина CAN является механизмом, который имеет тип доступа Collision Resolution и этот факт необходимо учитывать при установке дополнительного оборудования.
Обычно проводка CAN-шины оранжевого цвета, и они отличаются друг от друга полосами разного цвета (CAN-High — черная, CAN-Low — оранжево-серая).
При обмене информацией между любым блоком управления и с помощью приемопередатчика сигналы приема и передачи информации усиливаются до необходимого уровня.
Каждый блок, подключенный к CAN-шине, имеет определенное входное сопротивление, вследствие чего формируется нагрузка CAN-модуля.
Нагрузка на центральную CAN-шину зависит от одновременного подключения и использования исполнительных механизмов и электронных блоков управления автомобиля и различных датчиков, например, сопротивление силового агрегата, подключенного к CAN-шине, составляет в среднем 68 Ом, информационно-командное Системы «КОМФОРТ-пакет» от 2,0 до 3,5 кОм. В момент деактивации всей системы деактивируется и нагрузочное сопротивление модулей, работающих через CAN-шину.
Распределение нагрузки по проводам
Блоки управления автомобильными системами помимо различных нагрузочных резисторов имеют еще и скорость передачи данных, что может быть препятствием при обработке импульсов разной природы.
Для решения технической проблемы разнородных импульсов для связи между шинами используется шлюзовой преобразователь.
Преобразователь — это так называемый межсетевой интерфейс, в автомобиле используется в блоке управления или как самостоятельный блок и т.д. Интерфейс преобразователя используется для ввода/вывода различной информации из диагностического разъема OBD, который подводится к диагностическому разъему через определенный кабель и соединяет центральный блок управления с разъемом OBD по шине CAN.
OBD — это универсальный диагностический разъем с множеством удобств и преимуществ для сканирования автомобиля на ошибки и диагностики.
Как показано на изображении, электронные блоки CAN-шины общаются в автомобиле через разные блоки, но блок питания CAN-шины, информационно-командная система и система Комфорт делают одно и то же, в зависимости от марки автомобиля и в своем составе, единицы могут различаться, но суть идеи остается неизменной.
Схема организации обмена данными
Шина данных
p, blockquote 18,0,0,0,0 —>
Структурно схему подключения различных блоков автомобиля к CAN-шине можно изобразить в таком виде:
p, blockquote 19,0,0,0,0 —>
p, blockquote 20,0,0,0,0 —>
Для согласования всех устройств, то есть организации оптимальных условий и скорости приемо — передачи, выходные сопротивления трансмиттеров должны быть приблизительно одинаковы.
p, blockquote 21,0,0,0,0 —>
В случае отключения или повреждения каких-либо из блоков управления систем автомобиля, сопротивление шины изменяется, нарушается согласование по сопротивлению, которое приводит к значительному уменьшению скорости передачи информации по шине. Такие нарушения могут привести к полной потере связи по CAN-шине.
p, blockquote 22,1,0,0,0 —>
На некоторых автомобилях для устранения проблем с синхронизацией CAN-информации применяется отдельный модуль межсетевого интерфейса.
p, blockquote 23,0,0,0,0 —>
p, blockquote 24,0,0,0,0 —>
Каждое сообщение, передаваемое по CAN-шине, имеет собственный идентификатор, например «температура охлаждающей жидкости» и код, соответствующий ее значению, типа «98,7 градусов Цельсия». Не обязательно это будут абсолютные значения, в большинстве случаев это относительные двоичные единицы, которые далее преобразуются в сигналы управления и контроля.
p, blockquote 25,0,0,0,0 —>
p, blockquote 26,0,0,0,0 —>
Эти же данные используют средства диагностики для контроля и обработки информации об основных системах автомобиля.
p, blockquote 27,0,0,0,0 —>
Основные режимы работы CAN-шины:
p, blockquote 28,0,0,0,0 —>
- активный (зажигание включено);
- спящий (при выключенном зажигании);
- пробуждение и засыпание (при включении и выключении зажигания).
Во время спящего режима ток потребления шины минимальный. Однако при этом по шине (с меньшей частотой) передаются сигналы о состоянии открытия дверей и окон, других систем, связанных с охранными функциями автомобиля.
p, blockquote 29,0,0,0,0 —>
В большинстве современных диагностических устройств предусмотрен режим диагностирования ошибок по CAN-шине. Технически это организовано непосредственным подключением проводников к диагностическому разъему.
p, blockquote 30,0,0,0,0 —>
p, blockquote 31,0,0,0,0 —>
Распиновка щитка приборов Лада Приора/Калина
№ | Подключение КП «Итэлма» с навигацией без CAN | Подключение КП «Итэлма» с навигацией и CAN |
1 | К электроусилителю руля | К электроусилителю руля |
2 | MUTE | MUTE |
3 | К датчику давления масла | Резерв |
4 | Выключатель стояночного тормоза | Выключатель стояночного тормоза |
5 | К блоку управления иммобилайзера (электропакета) | К блоку управления иммобилайзера (электропакета) |
6 | К блоку управления подушкой безопасности | Резерв |
7 | К модулю управления светом (сигнализатор вкл. освещения) | К модулю управления светом (сигнализатор вкл. освещения) |
8 | Переключатель указателя поворота (правая сторона) | Переключатель указателя поворота (правая сторона) |
9 | Переключатель указателя поворота (левая сторона) | Переключатель указателя поворота (левая сторона) |
10 | К блоку системы управления двигателем | Резерв |
11 | AUDIO OUT — «Aк.атареи» | AUDIO OUT — «Aк.атареи» |
12 | К датчику непристегнутых ремней | Резерв |
13 | К блоку ABS (неисправность EBD) | Резерв |
14 | Подрулевой переключатель «Buttons» | Подрулевой переключатель (Влево, ОК) |
15 | Датчик уровня тормозной жидкости | Датчик уровня тормозной жидкости |
16 | К блоку ABS (неисправность ABS) | Резерв |
17 | К выключателю дальнего света фар | К выключателю дальнего света фар |
18 | К модулю управления светом (регулятор освещения шкал) | К модулю управления светом (регулятор освещения шкал) |
19 | Корпус | Корпус |
20 | Клемма «30» АКБ | Клемма «30» АКБ |
21 | Клемма «15» выключателя зажигания | Клемма «15» выключателя зажигания |
22 | К блоку управления (сигнал расхода топлива) | Резерв |
23 | К подрулевому переключателю «UP» | К подрулевому переключателю (вниз, меню) |
24 | К подрулевому переключателю «DOWN» | К подрулевому переключателю (вправо, вверх) |
25 | К радиоприемнику «AUDIO OUT «+» | К радиоприемнику «AUDIO OUT «+» |
26 | К датчику наружной температуры | К датчику наружной температуры |
27 | К датчику уровня топлива | К датчику уровня топлива |
28 | К датчику скорости | CAN-L |
29 | К датчику температуры охл. жидкости | CAN-H |
30 | К блоку упр. двигателем (сигнал тахометра) | Резерв |
31 | Служебная диагностика | Служебная диагностика |
32 | К клемме «L» реле-регулятора генератора | Резерв |
Разъем приборной панели Приора/Калина:
Навигация в панели приборов работает на Windows CE 6.0 вместе с ПО Navitel. Предусмотрено обновление ПО и загрузка навигационных карт с USB-карты через специальный USB вход. Эксплуатация автомобиля станет на много приятней, единственный недостаток — высокая цена.
А вам приходилось ставить на Приору или Калину щиток приборов нового образца с навигацией? Какие трудности у вас возникали в ходе этой доработки? Напомним, на сайте лада.онлайн можно найти другие инструкции по тюнингу и доработке автомобилей Лада Приора или Калина, например, как отрегулировать электронную педаль газа или улучшить тормоза без переделок.
В связи с отсутствием лобового стекла, решил наконец таки установить новую панель. Особых сложностей в установке нету, снял старую, установил новую.
Цена вопроса: 10 000 ₽