Canhacker своими руками из 2can starline
Прочитал замечательную статью на Хабре, 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, подключаемся:
И видим такие данные:
Некоторые данные нуждаются в простой обработке, где-то поделить, где-то рассчитать по формуле. Но все просто и без заморочек.
Или к примеру, Outlander III, подключаемся к CAN шине салона автомобиля, за приборным щитком.
Смотрим данные на экране компьютера, и что меняется при нажатии на кнопку открыть и закрыть автомобиль. И пары нажатий на соответствующие кнопки, хватает узнать какие команды надо подать, чтобы открыть или закрыть автомобиль. Эти коды кратковременно появляются в строчке, обведенные красным овалом. Повторяем эти команды в окне для передачи и:
Открыть автомобиль:
Закрыть автомобиль:
Что было добавлено в исходный код (в файле usb_cdc_if.c), выбор скорости:
и несколько подобных процедур для задания скорости (в файле main.c, для примера укажу пару):
Про контрольные светодиоды думаю вопрос не актуальный.
Как то так, суеты на пол дня :). Конечно есть некоторые шероховатости в работе программы, но это уже не ко мне (я надеюсь). Если есть вопросы, советы, и если кому надо помочь запрограммировать такой модуль — спрашивайте тут. Извиняюсь за огромные фотки :)
Надеюсь, что никого не обидел написанием этой статьи…
С уважением, Астанин Сергей. ICQ 164487932.
(к сожалению, ветка форума с первоначального сайта с познавательной перепиской вся пропала, что смог восстанавливаю, ссылки на проект если кому надо добавлю)
P.S. Немного еще исправил код в проекте, можно менять скорость обмена, и обмениваться используя стандартные заголовки. Разобрался с программой CANHacker, можно улучшать и модернизировать проект по необходимости, все просто.
Связь вполне устойчивая с другими блоками автомобиля, можно использовать (проверено на Volvo, Renault и Mitsubishi).
Анализатор 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 шины. Кан хакр так же используется для поиска необходимого пакета для подмотки спидометра и последующей записи ее в подмотку.
С помощью CAN-Haker вы сможете:
- Проанализировать работу CAN и LIN шин авто и спец.техники
- Отображение Can – посылок, принятых в Can шине
- Включать «на столе» блоки управления и агрегаты автомобиля контролируемые по CAN и LIN шинам (например блоки кнопок, приборные панели и т.д.)
- Эмулировать работу измерителей и блоков управления напрямую в машине
- Программировать блоки управления машин
Все данные функции адаптера CAN Haker, за его совсем небольшую цену, окажут бесценную помощь во время ремонтных работ, а также при установке и разработке вспомогательного охранного, навигационного оборудования для различной мобильной техники.
Функционал основной версии КЭН-Хакер 3.0 может быть сильно расширен используя дополнительные опции и программы. Список опций постоянно растет, за новостями следите на сайте www.eobd.ru
Дополнительные опции:
-
анализатор шины LIN.
- K это дополнительная опция для CAN-USB интерфейса CAN Hacker 3.0
Теперь весь перечень функций КАН-Хакера Бомбер интегрирован в программное обеспечение CAN анализатор.
Бывают случаи когда нужно срочно выяснить какой пакет в КАН шине за какую функцию отвечает, если протокол обмена не стандартизирован то сделать это очень проблематично и длительно по времени. Или не имея автомобиля будет сложно узнать какой пакет отвечает за определение скорости, а какой за угол поворота стрелки тахометра. Утилита канхакер Bomber, позволит изучить CAN шину методом спуфинга т.е. программа просто посылает пакеты с заданными нами байтами данных в заданном диапазоне ID.
- Дополнительная опция KIA-Coder для работы с автомобилями KIA-Hyundai
С помощью КИА-Кодер можно осуществить вариантное кодирование EOL на машинах КИА и Хендай, перекодировать память панели приборов через базовый диагностический разъем OBD2. Различное программирование дает активировать и де-активировать разные опции автомобиля, такие как: Давление внутри шин TPMS, адаптивный свет и другие.
4. Дополнительная опция для работы с автомобилями Nissan Leaf Leaf-Coder
- -Hacker Leaf-Coder бесплатная и простая программа для кодирования панелей приборов Ниссан Лиф и Teana через разъем OBD2.
С помощью Лиф Кодер можно в полной мере читать и писать EEPROM панели приборов через разъем и исправлять одометр без съема панели.
Теперь разберем преимущества Канхакер 3.0 перед другими адаптерами.
Преимущества CAN-Hacker 3.0:
- Два канала СAN(КЭН). Возможность проброса пакетов из канала в канал, работать в режиме СAN(КЭН) шлюза / CAN гейтвея при помощи специальной прошивки идущей в комплекте
- Подключаемые терминаторы 120 Ом
- Функция работы с LIN шиной. (доп. опция)
- On-line (онлайн) обновление
- Функция автоматического перебора (поиска) ID программой CAN Hacker -Bomber
- Миниатюрный корпус
- Питание от USB
- Сохранение пакетов сообщений в формате текста на жестком диске для ПК.
- Запись логов сообщений в реальном времени
- Анализ и просмотр логов
CANHacker 3.0 (КЭН Хакер 3.0) может работать как со старым ПО CANHaker (кан хакер) 2.002 так и с новым анализатором CAN.
Пожалуйста, прочитайте этот материал полностью!
Установка драйвера
После установки драйвера и подключения интерфейса к компьютеру в диспетчере устройств в разделе Порты должно появиться устройство “STM Virtual Com Port”. Порту будет присвоен номер, например COM3, как на скриншоте ниже. Номер порта будет необходимо ввести в программе CARBUS Analyzer при подключении к интерфейсу, поэтому запомните этот номер.
Возможные проблемы при установки драйвера и методы их решения
Проблемы при установке драйвера могут возникать на старых версиях Windows XP и Windows 7. При этом в диспетчере интерфейс определяется как виртуальный COM порт, но при попытке соединиться с ним, программное обеспечение зависает, либо выдает ошибку. В этом случае обратите внимание на, что на нашем сайте доступны для загрузки два варианта драйверов, и необходимо попробовать установить версию драйвера отличную от той, которая была установлена в первую очередь. Как правило это помогает решить проблему.
Вторая проблема может заключаться в низкой скорости работы интерфейса. В этом случае принимаемые пакеты отображаются с явной задержкой. Это может является следствием того, что на компьютере устаревший контроллер USB. Решить проблему поможет использование внешнего USB хаба (разветвителя), который согласует размер пакетов интерфейса и USB контроллера материнской платы компьютера.
Для работы с интерфейсом CAN-Hacker 3.2 в качестве анализатора шин CAN и LIN необходимо скачать программное обеспечение CARBUS Analyzer на странице СКАЧАТЬ.
Затем распаковать скачанный архив.
В архиве находится как сама программа CARBUS Analyzer, так и утилита для обновления прошивок UBT (папка UBT) с папка с набором актуальных прошивок (UBT\Firmware files)
Настройка программы CARBUS Analyzer и интерфейса для работы с шиной CAN
Если Вы новичок в работе с шиной CAN, обязательно прочтите материал по ссылке.
В меню Settings, в выпадающем списке Device type выбрать CAN_Hacker v 3.x
В выпадающем списке Device mode необходимо выбрать режим работы интерфейса. Доступные режимы:
В выпадающем списке Source необходимо выбрать порт, на котором определяется интерфейс в системе .
Настройка каналов CAN
В случае если тип интерфейса определен неверно или в него загружена устаревшая прошивка, то появится сообщение Invalid Device type
Подключение к CAN шине
Подключение к CAN шине осуществляется при помощи поставляемого с интерфейсом кабеля
Назначение проводов:
Желтый с черной полосой – CAN-Low канал 1
Желтый с белой полосой– CAN-High канал 1
Оранжевый с черной полосой – CAN-Low канал 2
Оранжевый с белой полосой – CAN-High канал 2
Назначение переключателей на плате
DIP переключатель на плате устройства служит для подключения резисторов терминаторов 120 Ом между линиями CAN-High и CAN-Low. В положении ON резисторы подключены.
Если настройки CAN произведены верно, физическое подключение к шине верно и на шине присутствует обмен данными то после нажатия кнопки Connect в окне приема отобразятся данные передаваемые по шине CAN.
Работа с шиной LIN
(Должен быть установлен и активирован LIN адаптер )
Для работы с шиной LIN необходимо перевести интерфейс CAN-Hacker 3.2 в режим работы анализатора шины LIN. Для этого необходимо:
- Зайти в меню Settings
- В выпадающем списке Device type выбрать CAN-Hacker v3.x
- В выпадающем списке Device mode выбрать CAN Dual channel + LIN или LIN Only
- В выпадающем списке Source выбрать порт на котором в системе определился интерфейс.
После выбора типа и режима интерфейса необходимо:
- Перейти на вкладку Channel 1: LIN. Которая активируется после выбора режима LIN на предыдущей вкладке Device.
- В выпадающем списке Channel baudrate выбрать скорость обмена на шине LIN
- В выпадающем списке Detection time выбрать минимальную предполагаемую паузу между пакетами. Рекомендуется оставить значение по умолчанию –2 миллисекунды.
- Выбрать тип контрольной суммы. Если тип определен неверно, ничего страшного, на прием пакетов это не влияет.
Параметр LIN CRC Type определяет тип используемой методики расчета контрольной суммы при работе с шиной LIN. На способность интерфейса принимать пакеты этот параметр не влияет. В случае если тип контрольной суммы определен неверно, то при передачи пакетов через интерфейс, принимающая сторона будет эти пакеты игнорировать.
Подключение к шине LIN осуществляется при помощи поставляемого с опцией анализатора LIN кабеля.
Либо по схеме:
Внимание! Подключение к шине LIN исследуемого устройства или автомобиля требует обязательного подключения массы (GND) и напряжения питания +12 В.
Если подключение и настройки сделаны верно и изучаемая шина LIN активна, т.е. происходит обмен данными между Master и Slave устройством, либо поступают запросы от Master узла, то в окне приема отобразятся передаваемые по шине LIN данные.
CAN-Hacker 3.0 (далее CH3.X) это базовый продукт, представляет собой универсальный USB адаптер CAN шины с возможность как аппаратного так и программного расширения функционала. С помощью этого адаптера Вы сможете:
- Анализировать работу CAN и LIN шин автомобилей и спец. техники.
- Включать «на столе» блоки управления и агрегаты автомобилей управляемые по CAN и LIN шинам (например рулевые рейки и агрегаты ЭГУР)
- Эмулировать работу датчиков и блоков управления непосредственно на автомобиле
- Программировать блоки управления автомобилей.
Все эти возможности окажут неоценимую поддержку в процессе ремонта автомобилей, а так же во время установки и разработки дополнительного охранного, телематического и навигационного оборудования для любой подвижной техники.
Достоинства CAN-Hacker 3.0:
- Два канала CAN. Возможность работать в режиме CAN шлюза \ CAN гейтвея при помощи специальной прошивки идущей в комплекте
- Подключаемые терминаторы 120 Ом
- Возможность работы с LIN шиной. (дополнительная опция)
- On-line обновление
- Возможность автоматического перебора (поиска) ID программой CAN-Hacker-Bomber
Наш CAN — USB адаптер работает с известной программой CAN-Hacker, так же мы разрабатываем улучшенную версию нашего программного обеспечения для анализа шин CAN и LIN.
ВНИМАНИЕ!
Все устройства поставляются «как есть». Мы не несем никакой ответственности за результаты применения нашего оборудования. То есть, если при использовании нашего оборудования что-либо сломается, то это целиком и полностью вина пользователя устройства. Приобретая CAN-Hacker Вы соглашаетесь с этими условиями и условиями описанными ниже.
Прежде чем покупать CAN-Hacker, который является профессиональным инструментом для работы с автомобилями, обязательно убедитесь в том, что:
- Вы умеете устанавливать драйвера для новых устройств в вашей версии Windows
- Вы знаете устройство CAN шины и принципы ее работы
- Вы имеете базовые представления об электронике и электротехнике
Кроме того следует учесть и согласиться:
- Техническая поддержка оказывается только в рабочие дни через электронную почту. На форуме Вы можете задавать вопрос в любое время.
- Совместимость утилиты CAN-Hacker от canhack.de с конкретно вашей конфигурацией и версией Windows НЕ ГАРАНТИРУЕТСЯ. Возможно будет необходимо подобрать правильный драйвер виртуального COM порта или удалить ранее установленные драйверы, которые могу конфликтовать с драйверами STM на которых построен CAN-Hacker. Так же возможно потребуется переустановка операционной системы вашего ПК.
- Если CAN-Hacker не поддерживает скорость CAN шины которая применена в исследуемом Вами автомобиле, то нам потребуется некоторое время, чтобы добавить эту скорость.
Если у Вас есть какие-либо сомнения — лучше CAN-Hacker не покупать.
Рекомендуем покупать сразу полный комплект.
Посмотрите какой функционал имеет Can Hacker ( для работы по кодировании KIA необходимо докупать модуль KIA-Coder )
Однозначно пятёрачка! Молодец, хоть кто-то полезные ролики на Ютюб выкладывает.
Акрамов Руслан
Пришел алика ST-Link\v2, в STM32 CubeProgrammer обновил прошивку самого программатора. А вот подключаться он в программе не хочет. Реакции н нажатие кнпоки Connect нет. Что может быть не так?
БАЙГАЗЫ НАС
Здравствуйте можно распеновка 2кан
Vladimir Yakovenko
Здравствуйте, с помощью этого прибора можно будет эмулировать ВИН код автомобиля по КАН шине, чтобы отключить заводскую защиту компонентов?
Анна Степанова
Andrey Muhin
Можно с вами связаться может что подскажете
Andrey Muhin
Здравствуйте после прошивки у меня 2 stm32 виртуалных порта появилось
Акрамов Руслан
Доброй ночи. Подскаите адаптер STlink купленный на алиэкспрессе подойдет для програмирования can модуля Starline.
videohost ggg
Собрал, но у меня не заработало. Прошил, пк определяет, кан хакер устройство определяет. При подключении к машине, при попытки прослушать кан шина начинает сходить с ума, на щитке все начинает моргать, Id не видит. Залил вторую прошивку та что исправленная. Единственно что сделал не по инструкции залил прошивку по uart в бут режиме утилитой flash loader demonstrator. Может быть проблема в том что лью .hex? St-lika у меня нет.
Aleksandr Ogienko
Sergei zdrastvyi. Kak deliski. A prokticheski kak on pomoch moget?
Aleksandr Ogienko
Izvenjaus a mogno sdelat chtobi on i lin videl?
Unknown
Супер!)) Просто!) Легко!))) ,и доступно!)))
Станислав Алексеев
Подскажите кто-нибудь делал что то похожее на
модуле 2can 2lin, просто 2can что то трудно найти.
Дмитрий Козный
У меня он криво работает на отправку сообщений .
Radio Scan
Пользователь Интернета
Замечательно и, главное, кратко. Только ★★★★★ и 👍. Еще бы научить народ говорить и писать не "модуля", а модули; не "драйвера", а драйверы. и на тебя можно было бы молиться. И классики-писатели не переворачивались бы в гробах. Судя по одинокому дизлайку, завистников у тебя не много ;-)
Security StylingLab
у меня на одном ноуте подключается, а на втором нет . на обоих винда 10, драйвера идентичные канхакер тоже. не подскажите куда копать?
Reggie Kray
При подключении модуля к J-link, обнаружил ошибку в распиновке, выложенной автором. На картинке поменяны местами контактные площадки GND и VDD
Читайте также: