Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

MCP2515, контроллер CAN шины с интерфейсом SPI

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Эмулятор can шины для магнитолы своими руками

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

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

Читайте также: Ваз 2110 рекомендуемые шины

Эмулятор can шины для магнитолы своими руками

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

Эмулятор can шины для магнитолы своими руками

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

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

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

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

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

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

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

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

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

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

Видео:Универсальный CAN адаптер MFD207CAN-UN (часть 2)Скачать

Универсальный CAN адаптер MFD207CAN-UN (часть 2)

Эмулятор can шины для магнитолы своими руками

Продублирую тут.Некоторое время назад занялся CAN шиной. Наконец созрела статья, как сделать простейший кан сниффер для Астры (легко адаптировать к любой другой марке, конечно).
Начнём сразу со схемы!

Эмулятор can шины для магнитолы своими руками

Добавлено:
По многочисленным вопросам.
Цели следующие.
ЛС кан:
оповещение о выключенных фарах во время движения,
отображение температуры мотора и напряжения на одометре или на стрелках приборов,
функция «спасибо» — моргнуть только задними аварийками,
отображение реальной скорости на одометре
отображение, какая дверь открыта (на одометре?)
другие плюшки – см «кан адаптер» и «мини кан адаптер»
МС кан:
включение и отключение компрессора одним нажатием (климат контроль)
ввод команд цифровыми кнопками магнитолы д команд цифровыми кнопками магнитолы

Добавлено: пример лога
Hello World!
Starting sniffer v0 program
Time (ms) ; ID ; Length ; B0 ; B1 ; B2 ; B3 ; B4 ; B5 ; B6 ; B7
8; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
29; 108; 8; 13; C; 34; 0; 0; 0; 0; 0
79; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
83; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
108; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0
112; 130; 7; 0; DB; 28; 0; 0; 0; 0; 0
129; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
179; 625; 8; 0; 48; 50; 0; 0; 0; 0; 0
183; 108; 8; 13; C; 38; 0; 0; 0; 0; 0
208; 110; 5; 0; 48; 16; 4A; E; 0; 0; 0

Читайте также: Как правильно измерить шины автомобиля

И после импорта данных в эксель:

Эмулятор can шины для магнитолы своими руками


Добавлено. Важно!

С указанным преобразователем напряженияиногда наблюдается падение шины LS, уже при подключении устройства. Не знаю, с чем связано. Возможно, решится добавлением конденсатора.
==> Barm76 подсказал, что питание нужно обвесить конденсаторами: вход 220 мкФ 25В, выход 470 мкФ 16В

Эмулятор can шины для магнитолы своими руками

Эмулятор can шины для магнитолы своими руками

Заранее извиняюсь, если создал тему не там.

Всем привет. Установил себе на Passat B3 ABS+EDS от G4, но тут возникла непредвиденная проблема. Эта ABS имеет связь по CAN-шине, которой у меня в машине естественно нет. Опытным путём было установлено, что несмотря на отсутствие шины всё функционирует и прекрасно работает. Таким же опытным путём было установлено, что на G4 АБС начинает бить тревогу при отключении приборной панели от CAN-шины. При этом всё функционирует, но АБС не нравится отсутствие связи. Изучая форумы узнал только то, что в приборке бортовой комп online тестирует блок на ошибки. Больше ничего такого связанного с АБС и приборкой не нашёл.

Так вот вопрос можно ли как-то эмулировать сигналы CAN-шины?

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

И ещё такой небольшой вопрос: не могу разобраться как фунционирует схема (слева), в ней 2 транзистора и один диод. Уважаемый товарищ сказал, что это мультиплексор, который при ошибке подушек или АБС зажжёт на приборной панели контрольную лампу (!) неисправности. Так ли это?

Смотрите также

Видео:Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать

Can Bus - что это такое ? Зачем нужен ? Как настроить ?

Комментарии 46

Эмулятор can шины для магнитолы своими руками

Эмулятор can шины для магнитолы своими руками

Будем искать эту же АБС версии без кан

Эмулятор can шины для магнитолы своими руками

Есть очень простенький шилд для Ардуино (CAN-BUS Shield). Он может как передавать, так и получать CAN-сообщения, при чем программно делается это очень просто. Остается только разобраться что передавать и что получать, но здесь уже нужно читать конкретную документацию по CAN устройству.
Вот некоторые ссылки:
— www.seeedstudio.com/wiki/CAN-BUS_Shield
— devicter.ru/goods/CAN-BUS-Shield

Эмулятор can шины для магнитолы своими руками

Да к сожалению сошлись уже на том, что без приборки никак

Эмулятор can шины для магнитолы своими руками

не могу что-то у себя в эльзе найти варианты кодировок на эту АБС. странно, что она не ругается в диагностике на отвал CAN-шины. А вот лампу зажигть должна, если нет связи с приборкой
Тут ещё видишь какая фишка, в этих машинах приборка является так называемым гейтвеем CAN-шины. короче коммутатор и основа коммуникаций между блоками, в т.ч. сидящими на разных шинах: Шина-привод (Мотор, КПП, АБС), Шина-комфорт, аналоговые датчики всякие и т.д. Без этого гейтвея у АБС естественно не будет
информации от моторного блока о нагрузке, и информации от датчика скорости в КПП. ну и т.д.

Читайте также: Датчики давления в шинах мазда 6 gh 2008

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

