Как прослушать can шину

wertex76 › Блог › Анализатор CAN шины CANHacker

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

Итак, какими исполнительными устройствами можно управлять по CAN? Список на самом деле может быть огромен, и может зависеть от конкретной марки и модели автомобиля. Для примера, по CAN может осуществляться снятие, постановка на охрану, складывание зеркал, управление стеклоподъемниками, срабатывание центрального замка, включение фар и т.д. Кстати, многие автомобильные девайсы подключаются к CAN шине, и путем передачи в шину определенных данных осуществлять какие-то действия. Например, по такому принципу работают доводчики стекол. Такой доводчик ждет появления в CAN шине данных на постановку на охрану, и при получении этих данных осуществляет передачу данных в CAN шину, которые инициируют закрытие стекол. Как правило, такие доводчики вставляются в OBD-2 разъем автомобиля, в котором имеется выход CAN шины. Тут следует сказать, что на автомобиле может быть несколько CAN шин (высокоскоростная, низкоскоростная), которые разделены между собой.
Сразу возникает вопрос, есть ли в машине CAN шина. Определить это можно, посмотрев в OBD2 разъем наличие пинов 6 и 14.

Что представляет собой CAN пакет с данными? Грубо говоря он представляет собой CAN ID (идентификатор CAN, может быть 11-ти или 29-ти битным) и данные DATA (в одном CAN пакете возможно передача до 8 байт). CAN ID — это фактически поле адресата, т.е. кому адресуются данные DATA. Несколько CAN пакетов могут образовывать одно сообщение (чтобы преодолеть лимит на передачу более 8-ми байт).
Каждому исполнительному устройству или датчику автопроизводитель назначает уникальный CANID (у разных производителей они будут разными), благодаря чему можно адресовать посылку данных конкретному ЭБУ или устройству, или получив CAN пакет ЭБУ может определить ему ли он предназначался, и если ему, то что он должен с ним сделать (например, в нашем примере с доводчиком — поднять стекло).

До этого была теория. Теперь я расскажу, как посмотреть, что творится в CAN шине автомобиля и что для этого нужно. Для этого необходим специальный адаптер и программа, которая будет отображать состояние CAN шины. Вообще, таких программ и адаптеров в природе существует много, но самым популярным является CANHacker (такой себе стандарт «де-факто»), поэтому про него я и расскажу. В качестве адаптера я буду использовать CHIPSOFT J2534 Lite адаптер, который может работать в режиме J2534 устройства, K-Line адаптера и в необходимом нам режиме CANHacker.

Сама программа CANHacker бесплатна и может быть без труда найдена на просторах интернета. Обращаю внимание на то, что по состоянию на март 2016, данная программа не может работать в Windows 10. Что-то Microsoft в своей операционке так улучшило, что в ней перестали работать все программы написанные ранее на Visual Basic c использованием COM порта.

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

Как прослушать can шину

Анализатор CAN шины CAN-Hacker 3.0 25.06.2019 14:38

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

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

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

С помощью CANHaker вы сможете:

  1. Проанализировать работу CAN и LIN шин авто и спец.техники
  2. Отображение Can – посылок, принятых в Can шине
  3. Включать «на столе» блоки управления и агрегаты автомобиля контролируемые по CAN и LIN шинам (например блоки кнопок, приборные панели и т.д.)
  4. Эмулировать работу измерителей и блоков управления напрямую в машине
  5. Программировать блоки управления машин

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

Функционал основной версии КЭН-Хакер 3.0 может быть сильно расширен используя дополнительные опции и программы. Список опций постоянно растет, за новостями следите на сайте www.eobd.ru

Дополнительные опции:

  1. LIN-K (ЛИН-К) анализатор шины LIN.
  2. K это дополнительная опция для CAN-USB интерфейса CAN Hacker 3.0

Теперь весь перечень функций КАН-Хакера Бомбер интегрирован в программное обеспечение CAN анализатор.

Бывают случаи когда нужно срочно выяснить какой пакет в КАН шине за какую функцию отвечает, если протокол обмена не стандартизирован то сделать это очень проблематично и длительно по времени. Или не имея автомобиля будет сложно узнать какой пакет отвечает за определение скорости, а какой за угол поворота стрелки тахометра. Утилита канхакер Bomber, позволит изучить CAN шину методом спуфинга т.е. программа просто посылает пакеты с заданными нами байтами данных в заданном диапазоне ID.

  1. Дополнительная опция KIA-Coder для работы с автомобилями KIA-Hyundai
