Для моих применений (дома) нужно выделить основное: под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, что, мягко говоря, усложняет монтаж если блоки автоматики находятся в разных уголках строения. Теоретически конечно можно проложить между устройствами единый кабель с небольшими ответвлениями, но практически это трудно реализуемо. Недаром почти умер 10BASE-2.
В связи с этим я задумался, как бы шинную топологию CAN превратить в «звезду» ? Первое решение, что называется, «в лоб». Взять микроконтроллер со встроенным CAN-интерфейсом и на SPI повесить еще один CAN. Получаем 2 разные сети. Микроконтроллер, получив пакет через hardware-CAN, шлет его в SPI-CAN. И наоборот. Так родилась вот такая маленькая прикольная штука:
Плата размером 50х32мм. Камень PIC18F46K80.
Собственно СAN1 подключен через передатчик MCP2551 напрямую в микроконтроллер:
CAN2 подключен через MCP2515 в SPI микроконтроллера:
С софтом не стал заморачиваться.
void main() ; // очищаем watchdog
Msg_Rcvd = CANRead(&PACKET.id_full, // попытка приема из CAN Шины
&PACKET.data_bytes,
&PACKET.data_length,
&Can_Rcv_Flags);
if (Msg_Rcvd) // если там что-то есть
CANSPIWrite(PACKET.id_full, // пишем это в CANSPI
PACKET.data_bytes,
PACKET.data_length,
CanSpi_Send_Flags);
Улучшать и расширять идею можно до бесконечности. Можно на SPI повесить несколько CAN-контроллеров и дергать их по очереди. Нам же нужно повторить пакет из одного сегмента во все остальные ? ? Можно разгуляться по полной и взять PIC32MK0512GPE064. У него 4 CAN интерфейса и 6 SPI. Особо не мудрствуя, получим 10-и портовый свитч. Именно свитч а не хаб, т.к. принимает пакет полностью в одном сегменте и последовательно передает его же в другие сегменты. Такой подход хорош тем, что можно на уровне микроконтроллера инициализировать каждый канал на свою скорость, что собственно и делают китайцы, предлагая вот такую железку:
И даже пишут к ней софт для настройки. Маршрутизация, однако ?
Все вроде хорошо, но цена вопроса… 4 порта за 9700р это очень жестоко. (тут надо сказать что на али попадаются и 7 портов за
9000р. типа дешевле) Не буду даже пытаться посчитать во сколько встанет озвездение шины CAN в реальном доме, но явно дороже Ethernet-а. Конечно покупать я это не собирался. Как идею использовать можно, но (как обычно) есть нюанс…
CAN используется в основном в системах жесткого реального времени и шина позволяет получить сумасшедшую скорость передачи мелких пакетов при минимальных задержках. Для Ethernet со скоростью передачи 100 МБит максимальное количество кадров в секунду составляет до 29000 кадров/с. 17241 кадров/с — предельная скорость CAN… при 1 МБит ?
Честно скажу, реальные задержки со своим двухканальным свитчем не измерял, но это точно не ноль. Скорости арбитража как на одном сегменте тут никак не достигнешь просто потому что перед трансляцией пакет принимается полностью, что нарушает синхронность работы can-сети. Особенно если таких «тройников» стоит несколько в ряд — задержки будут весьма большие. Это сложно для тех кто не знает о чем я вообще пишу и легко для тех кто знает что такое CAN. По-этому просто не буду вдаваться в подробности.
Я начал искать, неужели нельзя сделать именно синхронную побитовую работу разных сегментов? Оказывается можно. Основная проблема в том, что нельзя просто соединить can-передатчики друг с другом rx-tx и tx-rx. Вкратце суть в том, что передатчик во время передачи одновременно еще и слушает шину на предмет того, что он передал, и если он отпустил шину в «1» а другой передатчик в это время положил шину в «0» — первый проигрывает арбитраж и затыкается до освобождения линии, после чего повторяет попытку передачи. Тут посоветую почитать статью про повторитель CAN, который я в общем-то и сделал по-своему на high-speed логике.
На 2 канала получилась вот такая штука:
Из плюсов: мгновенная скорость, дешевизна. Из минусов: устал паять, 2 канала мало ?
А что если каскадировать эту схему на большее число каналов ? Так появился 8-и портовый хаб. Вот тут отлично видно что это звездная топология ?
Джамперы на плате служат для отключения неиспользуемых каналов. Этот баг (или фича) обнаружился во время тестирования. Дело в том, что если к порту не подключено ни одного устройства — передатчик будет бесконечно пытаться отправить пакеты, принять которые просто некому.
Дальнейшее вылизывание схемы питания вместе с перерисовыванием платы в DipTrace привело к вот такой реализации хаба:
Самые внимательные заметят что стало на 4 микросхемы меньше. Розовеньким неразрывное питание 5в (без переходов). Синеньким земля, оранжевым выходы, ну и остальное по мелочи. Полигоны не показаны чтобы был виден масштаб бедствия.
Только после тестирования данный 8-и портовый хаб доступен в разделе «Купить» ?
Если вас заинтересовал повторитель CAN1 (SPI)CAN2 на PIC18F46K80 из начала статьи — напишите или позвоните — их у меня тоже есть.
Спасибо что дочитали. Всем удачных разработок.
- Новичку о подключении к CAN шине
- Для работы с CAN шиной автомобиля необходимо знать:
- Скорости работы CAN шины
- Сегментация CAN шины по функциональному назначению
- Реализации CAN на уровне электрических сигналов
- 1 ISO11898-2 или CAN-High Speed.
- 2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN
- 3 Single Wire CAN или SW-CAN
- Расшифровка данных в CAN шине VW Polo sedan
- 1. Бинарные датчики
- 2. Быстро меняющиеся датчики
- 3. Температурные датчики
- 4. Пробег автомобиля
- 6. Датчики уровня
- 6. Датчики индикации
- 7. Датчики с запросами
- 🔥 Видео
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Новичку о подключении к CAN шине
Видео:CAN шина👏 Как это работаетСкачать
Для работы с CAN шиной автомобиля необходимо знать:
CAN шина – это сеть обмена данными определенная в стандарте ISO 11898. Другие каналы обмена данными в автомобиле не могут быть названы CAN шиной. AVC-LAN, BEAN, J1708, VAN и другие старые протоколы это НЕ CAN !
В автомобиле может быть более одной CAN шины. Для каждого функционального сегмента автомобиля выделяется своя сеть CAN. Выделенные сети могут работать на разных скоростях.
Видео:Подробно про CAN шинуСкачать
Скорости работы CAN шины
CAN на разных автомобилях и в разных сегментах сети может работать на разных скоростях.
Названия сегментов сети: Мотор, Шасси, Комфорт, Салон – условны! У Каждого автопроизводителя свои названия этих участков сети!
- Группа VAG: Мотор\шасси – 500 кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
- BMW : Мотор\Шасси – 500кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
- Mercedes-Benz : Мотор\Шасси – 500 кбит\с, Комфорт 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
- Ford, Mazda : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с. (Для Ford может быть больше вариантов)
- KIA\Hyundai : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с, 500 кбит\с, Мультимедиа: 125 кбит\с, 500 кбит\с., Диагностика: 500 кбит\с.
- GM : Мотор\Шасси – 500 кбит\с, Комфорт: 33.333 кбит\с, 95.2 кбит\с, Диагностика: 500 кбит\с.
- Toyota, Nissan, Honda, Subaru, Suzuki : 500 кбит\с (может использоваться гейтвей)
- Mitsubishi : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
- Volvo : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 500 кбит\с, 125 кбит\с, Диагностика: 500 кбит\с.
- Renault : 500 кбит\с
- Peugeot : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с.
- Lada : 500 кбит\с
- Коммерческая и специальная техника : Стандарт J1939 250 или 500 кбит\с.
Читайте также: Что нужно сделать при замене шин
Видео:Проверка исправности CAN шиныСкачать
Сегментация CAN шины по функциональному назначению
- Как правило разные, сегменты сети разделены специальным устройством, которое называется Гейтвей (Gateway, ZGW, ETACS, ICU) .
- В роли гейтвея может выступать панель приборов (для простых автомобилей) или отдельный специальный модуль межсетевого интерфейса.
- Гейтвей разделяет потоки данных в разных сегментах сети и обеспечивает связь сегментов сети работающих на разных скоростях.
- ВАЖНО: На многих автомобилях (особенно VAG, MB, BMW) CAN шина в диагностическом разъеме OBD2 отделена от других участков сети при помощи гейтвея, поэтому подключившись к CAN шине OBD разъема невозможно увидеть поток данных. В этом случае можно увидеть только обмен между диагностическим инструментом и автомобилем во время процесса диагностики! Так же модулем гейтвеем оборудованы автомобили японских марок с 2016..2018 годов в зависимости от модели.
- ОБЯЗАТЕЛЬНО изучайте схемы на исследуемый автомобиль, чтобы знать к какому сегменту сети Вы подключаетесь!
Схема ниже изображена в общем виде для упрощения понимания роли Гейтвея. Количество CAN шин и варианты включения блоков управления к тому или другому сегменту сети могут отличаться.
Видео:Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.Скачать
Реализации CAN на уровне электрических сигналов
CAN шина может быть реализована физически тремя способами:
1 ISO11898-2 или CAN-High Speed.
Классическая витая пара нагруженная с обоих концов резисторами 120 Ом.
В этом случае уровни на шине CAN выглядят так:
Для такой реализации сети используются как правило обычные CAN трансиверы в 8 выводном корпусе, аналоги PCA82C250, TJA1050 и им подобные. Работает такая конфигурация на скоростях 500 кбит\с и выше. (Но могут быть исключения) .
2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN
В этом варианте используется та же витая пара, но линии CAN-Low и CAN-High подтянуты к напряжению питания и массе соответственно.
Подробное описание FT-CAN по ссылке
Такой вариант CAN шины способен переключаться в однопроводный режим в случае повреждения одной из линий. Работает на скоростях до 250 кбит\с.Уровни сигнала на шине отличаются от High Speed CAN, при этом не теряется возможность работы с шиной FT-CAN используя трансиверы High-Speed CAN и соблюдая ряд условий.
Подробнее в нашей статье о FT-CAN – ссылка.
Fault tolerant CAN обычно используется для низкоскоростного обмена между блоками управления относящимися к сегменту сети Салон\Комфорт\Мультимедиа.
ВАЖНО: При подключении к шине Faul tolerant CAN, подключать терминальный резистор 120 Ом между линиями CAN-High и CAN-Low НЕ НУЖНО !
3 Single Wire CAN или SW-CAN
Однопроводный вариант шины CAN. Работает на скорости 33.333 кбит\с
Используется специальный тип трансиверов. Для того что бы подключиться к такому варианту шины CAN необходимо линию CAN-High анализатора подключить к шине SW-CAN а линию CAN-Low к массе\земле.
Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Расшифровка данных в CAN шине VW Polo sedan
Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе.
В статье описаны методики поиска нужных данных в CAN шине автомобиля, примеры применения этих методик на VW Polo Sedan. В качестве оборудования для подключения к CAN шине используется Vega MTX. Еще чуть-чуть поговорим о телематике. Под катом много картинок по теме, несколько gif и видео.
Пару слов о себе.
Зовут меня Фокин Алексей, в данный момент я работаю в компании Вега Абсолют vega_absolute. Центральный офис в г. Новосибирск, но я работаю в г. Москва. Одно из наших направлений — телематика. Мы делаем оборудование для отслеживания коммерческого транспорта, каршерингов, такси и т.д. Моя работа заключается в том, что я собираю данные с автомобилей и превращаю их в настройки для нашего оборудования.
Подключение к CAN шине произведено в двух местах: за приборной панелью (шина 500 Kbit/s) и за магнитолой (100 Kbit/s). Так же есть одно дублирующее подключение — подключение к разъему OBDII непосредственно на самом разъеме (500 Kbit/s).
Из использованных инструментов: блок мониторинга транспорта Vega MTX, оснащенный CAN сканером. Для его настройки на ПК программа Конфигуратор 1.27.14.
Больше информации о подключении к автомобилю и о MTX можно получить из видео, которое будет в конце статьи.
При подключении ко всем CAN шинам мы увидим такую картину:
В этом потоке данных надо найти те биты и байты, которые отвечают за нужные нам параметры.
На скриншоте ниже показано сколько датчиков в данный момент прописано в блоке телематики, и это еще не полный список. Можно уходить еще глубже и искать еще большее количество датчиков. Часть из этих датчиков в режиме реального времени отсылает показания на сервера, что позволяет в любой момент видеть состояние своего автомобиля.
Телематика — тема для отдельной статьи, поэтому не будем тут подробно на этом останавливаться.
Сразу появляется вопрос — зачем нужно искать данные в потоке, если можно их увидеть через ELM327 или другие диагностические приборы?
Здесь уже вопрос в том, для чего нам нужны эти данные. В нашем случае данные нам нужны для телематики, и, чтобы не вмешиваться в работу CAN шины, и не слать в нее ни каких данных, мы ищем их в потоке. В Vega MTX есть специальный режим работы с CAN шиной — режим «прослушивания». Режим говорит сам за себя, оборудование только слушает кан шину и ничего в нее не отправляет, тем самым минимизируя какие либо воздействия на штатную систему автомобиля.
К примеру датчик на открытие двери. Если мы будет его спрашивать запросом, то мы сможем это делать только на включенном зажигании. После выключения зажигания и засыпания CAN шины этот датчик будет нам недоступен. Если же мы найдем этот датчик в CAN потоке, то мы будем его видеть все время, когда работает CAN шина. А, при открытии двери, CAN будет просыпаться автоматически.
Читайте также: Давление шин фольксваген поло седан радиус 15 летом
Также следует понимать, что все приведенные ниже примеры актуальны только для Polo Sedan в комплектации connect. В других комплектация может не быть каких-то из приведенных датчиков, а для других марок и моделей автомобилей данные будут находится совершенно в других ID.
Обращаю внимание, что по умолчанию в Конфигураторе стоит отображение значений в HEX формате. В дальнейшем нам не раз придется переводить данные из HEX формата в десятичные значения. Легче всего это сделать с помощью встроенного в Windows 10 приложения Калькулятор. Переводим его в режим “программист” и у нас появляется выбор, в какой системе счисления вводить данные, и они дублируются в других системах счисления.
По методу поиска все датчики в автомобиле я разделяю на несколько типов:
- Бинарные датчики.
- Быстро меняющиеся датчики.
- Температурные датчики.
- Пробег автомобиля.
- Датчики уровня.
- Датчики индикации.
- Датчики с запросами.
Теперь перейдем к методам, с помощью которых можно найти каждый тип датчиков.
1. Бинарные датчики
Начнем с самых простых датчиков, бинарных.
К этим датчикам относятся датчики дверей, ремни безопасности, тормоз (горят ли стоп сигналы), ручной тормоз, нажаты ли кнопки и т.д. Их значение помещается в 1 бит, то есть может быть 0 (дверь закрыта) или 1 (дверь открыта).
Поиск их прост, но требует внимательности. Для поиска двери водителя надо открывать/закрывать дверь и смотреть, что меняется в CAN шине.
Конфигуратор подсвечивает красным те данные, в которых были изменения в течении нескольких последних секунд.
В нашем случае за дверь водителя отвечает нулевой бит первого байта сообщения с ID 470.
В том же байте лежат датчики все остальных дверей + датчик багажника.
2. Быстро меняющиеся датчики
Быстро меняющиеся датчики похожи на бинарные датчики, только их значение больше, чем 1 бит. На эти датчики мы можем воздействовать и сразу же видеть изменения в CAN — шине.
К таким датчика относятся большинство датчиков положения: положения педали газа, положение стекол, положение АКПП, положение ключа зажигания. Помимо них это датчики скорости, оборотов, датчики ускорения руля, ускорения педали газа и т.д.
Для начала разберемся с датчиками положения на примере датчика положения педали газа.
Для этого глушим автомобиль, включением зажигание и, не заводя двигателя, нажимаем на педаль газа и следим за изменением в CAN шине.
Как правило, при отпущенной педали газа значение этого датчика 0, и, по мере нажатия на педаль газа, увеличивается до какого либо значения. Такой параметр мы видим в первом CAN в ID 280. Пятый байт изменяется от 0 (педаль отпущена) до FA (педаль нажата “в пол”).
Если перевести FA из HEX в DEC, то получим число 250. Следовательно, чтобы получить нажатие на педаль газа в процентах (от 0 до 100) надо умножить наше значение на 0.4.
Теперь перейдем к датчикам, которые не влезают в один байт, например, к оборотам двигателя. Плавно повышаем и понижаем обороты двигателя, при этом смотрим, что меняется в CAN шине. Обороты двигателя находятся в том же ID, что и педаль газа.
Поработав педалью газа можно понять, что данные тут стоят в обратном порядке. То есть старшая часть находится в 3м байте (считаем байты с нулевого), а младшая во втором байте.
Дальше надо перевести данные из HEX в DEC.
Дальше надо оценить реальные обороты по тахометру, или по диагностическим приборам. В моем случае стрелка была, примерно на 1600 об/мин по тахометру.
Дальше делим данные из CAN в десятичном формате (6508) на обороты двигателя с тахометра (1600) получаем 4.0675. Учитывая погрешность определения оборотов на глаз, округляем делитель до 4. После этого надо проверить показания по нескольким точкам. Для этого педалью газа выставляем разные обороты двигателя и сверяем их с данными из CAN шины.
В конфигураторе можно подставить все коэффициенты в настройки датчика и в режиме реального времени смотреть за изменениями оборотов.
Таким образом ищется большое число датчиков: усилия на тормозе, положение руля, ускорение руля, скорость автомобиля и т.д.
3. Температурные датчики
В Polo Sedan найти температуру было очень сложно. Для начала был найден байт, который медленно изменялся в большую сторону при нагреве автомобиля. После этого начинались поиски нужных коэффициентов.
Подключаем диагностику, выбираем температуру двигателя, и сравниваем показания CAN шины и данных из диагностики. Строим таблицу соответствия и подбираем коэффициенты.
В результате подбора коэффициентов появилась формула для расчета температуры.
XX* 0.75 — 48
где XX — значение 1 байта из ID 288 в DEC.
по формуле можно подсчитать, что на скриншоте была температура
где 179 это переведенное в десятичную систему число B3 из первого байта ID 288.
Но это тяжелый случай, на многих авто температура ищется намного легче.
Так как в шине сложно передать отрицательное число, то производители в качестве 0 измерений принимают значение -40°C, -48°C или -58°C. Поэтому подключаем диагностику и смотрим, какое сейчас значение температуры. Прибавляем к этому значения 40 (48 или 58), и переводим в HEX. Ищем полученное число в потоке. Ждем когда температура машины изменится на один градус и сверяем с найденным значением. Если его значение тоже увеличилось на 1, значит это нужный нам датчик.
Важно не путать значения из CAN шины со значениями диагностических запросов. Если одновременно будете искать показания в шине и будет подключен диагностический прибор, то в шине появятся еще и ответы на диагностические запросы. Их можно определить по ID. Обычно все, что идет свыше 700 ID — диагностические запросы и ответы.
Так же температуру охлаждающей жидкости всегда можно сделать запросом, о данном методе будет описано ниже в разделе о датчиках с запросами.
Можно для поиска температуры воспользоваться и другим методом: находим физически датчик температуры охлаждающей жидкости (ДТОЖ) на двигателе, отключаем его и подключаем к проводке автомобиля переменный резистор. Далее вращая резистор и следя за CAN шиной по методике поиска быстро меняющихся данных, можно найти показания температуры двигателя.
На практике таким методом не пользовался, так как ТОЖ всегда находилась или в потоке, или спрашивали машину запросом.
4. Пробег автомобиля
Один из самых важных параметров для телематики.
Для начала надо оценить, каких размеров мы ищем число. Если взять 2 байта (16 бит) данных, то в них максимум влезет число FF FF = 65 535. Автомобиль явно может проехать свыше 65 тысяч, значит пробег автомобиля должен быть минимум 24 бит длинной. Туда уже влезет 16 млн. км., что явно достаточно для пробега.
Читайте также: Зимние шины 235 65 r18 для внедорожников
Но опять же, в разных автомобилях по разному. В Polo Sedan пробег пишется в км, в некоторых французах он передается с точностью до 100 метров. тогда число может занимать и 32 и больше бит.
Дальше для поиска следует взять пробег с приборной панели автомобиля и перевести его в HEX.
В нашем случае это 5732 км. Переводим его в HEX и получаем 16 64. Дальше поиском надо найти строку, где будет встречаться эта комбинация. Искать надо по одному байту, то есть сначала искать 16, потом в найденых вариантах смотреть, есть ли рядом с числом 16 еще и число 64. Число 64 может быть как слева, так и справа от числа 16. Так как пробег в этом автомобиле не большой, то, вероятнее всего, рядом с числом 64 так же будет 00. В Конфигураторе есть удобный поиск (CTRL + F), если пользуетесь другим инструментом, то придется искать вручную эти данные.
В нашем случае пробег найден в 520 ID
Для проверки желательно проехать еще несколько километров и проверить значение найденного датчика.
Таким же образом ищется пробег до заправки. В этом автомобиле приборная панель пробег до заправки не передает в шину, поэтому он сделан запросом.
6. Датчики уровня
Второй наиболее важный датчик для телематики — датчик уровня топлива. Можно его найти или в потоке, что предпочтительно, или запросом (менее предпочтительно, но в некоторых авто по другому не получится).
Для начала надо найти показания уровня топлива в диагностическом приборе. У меня уровень топлива нашелся в комбинации приборов (17 блок). В комбинации приборов показания с датчика уровня идут в литрах.
Сейчас в автомобиле 21 литр топлива.
Переводим 21 из DEC в HEX и получаем число 15. Поиском пробуем найти его. В потоке находится данное число в ID 320. Если число не находится, то нужно попробовать искать значения на единицу больше или меньше. В некоторых авто топливо идет с точностью в пол литра, потому надо поискать значение в 2 раза больше.
После того, как найден уровень топлива надо залить в автомобиль несколько литров топлива и посмотреть за результатом.
Так же можно разобрать бензобак, вытащить ДУТ из бака и перемещать его, следя за показания CAN шины. Или же снять разъем с ДУТ и подключить туда переменный резистор. Вращая его и следя за изменениями можно найти датчик уровня топлива. Если решили разбирать, тогда уровень топлива следует искать по методике поиска быстро меняющихся датчиков.
Так же при поиске не следует брать во внимание данные с ID свыше 700. Это диагностические запросы. После отключения диагностического оборудования эти данные пропадут. Более подробно с запросами мы разберемся ниже.
К примеру ответ на запросы диагностического оборудования уровня топлива из приборной панели выглядит так.
Также уровень топлива (в процентах) можно найти в стандартных OBDII запросах, но на VAG группе они не всегда показывают верные данные. На Skoda Rapid и Skoda Oktavia при полном баке диагностика показывает уровень топлива 85 %.
6. Датчики индикации
Датчики индикации сильно похожи на бинарные датчики, и искать их следует по той же методике. К этим датчикам относятся разнообразные иконки на приборной панели. К примеру состояние значка Check Engine находится в первом байте ID 480. При включении зажигания в этом датчике 2С.
После запуска, когда погаснет значок Check Engine (CE) в этом датчике будут 00.
Теперь остается вопрос, какой именно бит отвечает за значок CE. Переводим 2C в BIN и получаем число 0010 1100.
Дальше копируем весь 480 ID, изменяем первый байт на 2C (0010 1100) и пробуем посылать этот пакет в автомобиль.
Внимание!, слать данные в автомобиль не всегда безопасно, можно что нибудь сломать, или накрутить пробег. Прибегать к этому методу стоит только в случае, если датчик не смогли найти методом поиска бинарных датчиков.
В моем случае я слал в заведенный авто (что делать не рекомендуется) и у меня на приборке моргает значок CE и EPC.
Дальше посылаем вместо 2C (0010 1100) 08 (0000 1000). На приборке начинает моргать CE. Следовательно 3 бит отвечает именно за эту иконку.
Если слать 04 (0000 0100), то моргает значок EPC.
7. Датчики с запросами
Не все данные можно найти в потоке. К примеру в дизельном VW Transporter T4 в потоке нет температуры двигателя. Ее нет и на приборке. Поэтому приходится автомобиль спрашивать об этих параметрах. То же самое относится к уровню топлива на Rio\Solaris.
В этом примере попробуем спросить уровень топлива Polo Sedan. Заходим в 17 блок, как это мы делали в пункте про поиск уровня топлива, и спрашиваем приборную панель. Проанализировав запросы мы видим, что диагностика спрашивает уровень топлива следующей командой:
Дальше копируем ID 714, отключаем диагностический прибор и пробуем послать в автомобиль запрос. Если в ID 77E приходит такой же ответ, какой был при подключенной диагностике, то мы получили пакет с уровнем топлива (4 байт. HEX 15 = DEC 21 ) 21 литр.
В Vega MTX есть встроенные средства работы с датчиками с запросами. Там можно настроить, что бы запросы слались после включения зажигания с определенным интервалом или при соблюдение каких то условий.
На этом заканчиваю с методикой поиска данных в CAN шине. Если кто знает еще какие методики поиска нужных данных в CAN шине или поделится своим опытом, то с удовольствием выслушаю их.
До написания данной статьи делал видео по этой теме. В видео есть больше информации по подключению к CAN шине автомобиля, работе с Конфигуратором и файловым сервером
На сервере есть настройки для некоторых легковых автомобилей, грузовиков и сельскохозяйственной техники. Все файлы лежат в зашифрованном виде, можно увидеть какие датчики видны в CAN автомобиля. При подключении будут видны значения датчиков, но посмотреть адреса не получится.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🔥 Видео
поиск нерабочей can шины, часть дваСкачать
тестирование разветвителя CAN-шиныСкачать
Arduino CAN Monitor (простейший монитор шины CAN)Скачать
CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)Скачать
Мерседес разьем CAN шины, как выглядит и где?Скачать
Анализ CAN-шины Гранта. CAN-hacker.Скачать
Проверка шины CAN. Для АвтоМастера.Скачать
Как определить скорость CAN шины. Диагностика Mitsibushi ASX SRS на столе.Скачать
LIN шина - пример работы. LIN bus exampleСкачать
Универсальная плата CAN шиныСкачать
Remove the canbus information wireСкачать
Защита CAN шины автомобиляСкачать
CAN - шина в Passat B5 1997 годаСкачать
Вебинар: Как найти любые данные из CAN-шины любого автомобиля?Скачать