Что такое кан шина. Различные физические уровни

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

В 1975 году длина проводов в автомобильной электрической схеме была равна нескольким сотням метров и была сопоставима с электрикой лёгкомоторной авиации.

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

Видео

К 1991 году, благодаря прорыву цифровых технологий, фирмы Bosch и Intel создали сетевой интерфейс CAN (Controller Area Network) для мультипроцессорных систем бортовых компьютеров. В электронике такую систему называют «шиной».

В последовательной шине (serial bus) данные передаются импульс за импульсом по витой паре (двум проводам), а в параллельной шине (parallel bus), данные идут по нескольким проводам одновременно.

При большей производительности, параллельная шина усложняет электропроводку автомобиля. Последовательная шина передаёт информации до 1 Мбит/сек.

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

Минимизация современной электроники позволила наладить выпуск дешёвых модулей управления и систем связи. В автомобильной сети они могут объединяться в цепи, звёзды и кольца.

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

Благодаря такому протоколу диагностика двигателя и других устройств автомобиля упростилась.

Желание иметь всего один провод в автомобиле не осуществилось, но CAN – модуль и протокол передачи данных повысили надёжность системы и упростили электропроводку.

Видео

CAN шина - что это такое?

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

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

Общая характеристика

Визуально CAN-шина выглядит как асинхронная последовательность. Ее информация передается по двум витым проводникам, радиоканалу или оптоволокну.

Управлять шиной способны несколько устройств одновременно. Их количество не ограничено, а скорость обмена информацией запрограммирована до 1 Мбит/с.

CAN-шина в современных автомобилях регламентируется спецификацией "CAN Sorcjfication version 2,0".

Он состоит из двух разделов. Протокол А описывает передачу информации с применением 11-битной системы передачи данных. Часть В выполняет эти функции при применении 29-битного варианта.

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

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

Одной из самых известных на сегодняшний день является разработанная Робертом Бошем CAN-шина. CAN BUS (под таким названием известна система) бывает последовательная, где импульс подается за импульсом. Она называется Serial bus. Если же информация передается по нескольким проводам, то это параллельная шина Parallel bus.

I - узлы управления;

II - коммуникации системы.

Опираясь на разновидности идентификаторов КАН-шин, встречается маркировка двух типов.

В случае, когда узел поддерживает 11-битный формат обмена информацией и не обозначает ошибки на сигналы 29-битного идентификатора, его маркируют "CAN2,0A Active, CAN2,0B Passive".

Когда таковые генераторы используют оба типа идентификаторов, шина имеет маркировку "CAN2,0B Active".

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

Система же функционирует при двух типах скоростей передачи сигналов - 125, 250 кбит/с. Первые предназначены для вспомогательных устройств (стеклоподъемники, освещение), а вторые обеспечивают главное управление (коробка-автомат, двигатель, ABS).

Передача сигналов

Физически проводник CAN-шины современного автомобиля выполнен из двух составляющих. Первый - черного цвета и называется CAN-High. Второй проводник, оранжево-коричневый, именуется CAN-Low. Благодаря представленной структуре коммуникаций из схемы автомобиля удалена масса проводников. При производстве транспортных средств это позволяет уменьшить вес изделия до 50 кг.

Общая сетевая нагрузка состоит из разрозненных сопротивлений блоков, которые входят в состав протокола, называемого КАН-шина.

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

Расположен этот прибор в конструкции управляющего блока, но бывает выполнен в виде обособленного прибора.

Представленный интерфейс применяют также для вывода и ввода сигналов диагностического характера. Для этого предусмотрено наличие унифицированной колодки OBD. Это особый разъем для диагностики системы.

Разновидности функций шин

Существуют разные типы представленного устройства.

  1. КАН-шина агрегата силового. Это быстрый канал, который передает послания со скоростью 500 кбит/с. Его главная задача заключается в коммуникации блоков управления, например трансмиссия-двигатель.
  2. Система "Комфорт" - более медлительный канал, передающий данные со скоростью 100 кбит/с. Он связывает все устройства системы "Комфорт".
  3. Информационно-командная программа шины также передает сигналы медленно (100 кбит/с). Ее основное предназначение - обеспечить связь между обслуживающими системами, например телефоном и навигацией.

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