Читайте также:  Какая глубина нового протектора шины

С помощью КИА-Кодер можно осуществить вариантное кодирование EOL на машинах КИА и Хендай, перекодировать память панели приборов через базовый диагностический разъем OBD2. Различное программирование дает активировать и де-активировать разные опции автомобиля, такие как: Давление внутри шин TPMS, адаптивный свет и другие.

4. Дополнительная опция для работы с автомобилями Nissan Leaf Leaf-Coder

  1. -Hacker Leaf-Coder бесплатная и простая программа для кодирования панелей приборов Ниссан Лиф и Teana через разъем OBD2.

С помощью Лиф Кодер можно в полной мере читать и писать EEPROM панели приборов через разъем и исправлять одометр без съема панели.

Теперь разберем преимущества Канхакер 3.0 перед другими адаптерами.

Преимущества CAN-Hacker 3.0:

  1. Два канала СAN(КЭН). Возможность проброса пакетов из канала в канал, работать в режиме СAN(КЭН) шлюза / CAN гейтвея при помощи специальной прошивки идущей в комплекте
  2. Подключаемые терминаторы 120 Ом
  3. Функция работы с LIN шиной. (доп. опция)
  4. On-line (онлайн) обновление
  5. Функция автоматического перебора (поиска) ID программой CAN Hacker -Bomber
  6. Миниатюрный корпус
  7. Питание от USB
  8. Сохранение пакетов сообщений в формате текста на жестком диске для ПК.
  9. Запись логов сообщений в реальном времени
  10. Анализ и просмотр логов

CANHacker 3.0 (КЭН Хакер 3.0) может работать как со старым ПО CANHaker (кан хакер) 2.002 так и с новым анализатором CAN.

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

Тема: Прослушка CAN с помощью USB-CarHelp2

Опции темы

Прослушка CAN с помощью USB-CarHelp2

Вопрос по использованию USB-CarHelp2 не только для диагностики.

Можно ли с помощью данного девайса с опцией Carsoft MB прослушивать шину CAN и использовать данные в своих целях?

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

Ответ: Прослушка CAN с помощью USB-CarHelp2 Pro

В USB-CarHelp2 интерфейс CAN отсутствует.

для целей анализа CAN есть другой адаптер

USB-CAN

Ответ: Прослушка CAN с помощью USB-CarHelp2

В MB W203 под рулем есть разъем OBD-II, куда стар подклучается. В StarFinder говорится, что туда подключены шины CAN-B и CAN-C

Насколько я понимаю USB-CarHelp2 втыкается в этот же разъем и читает из него данные
Или через USB-CarHelp2 можно только диагностику проводить и никакие сниферы не помогут вычитать оттуда какие-либо другие данные?

А девайс с картинки у вас можно приобрести и можно ли с него кроме анализа данных проводить диагностику как в USB-CarHelp2? Куда он втыкается, что за разъем (на картинке не очень понятно)?
Также интересует цена на такое чудо, если она известна.

Ответ: Прослушка CAN с помощью USB-CarHelp2

USB-CarHelp2 имеет интерфейс ISO9141/ISO14230
OBD-пины 7 и 15 и в МВ еще другие.

с одной стороны USB
с другой 3-метровый кабель и 3 провода — CAN-High, CAN-Low, GND

Это «чудо» спроектировано в 2005-м году и за это время приобретено многими разработчиками.
250 USD, есть в наличии на складе у представителя в Москве.

Ответ: Прослушка CAN с помощью USB-CarHelp2

Черт и тут облом. Посылать данные через него можно (чтобы, например, выводить название трека на штатный дисплей в спидометре)?

Кстати, нет универсального адаптера, который и CAN читает и диагностику проводить может? 🙂 (Только не надо в стар тыкать пальцем 😉 )
Не очень хочется мудрить и придумывать как подружить оба адаптера и накручивать провода один на другой.

Также интересно сколько стоит USB-swISO v2.x/USB-swISO v1.x и есть ли скидка, если брать сразу два адаптера (USB-CAN и swISO)?

