Содержание
Шина CAN в автомобиле
Шина CAN в автомобиле — это сеть контроллеров, предназначенных для обеспечения подключения электронных устройств, которые способны передавать и получать определенную информацию. Такая схема подключения позволила снизить негативное влияние внешних электромагнитных полей и существенно увеличить скорость передачи данных.
Классификация шинных систем автомобиля
Шина CAN была признана стандартом с момента своего появления в серийно выпускаемых автомобилях в 1991 году. Но она также часто используется и в автоматизации. Основные особенности:
- Передача сообщений с ранжированием приоритетов и неразрушающим арбитражем;
- Снижение затрат благодаря использованию недорогой витой пары и простого протокола с невысокими требованиями к вычислительной мощности;
- Скорость передачи данных до 1 Тбит/с у высокоскоростной шины CAN и до 125 Кбит/с у низкоскоростной шины CAN (более низкие расходы на аппаратную часть);
- Высокая надежность передачи данных за счет распознавания и сигнализации спорадических и постоянных неисправностей и благодаря унифицированию сетевых процессов через acknowledge;
- Принцип много абонентской шины;
- Высокая степень готовности за счет обнаружения неисправных станций;
- Стандартизация по ISO 11898.
Система передачи данных по шине CAN
Логические состояния шин и шифрование
Для обмена данными шина CAN использует два состояния «доминантное» и «рецессивное», с помощью которых передаются информационные биты. Доминантное состояние соответствует «0», а рецессивное — «1». Для шифрования передачи используется процесс NRZ (без возврата на ноль), в котором нулевое состояние не всегда возвращается в промежуток между двумя одинаковыми состояниями передачи и, соответственно, необходимый для синхронизации временной интервал между двумя фронтами может оказаться слишком большим.
В основном используется двухпроводной кабель, в зависимости от окружающих условий, с витой или не витой парой. Две шинные линии называются CAN-H и CAN-L (рис. «Уровень напряжения передачи по CAN» ).
Двухпроводный кабель обеспечивает симметричную передачу данных, при которой биты передаются через обе шинные линии с использованием разных напряжений. Это уменьшает чувствительность к синфазным помехам, поскольку помехи влияют на обе линии и могут быть отфильтрованы путем создания разности (рис. «Фильтрация помех по шине CAN» ).
Однопроводный кабель представляет собой способ сокращения производственных затрат за счет экономии на втором кабеле. Однако общее подключение к массе, выполняющей функцию второго кабеля, должно быть доступно для этой цели всем пользователям шины. Поэтому однопроводный вариант шины CAN возможен только для системы связи с ограниченным монтажным пространством. Передача данных по однопроводному кабелю более чувствительна к излучаемым помехам — он не позволяет фильтровать импульсы помех так, как в двухпроводном кабеле. В результате на шинной линии требуется сигнал более высокого уровня. Это, в свою очередь, отрицательно сказывается на излучении помех. Поэтому необходимо снизить крутизну фронта импульсов сигналов шины по сравнению с двухпроводным кабелем. Это связано с уменьшением скорости передачи данных. По этой причине однопроводной кабель используется только для низкоскоростной шины CAN в области кузова и электроники для функций комфорта. Например, низкоскоростная шина CAN с двухпроводным кабелем в случае обрыва кабеля должна продолжать работать как однопроводная система. Однопроводное решение не описывается в спецификации CAN.
Уровни напряжения шины CAN
Высокоскоростные и низкоскоростные шины CAN используют разные уровни напряжения для передачи доминантных и рецессивных состояний. Уровни напряжения низкоскоростной шины CAN показаны на рис. а, «Уровень напряжения передачи по CAN», а высокоскоростной — на рис. Ь, «Уровень напряжения передачи по CAN».
Высокоскоростная шина CAN в рецессивном состоянии на обеих линиях использует номинальное напряжение 2,5 В. В доминантном состоянии на CAN-H и CAN-L подается номинальное напряжение 3,5 В и 1,5 В, соответственно. В низкоскоростной шине CAN в рецессивном состоянии на CAN-H подается напряжение 0 В (максимум 0,3 В), на CAN-L — 5 В (минимум 4,7 В). В доминантном состоянии на CAN-H напряжение составляет не менее 3,6 В, а на CAN-L не более 1,4 В.
Предельные значения
Для арбитражного метода в случае CAN важно, чтобы все узлы в сети видели биты идентификатора фрейма одновременно, чтобы узел, передавая бит, видел, передают ли их другие узлы. Задержки возникают из-за распространения сигнала в шине данных и обработки в трансивере. Таким образом, максимально допустимая скорость передачи данных зависит от общей длины шины. Стандарт ISO предусматривает скорость 1 Мбит/с для 40 м. У более длинных проводов возможная скорость передачи данных примерно обратно пропорциональна длине провода. Сети с дальностью 1 км могут работать со скоростью 40 кбит/с.
Протокол CAN
Конфигурация шины
CAN работает в соответствии с принципом многорежимного управления, при котором линейная структура шины подсоединяет несколько блоков управления равного приоритета ранжирования.
Адресация по содержанию CAN использует адресацию по содержанию сообщений. Каждому сообщению присваивается метка-идентификатор, который классифицирует содержание сообщения (например, о частоте вращения коленчатого вала двигателя). В каждой станции ведется обработка только тех сообщений, чьи идентификаторы накапливаются в приемочном списке сообщений. Это называется приемочной проверкой (рис. «Адресация и проверка приемки» ). Таким образом, CAN не требует адресов станции для передачи данных. Это облегчает адаптацию к различным уровням оборудования.
Логические состояния шины CAN
Протокол CAN основывается на двух логических состояниях: биты информации являются или «рецессивными» (логическое состояние 1), или «доминантными» (логическое состояние 0). Когда, по крайней мере, одной из станций передается доминантный бит, тогда перезаписываются рецессивные биты, одновременно посылаемые ото всех других станций.
Назначение приоритетов
Идентификатор присваивает адреса данным как содержания, так и приоритета посылаемых сообщений. Идентификаторы, соответствующие низким бинарным числам, используют высокий приоритет и наоборот.
Арбитраж шины CAN
Каждая станция может начать передачу сообщения только после освобождения шины. Когда несколько станций начинают передавать сообщения одновременно, для разрешения создаваемых конфликтов доступа к шине используется арбитраж «wired-and» (монтажное И). Сообщению с высшим приоритетом (наименьшим двоичным значением идентификатора) присваивается право первого доступа, без задержек и потерь битов (рис. «Побитовый арбитраж» ). Передатчики реагируют на невозможность получения доступа к шине путем автоматического переключения в режим приема; затем ими повторяется попытка передачи, как только шина снова освобождается.
Фрейм данных и формат сообщения Шина CAN поддерживает два разных формата сообщений, различающихся только длиной идентификаторов. Стандартный формат включает 11 битов, в то время как расширенная версия состоит из 29 битов. Таким образом, рамка передачи данных содержит максимум 130 битов стандартного или 150 битов расширенного формата. Это обеспечивает минимальное время ожидания до последующей передачи, которая может быть срочной. Фрейм данных состоит из семи последовательных полей (рис. «Фрейм данных» ). «Начало фрейма» показывает начало сообщения и синхронизирует все узлы.
Поле «арбитра» состоит из идентификатора сообщения и дополнительного контрольного бита. Во время передачи этого поля передающее устройство сопровождает передачу каждого бита проверкой о том, что сообщение более высокого приоритета, которое могло бы аннулировать санкционированный доступ, не передается. Контрольный бит определяет, будет ли сообщение классифицироваться как «фрейм данных» или «дистанционный фрейм».
Поле «контроля» содержит код, показывающий количество байтов данных в поле «данных».
Поле «данных» содержит от 0 до 8 байтов. Сообщение длиной 0 данных может быть использовано для синхронизации распределительных процессов.
Поле «CRC» (периодический резервный контроль) содержит контрольную сумму для обнаружения возможных помех при передаче.
Поле «АСК» (уведомление) содержит сигналы подтверждения, с помощью которых получатели подтверждают доставку сообщений.
«Конец фрейма» обозначает конец сообщения.
Затем идет «межфреймовый промежуток», отделяющий фрейм от следующего фрейма.
Инициация передатчика
Передатчик обычно инициирует передачу данных посредством отправки фрейма данных. Однако приемник также может запросить данные от передатчика, отправив дистанционный фрейм. Этот дистанционный фрейм имеет тот же идентификатор, что и соответствующий фрейм данных. Они различаются битом, стоящим после идентификатора.
Обнаружение ошибок
Контролирующими отличительными признаками ошибок являются:
- 15-битовый CRC: (каждый приемник сравнивает получаемую им последовательность CRC с вычисляемой последовательностью);
- Контроль: каждый передатчик считывает с шины собственное переданное сообщение и сравнивает каждый переданный и отсканированный бит;
- Заполнение битами: (между началом фрейма и концом поля CRC каждого фрейма данных или дистанционного фрейма могут находиться максимум пять последовательных битов одной полярности); передатчик реализует пять последовательных битов одной полярности путем вставки в поток битов бита противоположной полярности. После доставки сообщений получатели снова удаляют эти биты;
- Проверка фреймов: (протокол CAN содержит несколько битовых полей со смешанным форматом для проверки всех станций).
Обработка ошибок
При обнаружении ошибки контроллер CAN прерывает текущую передачу отправкой сигнала ошибки, состоящего из шести доминантных битов; при этом происходит сознательное нарушение условия наполнения битами и форматов.
Локализация неисправностей
Так как неисправные станции могут значительно ухудшать нагрузочный режим шины, бортовые контроллеры связи могут включать механизмы, которые позволяют различать промежуточную и постоянную ошибки из-за неисправности местной станции. Этот процесс базируется на статистической оценке условий возникновения ошибок.
Варианты исполнения
Изготовители полупроводников предлагают различные варианты исполнения контроллеров CAN, различающиеся в основном возможностями хранения и обработки сообщений. Таким образом, главный компьютер может быть освобожден от операций, связанных с протоколом.
Стандартизация
Шина CAN стандартизирована для обмена данными в автомобилях; для низкоскоростной передачи (до 125 кбит/с) — ISO 11898-3, для высокоскоростной передачи (более 125 кбит/с) — ISO 11898-2 и SAE J 1939 (грузовики и автобусы).
CAN с таймерным управлением
Расширенный протокол CAN с возможностью работы в режиме таймерного управления называется «CAN с таймерным управлением» (TTCAN). В нем можно произвольно выбрать соотношение компонентов с таймерным управлением и компонентов с управлением событиями, поэтому он полностью совместим с сетями CAN. TTCAN стандартизируется в ISO 11898-4.
Как расшифровывается can шина
Продолжаю серию заметок о Наверное самый дешевый CAN сниффер , в предыдущей заметке я описал процесс прошивки адаптера Прошивка для OBD2 адаптера на базе STM32.
Наступила очередь описания управляющей программы для адаптера.
Программа написана на Qt, поэтому должна работать во всех поддерживаемых ОС, я проверил ее работу только под следующими ОС:
Android — работа проверена в android8. При проблемах с запуском приложения, надо включить в разрешениях у приложения доступ к местоположению.
Windows — работа проверена в windows xp.
Linux — собирается парой команд qmake && make.
Исходные тексты программы находятся на github-е
При запуске программы на телефоне появляется окно выбора bluetooth устройства. При нажатии на кнопку "Scan" производится поиск устройств. Зеленым цветом выделяются устройства уже сопряженные с нашим телефоном. У устройств с профилем "SerialPort" появляется иконка последовательного порта — с таким устройством можно соединиться нажав кнопку "Connect".
Функции сопряжения у приложения нет, поэтому соединение устройств необходимо предварительно сделать средствами android/linux.
Qt поддерживает bluetooth стек только начиная с windows 10, поэтому в windows необходимо подключиться к адаптеру средствами ОС и далее открыть последовательный порт связанный с адаптером.
После подключения к устройству появляется окно с несколькими вкладками.
В основной вкладке программы находится таблица с принятыми CAN сообщениями, сгруппированными по CAN ID. В столбцах таблицы расположены: CAN ID, период посылки и 8 байт данных CAN посылки. В строках таблицы находятся последние данные из CAN сообщений с уникальным CAN ID. Синим цветом подсвечиваются изменения в байтах CAN посылки в течении 2 секунд.
При приеме данные сохраняются в памяти, а затем могут быть сохранены в CSV файл, при нажатии кнопки "Save".
В статусной строке отображается режим работы адаптера, версия ПО и скорость в CAN шине.
Во вкладке передачи можно настроить посылку произвольных CAN сообщений в CAN шину.
Данные отправляются с периодом 100мс, тип отправляемых данных зависит от выбранного режима:
— из CSV файла, например это могут быть ранее сохраненные данные.
— произвольная CAN посылка
— obd2 PID запросы
Во вкладке обновления можно произвести обновление прошивки адаптера.
Для обновления прошивки необходимо выполнить определенную последовательность действий:
1) Перегрузить адаптер в режим загрузчика, нажав на кнопку "Reset"
2) Очистить содержимое flash памяти STM32, нажав на кнопку "Erase"
3) Выбрать файл прошивки, нажав на кнопку "Open"
4) Запустить процесс перепрошивки нажав на кнопку "Run"
5) Перегрузить адаптер в режим приложения, нажав на кнопку "Reset"
В окне с отладочными сообщениями отображаются различные отладочные данные от адаптера.
В дальнейшем, CSV файл с сохраненными в нем CAN сообщениями, можно открыть в программе визуализации. Данная программа также написана на Qt, исполняемый файл для Windows этот или этот с opengl .
Исходные тексты программы визуализации находятся на github-е.
В этой программе можно найти связь данных из CAN посылок с известными параметрами автомобиля: скорость, обороты и т.д. Для этого при сборе данных включаем периодическую отправку OBD2 PID запросов. Тем самым в накопленных данных будут как "сырые" данные от автомобиля, так и ответы на OBD2 PID запросы. С форматом CAN OBD2 PID посылок можно ознакомиться на википедии:Формат OBD2 PID CAN посылок. Если вкратце, то в OBD2 PID CAN ответе 2-й байт это PID, а 3-й и 4-й байт данные.
В программе первым делом необходимо открыть CSV файл с данными, затем включить отображение канала с помощью переключателя "Enable". Затем выбрать поток данных от интересующего нас CAN ID с помощью селектора "Id". С помощью селектора "Type" происходит приведение типов. С помощью селектора "Offset" выбирается нужный байт данных из CAN посылки. С помощью полей "Mul" и "Add" можно сделать дополнительные арифметические преобразования.
И перебирая потоки данных с неизвестными CAN ID находим точное соответствие данных.
Так на изображении ниже:
— на первом канале отображаются обороты двигателя из PID ответов(2-й байт 0xc, 3-й и 4-й байты обороты).
— на втором канале отображаются обороты двигателя из "сырых" данных автомобиля.
— на третьем канале отображается скорость автомобиля из PID ответов(2-й байт 0xd, 3-й байт — скорость).
— на четвертом канале отображается скорость автомобиля из "сырых" данных автомобиля.
С помощью этой программы были найдены следующие параметры для hyundai solaris at 2013.
0x316 — x x low high x x x x — rpm
0x0a0 — x x low high x x x x — rpm
0x440 — x x speed x x x x x — speed
0x0a0 — x x x speed x x x x — speed
0x316 — x x x x x x speed x — speed
0x43f — x sel x x x x x x — selector
0x0a0 — x temp x x x x x x — coliant temp
0x0a1 — x x x x map x x x — map
0x43f — x x x temp x x x x — air temp
0x0a0 — x x x x x tp x x — throttle position
В следующей заметке я расскажу о том как оперативно отображать известные параметры автомобиля в своем приложении, например как на изображении ниже .
Чтобы связно и гармонично управлять системами, обеспечить качество и функциональность передачи данных, многие автомобилестроительные компании применяют современную систему, известную как 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. Это особый разъем для диагностики системы.
Разновидности функций шин
Существуют разные типы представленного устройства.
- КАН-шина агрегата силового. Это быстрый канал, который передает послания со скоростью 500 кбит/с. Его главная задача заключается в коммуникации блоков управления, например трансмиссия-двигатель.
- Система "Комфорт" — более медлительный канал, передающий данные со скоростью 100 кбит/с. Он связывает все устройства системы "Комфорт".
- Информационно-командная программа шины также передает сигналы медленно (100 кбит/с). Ее основное предназначение — обеспечить связь между обслуживающими системами, например телефоном и навигацией.
При изучении вопроса, чем является CAN-шина, может показаться, что по количеству программ она похожа на систему самолета. Однако, дабы обеспечить качество, безопасность и комфорт при управлении автомобилем, никакие программы не будут лишними.
Помехи в шине
Все управляющие блоки присоединены к CAN-шине трансиверами. Они имеют приемники сообщений, представляющих собой избирательные усилители.
Описание шины CAN оговаривает поступление посланий по проводникам High и Low в усилитель дифференциальный, где он обрабатывается и направляется в блок управления.
Усилитель определяет этот выходной сигнал как разность напряжений проводов High и Low. Такой подход позволяет исключить влияние внешних помех.
Чтобы понять, что собой представляет КАН-шина и ее устройство, следует вспомнить ее облик. Это два проводника, скрученные между собой.
Так как сигнал помехи поступает сразу на оба провода, в процессе обработки значение напряжения Low отнимается от напряжения High.
Далее из полученного показателя извлекается базовое напряжение, которое составляет 2,5 В. Остаток и есть помеха. Она в отфильтрованном сигнале не присутствует.
Благодаря этому CAN-шина считается надежной системой.
Типы сообщений
Протоколом предусматривается использование при обмене информацией посредством шины CAN четырех типов команд.
- Data Frame. Такой тип сообщений (фреймов) передает сигналы с определенным идентификатором.
- Error Frame представляет собой сообщение сбоя в процессе обмена. Он предлагает повторить действия сначала.
- Overload Frame. Послание появляется в момент необходимости перезапустить работу контроллера.
- Request Frame Remout Transmission обозначает запрос данных, где именно находится идентификатор.
II — резистор сопротивления;
В процессе приема-передачи информации на проведение одной операции отводится определенное время. Если оно вышло, формируется фрейм ошибки. 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 популярна и востребована.
Can шина. Расшифровка данных
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Имею arduino uno с can bus shield . Через COM-ODB2 подключаюсь к авто.
Используя пример из библиотеки —
получаю ответ следующего вида:
Вопрос: как из этого всего получить полезную информацию в человеческом виде? Например темп. охлаждайки, скорость или обороты?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Открою вам большой секрет. Точный ответ на вопрос знает только производитель авто. Обычно для овладения этой информацией нужно терпеливо логировать данные и пытаться их сопоставить с искомыми параметрами. Причем показания по сученые с Кан шины не являются ньюман рэди. Скажем байт отвечающий за показания положения окна у некоторых моделей фольцвагена 0- закрыто, а от 64 до 80 — открыто полностью, или сработка концевика водительской двери — 1, пассажирской -2, левая задняя — 63, правая — 127. Так что пилите Шура. И еще тут вам никто не поможет.
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Так то да, однако откуда сотни программ для телефонов?
Откуда авторы программ под андроид берут значения кодов? Реверсинженеринг таких прог приведет к нужной инфе?
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Полагаю существуют типовые протоколы, описывающие параметры искомых величин.
В большинстве случаев имеется четыре основных вектора развития протоколов: западные, восточные, американские и дизельные.
Протоколы часто соответствуют стандартам, например: SAE J1850 VPW ; ISO9141-2; ISO14230-2 (KWP2000); SAE J1850 PWM; ISO 15765-4 CAN ;
И ещё: CAN-это протокол сети контроллеров, по-этому CAN-шин в современных автомобилях несколько. Чаще две. В моем три: мотор/трансмиссия, безопасность/охрана, комфорт/климат. Кстати есть официальные SDK и CAN-транслятор к нему.
Копните в сторону elm327. Чудо за 5$ весьма популярно и софта к нему море. А учитывая открытость и настроенность на блютузное общение думаю можно парсить уже не голые байты, а связные коды с маской протокола.
Источник https://press.ocenin.ru/shiny-can-v-avtomobilyah/
Источник https://lubimauto.ru/kak-rasshifrovyvaetsja-can-shina/
Источник
Источник