Помехи в шине

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

Описание шины CAN оговаривает поступление посланий по проводникам High и Low в усилитель дифференциальный, где он обрабатывается и направляется в блок управления.

Усилитель определяет этот выходной сигнал как разность напряжений проводов High и Low. Такой подход позволяет исключить влияние внешних помех.

Чтобы понять, что собой представляет КАН-шина и ее устройство, следует вспомнить ее облик. Это два проводника, скрученные между собой.

Так как сигнал помехи поступает сразу на оба провода, в процессе обработки значение напряжения Low отнимается от напряжения High.

Благодаря этому CAN-шина считается надежной системой.

Типы сообщений

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


I - CAN-шина;

II - резистор сопротивления;

III - интерфейс.

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

Функциональность системы

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

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

Команда состоит из 3 разделов: имени, значения события, времени наблюдения за переменной величиной.

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

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

Разрешение конфликтов на шине

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

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

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

Физические составляющие

Устройство шины состоит, помимо кабеля, из нескольких элементов.

Микросхемы приемопередатчика часто встречаются от компании Philips, а также Siliconix, Bosch, Infineon.

Чтобы понять, что такое КАН-шина, следует изучить ее компоненты. Максимальная длина проводника при скорости 1 Мбит/с достигает 40 м. Шина- CAN (известная еще как CAN-BUS) в конце наделена терминатором.

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

Сам проводник в зависимости от конструкции может быть экранированным или неэкранированным. Концевое сопротивление может отходить от классического и находиться в диапазоне от 108 до 132 Ом.

Технология iCAN

Рассматривая шины транспортного средства, следует уделить внимание программе блокировки работы двигателя.

Для этого разработан обмен данными посредством шины CAN, iCAN-модулем. Он подключается к цифровой шине и отвечает за соответствующую команду.

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

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

Защита от угона

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Задача: Получить доступ к показаниям штатных датчиков автомобиля без установки дополнительных.
Решение: Считывание данных с автомобиля.

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

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

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

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

  • обороты двигателя;
  • уровень топлива в баке;
  • пробег автомобиля;
  • температура охлаждающей жидкости двигателя ТС;
  • и т.д.

Решение, о котором мы будем говорить в данной статье, состоит в считывании данных с CAN-шины автомобиля.

. Что такое ?

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


. Откуда появилась задача считывания данных с CAN-шины?

Задача считывания данных с CAN-шины появилась как следствие задачи оптимизации расходов на эксплуатацию автотранспорта.

В соответствии с типовыми запросами заказчиков, автомобили и спецтехника оснащаются системой спутникового ГЛОНАСС или GPS мониторинга и системой контроля оборота топлива (на базе погружных либо ультразвуковых датчиков уровня топлива).

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

Именно таким решением стало получение информации с CAN-шины. Ведь оно имеет целый ряд преимуществ:

1. Экономия на дополнительных устройствах

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

2. Сохранение гарантии на автомобиль

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

3. Получение доступа к информации со штатно установленных электронных устройств и датчиков.



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

Технические специалисты компании Скайсим выбрали для тестирования данного решения прибор . Он имеет встроенный дешифратор FMS и может считывать информацию напрямую с CAN-шины автомобиля.



. Какие достоинства и недостатки влечет за собой решение со считыванием данных с CAN-шины?

Достоинства:

Возможность работы в режиме жёсткого реального времени.
. Простота реализации и минимальные затраты на использование.
. Высокая устойчивость к помехам.
. Надёжный контроль ошибок передачи и приёма.
. Широкий диапазон скоростей работы.
. Большое распространение технологии, наличие широкого ассортимента продуктов от различных поставщиков.

Недостатки:

Максимальная длина сети обратно пропорциональна скорости передачи.
. Большой размер служебных данных в пакете (по отношению к полезным данным).
. Отсутствие единого общепринятого стандарта на протокол высокого уровня.

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

