chekengine

На Пикабу
478 рейтинг 29 подписчиков 1 подписка 2 поста 1 в горячем
Награды:
5 лет на Пикабу
19

"Беременный мужик" или "не стираются ошибки airbag"

Не думал, что мой первый пост так выстрелит. Приятненько))

Сегодня день "шаляй-валяй" так что продолжим.

На этот раз рассмотрим тему подушек безопасности. Все знают что это и для чего нужны. Есть разные варианты исполнения данной системы. Сложнее, чем в автомобилях bmw в кузове e60 или e65, я пока не встречал.

Куда-то меня не в ту сторону понесло.

Главная тема поста это удаление "краша" из блока  airbag. Если в двух словах, то после срабатывания подушек в епроме блока появляется запись о причине сработки подушек безопасности. Насколько знаю это сделано для страховых компаний. Видимо чтобы усложнить жизнь мошенникам. У нас страховые не заморачиваются на такие вещи. Однажды пришлось "выстрелить" две подушки на е65 bmw. Я думал будет эпичнее... а было просто пых, пых... скууучно)))

Так вот, после записи "краша" в блоке airbag появляется не стираемая ошибка примерно такого вида:

B1620 Внутренний сбой электронного блока управления SRS.

По уму блок под замену, но мы же не ищем легких путей;) тем более, что удаление crash дело не хитрое, о нем я вам сейчас и поведаю;)

Пациент bmw 3 Е90. Предыдущий владелец попал в дтп, подробностей нынешний хозяин авто не знает. Горит лампочка "airbag". Думаю все видели этого "беременного мужика"?))

По диагностике всем известная "Ошибка ЭБУ".

Приступим к практике…

Снимаем блок на стол. Нужно сделать оговорочку. БЛОКИ ПОДУШЕК БЕЗОПАСНОСТИ НУЖНО СНИМАТЬ СО СНЯТОЙ КЛЕММОЙ АККУМУЛЯТОРА! иначе есть риск получить в бубен сработавшей подушкой!))) Или просто попасть на покупку выстреливших пиропатронов! тут уж как повезет… В блоке стоит датчик удара(как правило). Если лень снимать клемму акб, то обязательно снимаем с блока фишку, а уже потом откручиваем блок! при установке наоборот сначала прикручиваем блок и после этого подключаем разъем!

Ни одна подушка не сработает при горящей лампочке AIRBAG! Блок подушек при горящей лампочке находится в аварийном режиме.

Вот наш пациент:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

Откручиваем болты, достаем плату. crash записан в этой деталюшке (eeprom):

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

Как правило большинство eeprom выглядят так, чтобы узнать, что это именно eeprom, а не любая другая рандомная деталька просто похожая на eeprom. идем ко всем известному знатоку гуглу за даташитом(документация на радиодеталь) и вбиваем надпись с eeprom. в нашем случае это "95640". вот скрин даташита

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

Открывем Xprog. нажимаем кнопку "devices" и ищем наш eeprom:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

В левом столбце надпись "programming interface" говорит нам о том, что читать данный eeprom мы можем как с помощью адаптера("On-board"), так и внутрисхемно ("In-circuit")

смотрим схему подключения:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

вот так выглядит адаптер:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

вот так "внутрисхемно":

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

припаиваемся. в xprog нажимаем кнопку "new". после чего становится активной кнопка "read". нажимаем ее и если все сделали правильно увидим:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

в обязательном порядке делаем верификацию! кнопка "verify". эта функция читает eeprom еще раз и сверяет с ранее прочитанным. По умолчанию в xprog верификация проходит в автоматическом режиме

Далее сохраняем наш исходный дамп.

Убрать crash из дампа можно с помощью специального софта. например "Ultra Рrog". если специализированных программ нет, либо наш софт не поддерживает блок, то можно поискать на форумах чистый дамп. тут есть один нюанс, в нашем дампе и в чистом дампе с форумов могут отличаться кодировки, плюс в блоке прописан вин авто.

