Comments 72
кое-кто имел опыт убивания блока управления ЦВТ :)
Повторив обмен seed-key с алгоритмом из прошивки получим в ответ 6702 34, где 34 это «Доступ разрешен».
А можно поинтересоваться алгоритмом?
Впрочем, можно поснимать штук н-цать логов с родного MUT-3 и попробовать перебрать значения. Там, насколько я понимаю, 16 (начальное значение) + 8 (множитель 1) + 8 (множитель 2) бит перебирать, по современным меркам — любой калькулятор справится.
Автору в любом случае спасибо, занятная информация.
www.youtube.com/embed/swn4xJm-TrE
Еще по такому же протоколу работает ряд французов.
С одним пареньком, который написал свою софтинку под Windows даже хотели написать Android-программу для Lexia через usb-otg.
Я научился обмениваться «приветствием» с Lexia, определять машину.
Но дальше, по некоторым причинам, всё заглохло и я передал исходники.
Не знаю, чем закончилось дело…
Еще по такому же протоколу работает ряд французов.
А именно Peugeot 4007/4008 и Citroen C-crosser (это те же аутлендеры, только со своим шильдиком)
А если так беспокоит надежность, то возникает вопрос: а почему вообще взгляд был на ардуино, там и код и железо весьма паршивого качества.
Хардварный трансивер стоит копейки, геморроя не в пример меньше, зачем оно вам.
www.chipdip.ru/product/tja1020t-cm.118
Если не хочется заморочек с ЛУТом, можно поискать LIN Shield у китайцев. Кажется, я что-то подобное видел.
Если проявите минимальную активность на сайте e2e.ti.com (а именно: зададите вопрос по существу, вам на него ответят и вы пометите ответ, как полезный и так несколько раз), то для TI Store дают купон на бесплатную доставку (доставляют они обычно FedEx'ом, а это не в пример молниеносно быстрее, чем покупать что либо на алиэкспрессе, обычно за неделю из штатов до стола доезжает)
А вот именно реализация протокола уже другое дело, в LIN используется по сути тот же уарт, только чутка изменен, можно использовать железный уарт в МК, можно софтварное все изобразить. Во многих современных МК штатный уарт даже поддерживает break и синхронизацию по sync, но в целом если не стоит задачи сделать все по феншую, то можно и обычный уарт из ардуины просто игнорировать битые кадры из-за brake.
Вот, например: github.com/zapta/linbus (сходу, кстати, не вызывает приступов отвращения, в отличие от большей части ардуино-кода).
P. S. Если бы железку можно было заказать готовой, я бы заказал и не морочил голову. но за вменяемые деньги и любительского уровня я подобного не видел, видел более индустриальные анализаторы от $100.
P. P. S. Вот это представляет интерес, попытаюсь выяснить, сколько будет стоить доставка.
При любви к нетрадиционным занятиям в гамаке, можно, конечно, и на GPIO сделать (откуда, кстати, цифра 20 кбит/с? я видел 4800, 9600 и 19200. Ещё 10400 есть, но это не LIN), но очень советую пользоваться по возможности аппаратными модулями. Особенно если хоть о какой-то надёжности говорить.
Потому что сразу выяснится, что LIN — это такой однопроводный UART (со специфичным признаком «начало пакета», правда), а все трансиверы — суть трансляторы уровня с процессорных 3/5 вольт до автомобильных 12+. Ну ещё там есть всякие плюшки, типа защиты от КЗ, переполюсовки, статики. Иногда бывает ещё встроенный стабилизатор (для питания того самого контроллера) и защита от подвисания контроллера (в виде ограничения на макс. длительность dominant level, чтоб шину напрочь не завесить).
Я не нашёл достоверной информации, что нужен именно LIN, но есть косвенные на то указания, например, какой-то training мануал моего автопроизводителя примерно тех же времён, что и моя машина, где сказано именно LIN, и приводится довольно детальная схема работы протокола и шины.
Я понимаю всё, что вы написали, спецификацию LIN читал
Тогда откуда идеи «GPIO без трансиверов»?
Ну и вообще, как мне кажется, для человека, который умеет «программировать на С++ за деньги», набросать реализацию этого примитивного протокола особых проблем составить не должно. Просто джаст фо фан.
все трансиверы должны быть с логически-цифровой точки зрения одинаковы
Я вам не скажу за всю Одессу, но тексасовские SN65HVDA195, nxp-шные TJA1020, микрочиповские MCP200x и ATA6631 с точностью до методики включения (из спящего режима) и поведения в этом спящем режиме совершенно одинаковы.
Я не нашёл достоверной информации, что нужен именно LIN,
Самое достоверное — взять трансивер, подоткнуть его в живую шину с одной стороны и в логический анализатор — с другой. Транспортный уровень — как на ладони.
Тогда откуда идеи «GPIO без трансиверов»?
Кроме вопросов надёжности и сертификации automotive (устойчивости к transients и load dump), я по-прежнему не понимаю, почему это нельзя сделать на GPIO + 1 полевой транзистор с изолированным затвором вместо целого трансивера. Я только не умею выбрать правильный тип и модель транзистора.
набросать реализацию этого примитивного протокола особых проблем составить не должно.Грабли, не люблю по граблям ходить, особенно там, где это касается физического железа, которое под отладчиком на паузу не поставишь и значения переменных / регистров не посмотришь. С софтом всё намного проще. Было бы LIN-master устройство, работающее на столе, я бы уже начал экспериментировать, но сидя в багажнике авто с ноутбуком этим заниматься не очень весело. Хочется просто, чтобы работало, поэтому уже заказал трансивер на Алиэкспресс, осталось дождаться. Спасибо за помощь / ликбез.
устойчивости к transients и load dump
В первую очередь нужна устойчивость к перегрузке и переполюсовке.
Отваливание незаряженного аккумулятора на полном ходу встречается редко, а криворукие прикручиватели проводов не туда — часто.
сделать на GPIO
Можно. Но первым же вопросом будет «как мне сформировать биты?». Вторым — «как мне прочитать биты и сложить их в байты?». И я ещё раз спрашиваю, зачем их героически решать, если в контроллере есть готовый модуль UART?
+ 1 полевой транзистор с изолированным затвором
Не нужен там никакой изолированный затвор.
Берите любой NPN, базу через резистор на ногу контроллера, эмиттер на землю, коллектор в линию. Для определённости, скажем, www.chipdip.ru/product/bc635pbf и килоомный резистор. Всё как по заказу — без защит и сертификаций. Для хоть какой-то защиты можно резистор воткнуть www.chipdip.ru/product0/18265 (физический размер имеет значение!)
Ну и да, приём чего-либо мы ещё не обсудили. Ардуины от 12 вольт горят.
Было бы LIN-master устройство, работающее на столе
Берём Saleae logic (must have!), паяем из двух резисторов делитель 12 -> 3.3, лезем в багажник, снимаем протокол. Возвращаемся на диван, берём отдельную ардуину, и тупо в цикле с ногодрыгом и sleep'ом повторяем услышанное.
Насчёт приёма 12 вольт Ардуиной — думал о резистивном делителе. Только не знаю, нужно ли в таком варианте использовать АЦП, чтобы правильно обработать уровни 0/1, не надеясь, что они магически совпадут с логическими уровнями выбранного МК. Но это всё умозрительно, потому что я уже послушал вас и других комментаторов — заказал TJA1021.
а чего за машина то? если тойота конца 9х, начало 200х, то MPX он вам не LIN. Это другое кино, там кольцевая сеть и вроде я видел какие-то поделки для неё
p.s. у крайслера есть авто построенные на чужой базе, у них таких проблем нет, а вот «родные»… печаль
Любая поддержка протокола, которую вы реализуете в своей железке или программе, будет специально сломана производителем авто в следующей версии, а если ему это не удастся, то он просто подаст на вас в суд.
CAN-шина прекрасный, открытый стандарт. И посмотрите во что он превратился в автомобилях. Дилеры постоянно оказывают давление на автопроизводителя — дайте нам заработать! Мы купили у вас этот стенд за 20К, мы покупаем у вас программы, запретите это делать пользователям. И разумеется, автопроизводитель идет им навстречу, ведь он так же зависит от продаж через дилеров.
Open Ford (сейчас OpenXC) была прекрасная инициатива, очень смелая. Ну и где сейчас Форд? Ну и кто из читателей Хабра купил себе Форд, потому что там есть открытый стандарт?
Это как сказать что Ethernet открытый стандарт, а посмотрите злой скайп закрыл протокол и не дает нам.
Тут ситуация двоякая еще, не дает производитель доков по работе со своей электроникой, залочил везде прошивки, все пошифровал — плохо, мы же за свободу и все такое.
Гоняет все в открытую — опять плохо, теперь любой злодей может переписать прошивку и т.д.
Форд мог бы влить денег в пиар, в организацию комьюнити вокруг этой инициативы.
Я наивно думал когда начинал что документацию я найду. Ford для следующих моделей даже свой DIY девайс какой-то сделал. И доки выложил.
В целом не подумал что оттуда можно было заснифать трафик. Сейчас уже все равно забросил все это.
Смело могу рекомендовать для VAG, хотя за рекламу мне не платят. Но давайте откровенно: даже в продукте, который существует ни один год и заточен под определенный автоконцерн, даже там не все очевидно: не все значения регистров описаны, у разных модельных годов одной и той же модели есть отличия, при работе есть вероятность накосячить. Поэтому автору большой респект за ликбез, но от меня лично огромный дисклеймер: читать автофорумы, бекапить каждый update, следить за контактом шнурка, зарядкой АКБ и ноута и… верить!
Какие, если не секрет, опции комфорта получилось так включить?
Но повторюсь, главное – это чтение кодов ошибок. Поэтому соглашусь с некоторыми авторами, bluetooth obd адаптера для насущных нужд должно хватать. А разные фичи можно активировать в неофициальных сервисах (на гарантию влиять не должно), либо брать погонять шнурки у соратников по автоклубу.
У VAG есть утилита VCDS, в народе ВАСЯ, через которую можно посмотреть любой датчик, настроить любой блок и поуправлять чем хочешь, сниффером вытаскиваются любые команды.
В конце статьи должна была быть ссылка на
ИМХО
Там таки должна быть отсылка к тому, что: это вам не ардуинка для экспериментов — 1 неверное значение, например, в блоке АБС\курсовой стабилизации\ГУР(ЭУР) и почти наверняка вы в скором времени труп
А в ГУР-е вообще нет никакой электроники.
бывает клапан регулировки усилия, которым эбу рулит в зависимости от скорости авто
грубо говоря можно взять и отключить гур на низкой скорости, что в некоторых авто может быть крайне неприятно
А гидравлическим устройством можно только клапанами рулить ну или насосом (если это троллейбус или чето типа теслы прошлого века)
или с ЭГУР-ом (электрически управляемый гидро-насос+обычная гидрорейка).
Никаких «от скорости зависимостей» в обычном ГУР нет! Не чем ему скорость видеть.
я говорю как в моей машине это устроено, у меня стоит обычная рейка без электроники, но есть комплектация где стоит такаяже точно рейка но с клапаном которым ЭБУ машины отключает усиление в зависимости от скорости. чето у меня не приходило в голову както отдельно выделять эту конструкцию в отдельный вид усилителей :) хотябы потому что технически они различаются только клапаном лишним проводом из ЭБУ
У ЭГУР насос электрический — управляемый ШИМ.
==
а делать электронасос у гура смысла не много (не исключая того что такие авто есть), проще эур уж поставить, он гораздо проще конструктивно и гораздо надежнее
а то что у вас похоже есть только у крайслера на трех с половиной моделях и является очередным усовершенствованием классики
www.aa1car.com/library/2004/bf10434.htm
Вот если почитать тут то остановится понятным что это скорее последние итерации именно классической схемы а не особенности именно крайслера, а электронасос в виде помощи гуру это уже логическое развитие системы дальше
Что можно сделать через разъем OBD в автомобиле