Про это можно поподробнее? Все таки я ищу девайс как раз для написания софта

Со следующей недели буду часто на Украине в Харькове. Там у Вас нет представительств?

P.S. Извиняюсь, вопросов много.
P.P.S. Не стоит обижаться на слово «чудо». Я с самыми светлыми чувствами писал это слово

Ответ: Прослушка CAN с помощью USB-CarHelp2

aven, давайте не будем торопиться.
вернемся к этому разговору через 2-4 недели.
Вам нужно время, чтобы читать и систематизировать данные.
читайте форум и ВСЕ что найдете по данной теме.

1 шт USB-CAN у представителя в Москве
и сейчас вопрос дальнейшего производства в обсуждении.

Ответ: Прослушка CAN с помощью USB-CarHelp2

А можно в личку скинуть координаты представительства в Москве?

Ответ: Прослушка CAN с помощью USB-CarHelp2

Для прослушки CAN-а (нюхачи CAN-а) в сети много фришных проектов.
CANHack.org — очень полезный ресурс по этой теме.
Там найдешь CANHacker Freeware CAN Monitor and Tracer, надо только полученные данные будет применить к конкретному авто.
А для того, что-бы в CAN дудеть — совсем другая история начинается.

Ответ: Прослушка CAN с помощью USB-CarHelp2

А что за история с дудением?

Ответ: Прослушка CAN с помощью USB-CarHelp2

Если совсем уж своими словами, то .

1.) В свободных универсальных девайсах с точки зрения прослушки CAN-а как транспорта весь поток данных передается какому либо устройству (PC через COM, LPT, USB и.т.д. по желанию) знающему формат сообщений. Т.е. грубо подслушиваем «известный транспортный протокол».
Далее уже на устройстве данные разкладываем на служебную и полезную информацию.
А ты далее полезную информацию уж интерпретируй сам — разбирайся, что там за разговор и между кем.

Читайте также:  Как накладывать шину при переломе голени

2). Что-бы в CAN дунуть, то надо не только знать структуру сообщений (транспорта) но и адреса устройств применительно к конкретному примеру, их команды и т.д.
Т.е. нужно сформировать команду, даллее корректно вклиниться в уже идущий по-полной разговор и послать сообщение (нужная и правильная команда вставленная в «известный транспортный протокол»).

Это совсем-уж поверхностно и простым языком, насколько самому мне понятно.

Источник: www.carhelp.info

Как прослушать can шину

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

Итак, какими исполнительными устройствами можно управлять по CAN? Список на самом деле может быть огромен, и может зависеть от конкретной марки и модели автомобиля. Для примера, по CAN может осуществляться снятие, постановка на охрану, складывание зеркал, управление стеклоподъемниками, срабатывание центрального замка, включение фар и т.д. Кстати, многие автомобильные девайсы подключаются к CAN шине, и путем передачи в шину определенных данных осуществлять какие-то действия. Например, по такому принципу работают доводчики стекол. Такой доводчик ждет появления в CAN шине данных на постановку на охрану, и при получении этих данных осуществляет передачу данных в CAN шину, которые инициируют закрытие стекол. Как правило, такие доводчики вставляются в OBD-2 разъем автомобиля, в котором имеется выход CAN шины. Тут следует сказать, что на автомобиле может быть несколько CAN шин (высокоскоростная, низкоскоростная), которые разделены между собой.
Сразу возникает вопрос, есть ли в машине CAN шина. Определить это можно, посмотрев в OBD2 разъем наличие пинов 6 и 14.

Что представляет собой CAN пакет с данными? Грубо говоря он представляет собой CAN ID (идентификатор CAN, может быть 11-ти или 29-ти битным) и данные DATA (в одном CAN пакете возможно передача до 8 байт). CAN ID — это фактически поле адресата, т.е. кому адресуются данные DATA. Несколько CAN пакетов могут образовывать одно сообщение (чтобы преодолеть лимит на передачу более 8-ми байт).
Каждому исполнительному устройству или датчику автопроизводитель назначает уникальный CANID (у разных производителей они будут разными), благодаря чему можно адресовать посылку данных конкретному ЭБУ или устройству, или получив CAN пакет ЭБУ может определить ему ли он предназначался, и если ему, то что он должен с ним сделать (например, в нашем примере с доводчиком — поднять стекло).