Известны примеры передачи звука и изображения по шине CAN. Известен случай создания системы аварийной связи вдоль автодороги длиной несколько десятков километров (Германия). (В первом случае нужна была большая скорость передачи и небольшая длина линии, во втором случае — наоборот).

Изготовители, как правило, не афишируют, как именно они используют полезные байты в пакете. Поэтому FMS прибор не всегда может расшифровать данные, которые «отдает» CAN-шина. Кроме того, не все марки автомобилей имеют CAN-шину. И даже не все автомобили одной марки и модели могут выдавать одинаковую информацию.


Пример реализации решения:

Не так давно компанией Скайсим совместно с партнером был реализован большой проект по мониторингу автотранспорта. В парке были различные грузовые автомобили иностранного производства. В частности, грузовые автомобили Scania p340.


Для того, чтобы проанализировать процесс получения данных с CAN-шины мы, по солгасованию с заказчиком, провели соответствующие исследования на трех автомобилях Scania p340: один 2008 года выпуска, второй начала 2009 и третий конца 2009 года.


Результаты оказались следующими:

  • с первого данные получены так и не были;
  • со второго был получен только пробег;
  • с третьего были получены все интересующие данные (уровень топлива, температура охлаждающей жидкости, обороты двигателя, общий расход, общий пробег).


На рисунке отображен фрагмент сообщения из информационной системы Wialon, где:
Fuel_level - уровень топлива в баке в %;
Temp_aqua - Температура охлаждающей жидкости в градусах Цельсия;
Taho - Данные с тахометра (об/мин).

Регламент реализации решения был следующий:

1. Навигационный прибор Galileo ГЛОНАСС/GPS был подключен к CAN-шине грузовиков.
Данная модель автотрекера была выбрана из-за оптимального сочетания функционала, надежности и стоимости. Кроме того, она поддерживает FMS (Fuel Monitoring System) - систему, которая позволяет регистрировать и контролировать основные параметры использования транспортного средства, т.е. подходит для подключения к CAN-шине.

Схему подключения к CAN-шине со стороны прибора Galileo можно найти в руководстве пользователя. Для подключения со стороны автомобиля необходимо, в первую очередь, найти свитую пару проводов, подходящую к диагностическому разъёму. Диагностический разъем всегда в доступности и располагается вблизи от рулевой колонки. В 16 контактном разъёме по стандарту OBD II это 6-CAN high, 14-CAN low. Обратите внимание, что у проводов High напряжение примерно 2,6-2,7В, у проводов Low оно, как правило на 0,2В меньше.


_________________________________________________________________________

Еще одним уникальным решением, которое было использовано для снятия данных с CAN-шины, стал бесконтактный считыватель данных CAN Crocodile (производство СП Технотон, г. Минск). Он отлично подходит для работы с приборами Galileo.


Преимущества технологии CAN Crocodile:

CAN Crocodile позволяет получать данные о работе автомобиля из шины CAN без вмешательства в целостность самой шины.

Считывание данных происходит без механического и электрического контакта с проводами.

CAN Crocodile применяется для подключения к шине CAN систем GPS/ГЛОНАСС мониторинга, которые получают информацию о режимах работы двигателя, состоянии датчиков, наличии неисправностей и т.д.

CAN Crocodile не нарушает изоляцию проводов CAN и "слушает" обмен по шине с помощью специального беспроводного приемника.

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



2. Если провода обнаружены и идентифицированы верно, можно приступать к запуску CAN-сканера в приборе Galileo.

3. Выбирается стандарт FMS, скорость для большинства автомобилей 250 000.

4. Запускается сканирование.

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

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


Но есть еще один момент, который важно затронуть.

Чаще всего основной целью клиентов является контроль уровня и расхода топлива.

  • Даже если данные со штатных датчиков будут успешно получены с CAN-шины, какова их практическая ценность?

Дело в том, что основное назначение штатных датчиков уровня топлива - дать оценку с той степенью точности, которая кажется правильной производителю ТС. Эта точность не может быть ставнима с точностью, которую дает погружной датчик уровня топлива (ДУТ) производства Омникомм или, например, Технотон .

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

Выводы