итак, открываем ultra prog. Вкладку "airbag" и ищем номер нашего блока 65.77 — 9134280. к сожалению ultraprog не знает этого блока. значит можно попробовать выбрать другой похожий по номеру, либо основанный на том же eeprom`е блок:

"Беременный мужик" или "не стираются ошибки airbag" Автоэлектрика, BMW, Для чайников, Программатор, Ремонт электроники, Длиннопост

далее "file — load" выбираем считанный дамп. нажимаем кнопку "unlock airbag ECU". В папке с нашим исходным дампом появляется файл дамп с окончанием "_clear".

отпаиваемся, ставим блок на машину и проверяем… стираем ошибки, смотрим что осталось. скорее всего будет как минимум одна ошибка по пиропатронам. либо меняем их на целые, либо впаиваем обманки. еще раз стираем ошибки и вуаля!;)

описанное  в посте происходило в то время, когда я первый раз взял в руки xprog. кроме корпуса с платой внутри (мне не досталось ни одного адаптера) и жуткого желания разобраться с темой не было НИЧЕГО!) собственно поэтому читал епромку внутрисхемно, с адаптером это гораздо проще и быстрее.

На истину в последней инстанции не претендую))

Показать полностью 9
336

У вас сдох FRM

Есть такая проблема о которой наслышены многие (а многие еще и встречались с ней)))) владельцы баварской марки, при которой полностью отказывает наружное освещение (точнее ближний свет и габариты при включенном зажигании горят, но управлять этим мы не можем), не работают передние стеклоподъемники, центральный замок, свет в салоне. При диагностике блок FRM не выходит на связь. В остальных блоках куча ошибок связанных со связью с этим блоком.

Среди ремонтников я не слышал единого мнения о причине данного отказа. У каждого свое мнение опирающееся на опыт, слухи, домыслы… почти как всем известный холивар «ios и android» только в узком кругу людей)) Факт в том, что отказ блока FRM3 происходит по причине сбоя области eeprom в микроконтроллере (MC9S12XEQ364) управляющем данным блоком. Причем eeprom умирает постепенно, пока изменения в нем не достигнут критической массы. А дальше блок работает до тех пор пока ему не потребуются данные из еепром… Т.е. перезагрузка, будь то подключение диагностики или снятие клеммы аккумулятора (попытка завести на слабом аккумуляторе приравнивается к снятию).

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

Но, все можно сделать гораздо проще! Внутренняя память микроконтроллера MC9S12XEQ364 хранит его родной eeprom! Он зашифрован в области памяти под названием D-flash считав которую можно полностью восстановить работоспособность блока FRM3 сохраняя все изменения кодироввок блока(к примеру такие как отключение ошибок на противотуманные фонари при установке китайского ксенона, или складывающиеся при закрытии авто зеркала, или...  список в бмв довольно длинный ). Тем самым экономя время, деньги и время.

Главное правильно считать D-flash, чтобы не уничтожить его. Вот маленькое пошаговое пособие, как это сделать. данное пособие в принципе может пригодится, как "программирование микроконтроллеров для чайников"))

Снимаем блок с авто и кладем на стол. Вот он, виновник данного поста:

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

хотя, настоящий виновник чуть глубже… вот он!

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

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

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

припаиваемся(можно на bdm столике это делать, но мне так больше нравится)

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

Запускаем xprog, выбираем злополучный "MC9S12XEQ364". будем читать d-flash()

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

нажимаем кнопку "new", затем "read". Выскочит ошибка партишн(это про слетевшую разметку памяти микроконтроллера идет речь), не пугаемся, так надо!;)

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

нажимаем "ок". выскакивает следующее окно:

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

ничего не меняя!("number of sectors for eeprom" = 0; d-flash = 32768; eeprom = 0) нажимаем "ок". пошел процесс считывания d-flash. далее восстанавливаем eeprom из d-flash(я пользуюсь утилитой dflashtoeee). Открываем получившившийся файл в xprog. для проверки прокручиваем в самый конец файла, там в открытом виде должен быть вин номер кузова автомобиля, которому принадлежит блок.

У вас сдох FRM Автоэлектрика, BMW, Прошивка, Ремонт электроники, Программатор, Для чайников, Длиннопост

нажимаем "devices" выбираем "MC9S12XEQ364_EEE".

Перед записью получившегося файла ОБЯЗАТЕЛЬНО СТИРАЕМ ОБЛАСТЬ EEPROM! ОБЯЗАТЕЛЬНО!

для этого нажимаем кнопку "erase". опять ошибка по партишн. Только на этот раз нужно указать размер eeprom

number of sectors for eeprom = 16

d-flash = 0

eeprom = 4096.

нажимаем "ок". область eeprom стирается. затем "write". ждем завершения, отпаиваемся, ставим блок на авто, радуемся проделанной работе;)

как я уже говорил в данном методе никакие кодирования и программирования НЕ НУЖНЫ! все кодировки остаюстся прежними!

вроде все разжевал, если что спрашивайте

Показать полностью 8
Отличная работа, все прочитано!