До этого была теория. Теперь я расскажу, как посмотреть, что творится в CAN шине автомобиля и что для этого нужно. Для этого необходим специальный адаптер и программа, которая будет отображать состояние CAN шины. Вообще, таких программ и адаптеров в природе существует много, но самым популярным является CANHacker (такой себе стандарт «де-факто»), поэтому про него я и расскажу. В качестве адаптера я буду использовать CHIPSOFT J2534 Lite адаптер, который может работать в режиме J2534 устройства, K-Line адаптера и в необходимом нам режиме CANHacker.

Сама программа CANHacker бесплатна и может быть без труда найдена на просторах интернета. Обращаю внимание на то, что по состоянию на март 2016, данная программа не может работать в Windows 10. Что-то Microsoft в своей операционке так улучшило, что в ней перестали работать все программы написанные ранее на Visual Basic c использованием COM порта.

Прослушка CAN шины

  • Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Здраствуйте, никогда ранее не сталкивался с CAN, потребовалось прослушать линию с компа, соответственно нужен переходник CAN to UART (буду слушать через дуину) наткнулся на микруху pca82c250, по описанию CAN контроллер. Есть выводы CAN-L и CAN-H, а также TXD и RXD. Это то что мне нужно? Или тут все сложнее?

Прочитал замечательную статью на Хабре, habrahabr.ru/post/256493/:

и решил на её основе, использовать уже готовый имеющийся модуль 2CAN (описанный мной в предыдущей статье) совместно с написанной и довольно распространенной уже программой CANHacker. Удивительным образом, в статье автора, и имеющимся у меня модулем 2CAN совпадают по назначению все выводы микроконтроллера, разница только в частоте кварцевого генератора. Получается, вносить изменения в плату модуля мне не придётся. Установил программный продукт STM32Cube MX с необходимыми компонентами, и немного изменил настройки и код в проекте, любезно предоставленные автором статьи:

1. Меняем параметры системы тактирования:

2. Добавляем дополнительный вывод для контроля системы тактирования RCC_MCO -> PA8:

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

4. Далее добавим команду, которая задает режим микросхемы трансивера CAN (PB7 -> «1»):

5. Припаиваем к модулю 2CAN выводы для подключения к шине CAN, и выводы для программирования по SWD, питание же платы осуществляется через разъем USB:

6. Припаиваем резистор ( 560 Ом, но не критично ) для правильной работы USB:

7. Программируем:

Соответствие выводов платы и модуля такое:

8. Проверяем как наш модуль определяется компьютером, и зададим более удобный для работы номер COM порта для модуля:

9. Запускаем программу, настраиваем на заданный COM порт, и подключаемся к работающей CAN шине какого либо устройства (драйвера от STM были уже установлены), результат есть:

Читайте также:  Как заняться шинами

Подключаться к шине автомобиля решил с помощью имеющегося диагностического адаптера ELM327 (удобный корпус, легко устанавливать и вынимать), просто припаяв провода к его разъему от 2CAN модуля:

Три провода, CANH (pin 6), CANL (pin 14) и «земля» (pin 4 & 5):

Вот к примеру показания с «Дастера» 1.6, там CAN шиной объединены только блок управления двигателем, блок ABS и блок 4WD, подключаемся:

И видим такие данные:

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

Некоторые данные нуждаются в простой обработке, где-то поделить, где-то рассчитать по формуле. Но все просто и без заморочек.
Или к примеру, Outlander III, подключаемся к CAN шине салона автомобиля, за приборным щитком.

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

Открыть автомобиль:

Закрыть автомобиль:

Что было добавлено в исходный код (в файле usb_cdc_if.c), выбор скорости:

и несколько подобных процедур для задания скорости (в файле main.c, для примера укажу пару):

Про контрольные светодиоды думаю вопрос не актуальный.

Как то так, суеты на пол дня :). Конечно есть некоторые шероховатости в работе программы, но это уже не ко мне (я надеюсь). Если есть вопросы, советы, и если кому надо помочь запрограммировать такой модуль — спрашивайте тут. Извиняюсь за огромные фотки 🙂

Надеюсь, что никого не обидел написанием этой статьи…

С уважением, Астанин Сергей. ICQ 164487932.

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