По ряду вышеназванных причин, мы рекомендуем не полагаться полносьтю на показания штатных датчиков уровня топлива, а рассматривать каждую ситуацию индивидуально. Как правило, подходящее решение может быть найдено только совместно с техническими специалистами. У разных производителей ТС разная точность показаний. У всех заказчиков также разные задачи. И только под конкретную задачу целесообразно подбирать средства решения. Кому-то вполне подойдет решение с получением данных с 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 (Arbitration ID ) представляет собой широковещательно сообщение, идентифицирующее устройство, которое пытается начать коммуникацию. Любое устройство может отсылать несколько арбитражных ID. Если в единицу времени по шине отсылаются два CAN-пакета, пропускается тот, у которого ниже арбитражный ID.
  • Расширение идентификатора (Identifier extension ; IDE ) – в случае с шиной CAN стандартной конфигурации этот бит всегда равен 0.
  • Код длины данных (Data length code ; 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 в качестве сетевого устройства.

Modprobe can
modprobe kvaser_usb
ip link set can0 type can bitrate 1250000
ifconfig can0 up

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

Can0 33A 00 00 00 00 00 00 00 00 can0 415 00 00 C4 FB 0F FE 0F FE can0 346 00 00 00 03 03 00 C0 00 can0 348 00 00 00 00 00 00 00 00 can0 167 72 7F FF 10 00 19 F8 00 can0 3E0 00 00 00 00 80 00 00 00 can0 167 72 7F FF 10 00 19 F7 00 can0 34E 00 00 00 00 00 00 00 00 can0 358 00 00 00 00 00 00 00 00 can0 3A4 00 00 00 00 00 00 00 00 can0 216 00 00 00 00 82 00 00 00 can0 3AC FF FF FF FF FF FF FF FF can0 415 00 00 C8 FA 0F FE 0F FE can0 083 00 00 00 00 00 01 7E F4 can0 2FD D4 00 E3 C1 08 52 00 00 can0 3BC 0C 00 08 96 01 BB 27 00 can0 167 72 7F FF 10 00 19 F7 00 can0 3BE 00 20 AE EC D2 03 54 00 can0 333 00 00 00 00 00 00 00 00 can0 42A D6 5B 70 E0 00 00 00 00 can0 42C 05 51 54 00 90 46 A4 00 can0 33B 00 00 00 00 00 00 00 00 can0 42E 93 00 00 E1 78 03 CD 40 can0 42F 7D 04 00 2E 66 04 01 77 can0 167 72 7F FF 10 00 19 F7 00 can0 3E7 00 00 00 00 00 00 00 00 can0 216 00 00 00 00 82 00 00 00 can0 415 00 00 CC F9 0F FE 0F FE can0 3A5 00 00 00 00 00 00 00 00 can0 3AD FF FF FF FF FF FF FF FF can0 50B 1E 12 00 00 00 00 00 00

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


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

If frame.id == 0x356:
raw_data = unpack("BBBBBBBB", frame.data)
fan_speed = raw_data / 4
driver_temp = parse_temperature(raw_data)
passenger_temp = parse_temperature(raw_data)

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

Bool auto
bool system_on
bool unit_on
bool dual
bool max_cool
bool max_defrost
bool recirculation
bool head_fan
bool feet_fan
bool front_defrost
bool rear_defrost string driver_temp
string passenger_temp

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

CONTROL_CODES = {
"ac_toggle": 0x5C,
"ac_unit_toggle": 0x14,
"max_ac_toggle": 0x38,
"recirculation_toggle": 0x3C,
"dual_temperature_toggle": 0x18,
"passenger_temp_up": 0x24,
"passenger_temp_down": 0x28,
"driver_temp_up": 0x1C,
"driver_temp_down": 0x20,
"auto": 0x34,
"wheel_heat_toggle": 0x78,
"defrost_max_toggle": 0x64,
"defrost_toggle": 0x4C,
"rear_defrost_toggle": 0x58,
"body_fan_toggle": 0x04,
"feet_fan_toggle": 0x0C,
"fan_up": 0x2C,
"fan_down": 0x30,
}

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

Rostopic pub /celsius_control celsius/CelsiusControl ac_toggle

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


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