Skoda Kodiaq (2.0TSI 180 л.с.)

Lin Bridge или заставляем работать кнопки нового руля.

Я їжджу на Skoda Kodiaq, Volkswagen Golf Mk7
Київ, Україна

После установки нового руля
www.drive2.ru/l/600507347554534809/
У меня пропала возможность переключаться между меню на приборке.
Не работаю две нижние кнопки справой стороны.
Я могу колёсиком прокручивать все показания БК но не могу выйти на уровень выше чтобы переключиться например на меню асистентов. Все потому, что на новом руле кнопки имеют другие коды. И новые приборки, которые идут с новым рулём имеют горизонтальное верхнеуровневое меню а не вертикальное как со старым.
Вариантов решения этой проблемы несколько:
1. В чип приборки влить коды кнопок нового руля. Этот вариант требует снятия приборки и вычитывания eeprom, его модификацию и заливку. Это можно сделать с помощью программатора и программы для редактирования приборки. Но там есть нюансы которые требуют изучения.
www.drive2.ru/l/6475842/
www.drive2.ru/l/583175745765950173/

2. Сдампить прошивку с процессора обрабатывающего нажатия кнопок руля, подменить id новых кнопок на старые и влить назад. Тут информации никакой. Возможно проц вообще не поддерживает вычитку программы. А уж найти коды кнопок в бинарном коде ещё та задача.
3. Поставить плату между рулём и гейтом в разрыв lin шины. Плата должна распознавать нажатые кнопки и подменять коды новых кнопок на коды старых. Остальные посылки должна пропускать без изменений. Этот вариант мне показался наиболее лёгким, тем более уже есть успешные решения.
www.drive2.ru/l/555572231472677127/
www.drive2.ru/l/558490885088609657/
www.drive2.ru/l/565526934872653851/
www.drive2.ru/b/584201315236723640/
www.drive2.ru/l/596414140642238243/

Итак на Али была куплена отладочная плата с процессором STM32F042.
a.aliexpress.com/_As7MFi
По мимо процессора на борту был один can модуль и один lin модуль а также плата согласования ttl-usb и выведены все ноги процессора на разъемы, что позволяло цеплять указанную переферию на Нужные порты.
У процессора всего 20ног, при этом два порта USART. Один из них поддерживает Lin шину на уровне HW. Т.е. умеет отсылать Break сигнал в режиме мастера и его определять в режиме Slave.
Более детально про lin шину можно почитать в спецификации Lin 2.0 в инете. Основное выделено в посте
www.drive2.ru/b/584201315236723640/

Так как на плате только одна микросхема lin пришлось купить ещё отдельно платку lin-ttl со второй микросхемой.
a.aliexpress.com/_9hqkZm

В итоге одной lin микросхемой подключается к гейту, второй — в сторону руля в разрыв lin шины.
Очень полезным оказалась и микросхема ttl-usb с помощь нее, можно выдавать на виртуальный com port ноутбука то что получает из Лин шины или что отсылает процессор в lin шину. В итоге в первую очередь я просто просниферил обмен по lin шине между гейтом и рулём. Нашел нужную посылку в которой передаются нажатые клавиши. Также определил id клавиши старого руля и нового.
К плате идёт не только описание электрической схемы платы, но и примеры кода с простейшим обменом по lin или can шине.
Его конечно пришлось переписать, но базовые принципы инициализации и приема-передачи данных я из него почерпнул.
Вобщем пришлось развернуть Keil ide и вспомнить как программировать на С++.
Для того, чтобы влить программу нужен программатор. Его тоже купил на ali.
Также в Польше за небольшую цену удалось купить круглый руль нового поколения с кнопками и емкостным сенсором. Кстати руль в продаже. Он требует замены кожи.
Этот руль использовал для отладки программы, чтобы не бегать постоянно в авто.

В автомобиле решил подключится у разъема подрулевого блока. Нужно питание 12В, масса и lin шина.
Для подключения, нужно снять кожух на рулевой колонке. Его можно снять не снимая руль.

А дальше все на разъёмах. 3 пина вытащили и вставили в провод идущий к блоку. И три пина от блока воткнули в разъем.

Результат

Длины хватает чтобы подключить блок внизу пластика рулевой колонки.

После подключения проверяю работу.
По нажатию правой кнопки попадаю в Верхнее меню

По нажатию левой кнопки, открывается меню телефона.

Соответственно вместо кнопки телефона можно сделать кнопку view. Да и впринципе можно сделать подмену любых кнопок. И даже симулировать сигнал датчика емкостного руля, что руки лежат на руле.

Единственная проблема — это почему-то при попытке активировать подогрев руля, он выпадает в ошибку.

При этом до включения подогрева, блок шлёт нормальную температуру на руле, а после попытки включения показывает -50С.

В следующем посте я расскажу более детально про обмен между гейтом и рулём. А также затрону тему энергосбережения. Так как на MQB питание на кнопках остается даже на заглушено и закрытом авто. И кнопки уходят в сон по команде с гейта. От него же и просыпаются.
Ну и нужно искать решение проблемы с подогревом руля. Возможно требуется оптимизация программы для более быстрой работы.

Опубліковано: 23 січня 2022р. 14:44
0 0 0

Коментарі

Щоб залишати коментарі, потрібно авторизуватись.