P.S. Немного еще исправил код в проекте, можно менять скорость обмена, и обмениваться используя стандартные заголовки. Разобрался с программой CANHacker, можно улучшать и модернизировать проект по необходимости, все просто.

Связь вполне устойчивая с другими блоками автомобиля, можно использовать (проверено на Volvo, Renault и Mitsubishi).

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

Преобразователь шины интерфейса CAN на USB

Данный проект предназначен для изготовления простого устройства для мониторинга шины CAN. Я выбрал микропроцессор NUC140LC1CN 32K Cortex-M0 по одной главной причине – он имеет периферийные блоки USB и CAN.

Характеристики проекта

  • Простота разработки
  • Совместимость с протоколом LAWICEL CANUSB
  • Мониторинговое устройство отображается как USB FTDI устройство
  • Поддержка 11-битных CAN 2.0A и 29-битных CAN 2.0B кадров
  • Наличие внутреннего буфера сообщений FIFO CAN
  • Питание от USB порта
  • Загрузчик, хранимый в памяти USB запоминающего устройства, для обновлений микропрограммы
  • Микропрограмма, которая доступна для загрузки

Схемное решение

Для разрешения периферийному блоку NUC140 CAN соединяться с шиной CAN необходимо наличие приемопередатчика CAN. Для этой цели наиболее пригодна микросхема TJA1051T от компании NXP. Блок NUC140 может работать от источника питания напряжением 5В. Поэтому нет необходимости для применения дополнительного стабилизатора напряжение на 3.3В. Это позволяет значительно упростить задачу реализации интерфейса шины CAN. В схеме предусмотрено три светодиодных индикатора состояния:

  • D1 – индикатор состояния USB соединения с хостом
  • D2 отображает активность шины CAN
  • D3 отображает ошибки интерфейса CAN

NUC140 не имеет встроенного загрузчика и единственным способом его запрограммировать — использовать интерфейс ARM Serial Wire Debug (SWD) (J2 коннектор) и программатор Nuvoton ICP. Ну и естественно, если загрузчик уже заранее запрограммирован, то его можно активировать. Для этой цели необходимо использовать джампер JP1. Использование джампера JP1 перед подачей питания на интерфейс приведет к запуску загрузчика.

Загрузчик

Флэш-память NUC140LC1 разделена на две секции. Одна из них предназначена для выполнения кода пользовательской программы (APROM) размером 32K, а другая для загрузчика (LDROM). Размер LDROM только 4K, что делает проблематичным создание полностью функционального USB загрузчика. Я использовал загрузчик, размещенный на запоминающемся устройстве (MSD), предоставленный Nuvoton. Установка джампера JP1 запускает выполнение загрузчика. В результате съемный диск будет отображаться в файловой системе хоста размером 32 кБ. Просто скопируйте и вставьте или перетащите и опустите обновление микропрограммы CAN-USB на диск загрузчика. Отсоедините USB кабель, снимите джампер и подсоедините кабель снова. Теперь должна выполняться обновленная микропрограмма.

Программирование интерфейса CAN-USB и NuTiny-SDK-140

Для программирования процессора NUC140 потребуется программатор Nu-Link от Nuvoton и программное приложение Nuvoton ICP. Но вместо него я решил использовать демонстрационную плату NUC140 (NuTiny-SDK-140), доступную от Digi-Key. Она имеет две части, часть с микросхемой NUC140 и собственно программатор Nu-Link. Плата равномерно перфорирована, что позволяет отсоединить часть Nu-Link. На самом деле вы может изготовить данное устройство исключительно на демонстрационной плате NuTiny-SDK-140, добавив только дополнительную микросхему приемопередатчика CAN.

При подсоединении Nu-Link процесс программирования NUC140 становится несложным. Ключевым вопросом является выбор загрузки из LDROM вместо APROM (в Config настройках) для обеспечения функционирования USB загрузчика.

Программное обеспечение

Интерфейс CAN-USB совместим с протоколом LAWICEL CANUSB и будет работать с приложениями, предназначенными для данного протокола. Я протестировал два приложения с интерфейсом CAN-USB:

CANHacker V2.00.02

Это бесплатное приложение CANHacker. Я не смог найти руководство пользователя для этого приложения. Однако оно достаточно простое и интуитивное при использовании.

Источник: cxem.net