Эмулятор can шины для магнитолы своими руками

Ты почти всё верно сказал, кодировка моего блока 13504 если верно помню.

Но насчёт информации от датчика скорости, нагрузке блока и т.д. переборщил. Всё это применяется, если блок ещё поддерживает ASR (антибукс), тогда да, а мой блок в этом отношении стационарен, ему не требуются подобные сигналы

Эмулятор can шины для магнитолы своими руками

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

Видео:Ставим эмулятор CAN шины для магнитолы RCD 330+. Делаем Рапид солиднее за 9000 рублей. часть 2-яСкачать

Ставим эмулятор CAN шины для магнитолы RCD 330+. Делаем Рапид солиднее за 9000 рублей. часть 2-я

P.S. у меня, кстати, на Б4 тож стоит марк20, только более старая версия без CAN-шины конечно-же

Эмулятор can шины для магнитолы своими руками

Да знал бы я про эту CAN на «рестайловом» марк 20, то искал бы «дорестайл» от В4, а теперь уже на машине всё стоит, не хочется переделывать. Вот и ищу как заткнуть CAN

Эмулятор can шины для магнитолы своими руками

А какая именно АБС-ка? марк 20 или марк 60

Эмулятор can шины для магнитолы своими руками

Марк 20. От Марк 60 CAN-модуль отстыковывается вроде

Эмулятор can шины для магнитолы своими руками

а ошибки только по кан-шине?

Эмулятор can шины для магнитолы своими руками

По K-line вообще чисто, не даёт никаких ошибок. Про тревогу мы узнали только экспериментальным путём, когда на G4 отсоединили приборку

Эмулятор can шины для магнитолы своими руками

Вообще, CAN-шины две: высокоскоростная и низкоскоростная. По высокоскоростной CAN-шине связаны блок управления двигателем (ECM), блок ABS, блок управления автоматической трансмиссией (TCM) и центральный блок управления. По низкоскоростной шине связаны центральный блок управления блок климат контроля, блок управления доступом, компьютер, блок навигации, и приборная панель.

Основной же обмен происходит между блоками ABS и ECM. При этом, каждый из них имеет отдельный провод к приборке, по которму зажигается лампа неисправности (ABS и Check Engine, соответственно).

Если блок ABS ещё и выполняет функцию системы стабилизации ESP, то по высокоскоростной CAN-шине к нему подключаются ещё и датчик динамических сил, и датчик положения рулевого колеса (у вас нет, как понимаю, только блокировка дифференициала EDS). Прошивки блоков ECU в машинах с ABS и с ABS+ESP сильно отличаются.

У вас формируется ошибка «Сбой по CAN-шине» С0140. Она и приводит к зажиганию контрольной лампы ABS.

Кстати, а вы пробовали повесить между проводами CAN-шины стандартное нагрузочное сопротивление — обычный резистор номиналом 120 Ом. Что бы ваш блок ABS «почувствовал» внешнюю нагрузку реальной шины. Может быть, этого, на физическом уровне будет достаточно? И не важно, что на канальном уровне нет синхронизации от других CAN-устройств? Попробуйте! Самое простое.

Видео:Как управлять автомобилем через CAN-шину?Скачать

Как управлять автомобилем через CAN-шину?
  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле


    🌟 Видео

    Магия CAN-шиныСкачать

    Магия CAN-шины

    Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)Скачать

    Arduino CAN Sender ( Ардуино отправка пакетов в КАН шину)

    Универсальная плата CAN шиныСкачать

    Универсальная плата CAN шины

    Arduino CAN Monitor (простейший монитор шины CAN)Скачать

    Arduino CAN Monitor (простейший монитор шины CAN)

    CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТСкачать

    CAN блоки в магнитолах Android или CAN шина в автомобиле ВОПРОС/ОТВЕТ

    CAN Эмулятор скорости из модуля CAN StarLine Stm32f103c8t6 Подмотчик скорости по кан шине (без схем)Скачать

    CAN Эмулятор скорости из модуля CAN StarLine Stm32f103c8t6 Подмотчик скорости по кан шине (без схем)

    CanHacker из 2CAN модуля своими руками КанХакер подробно в деталяхСкачать

    CanHacker из 2CAN модуля своими руками КанХакер подробно в деталях

    Настройка can шины магнитолы андроид vw volkswagen vagСкачать

    Настройка can шины магнитолы андроид vw volkswagen vag

    CAN Hacker своими руками пример чтения кан шины с помощью ARDUINO MCP2515Скачать

    CAN Hacker своими руками пример чтения кан шины с помощью ARDUINO MCP2515

    CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)Скачать

    CAN Bus Gateway (самодельный кан шлюз с дополнительными плюшками)

    Кан шина, что это? Поймет школьник! принцип работыСкачать

    Кан шина, что это? Поймет школьник! принцип работы

    Как настроить Canbus на Android магнитоле . Правильное подключение .Скачать

    Как настроить Canbus  на Android магнитоле . Правильное подключение .

    "CAN BUS" кан бас (кан адаптер) - что и как простыми словами.Скачать

    "CAN BUS" кан бас (кан адаптер) - что и как простыми словами.

    Эмулятор Can bus для магнитол VAGСкачать

    Эмулятор Can bus для магнитол VAG
Поделиться или сохранить к себе:
Технарь знаток