что такое еепром в эбу
Учимся прошивать ЭБУ Bosch ME7.5 / Правим Eeprom (на примере 06A906032SG)
Сразу предупреждаю, что я не программист и не электрик, все проделанные операции были на свой страх и риск, я никого не призываю повторять или считать данный пост руководством к действию. Представляю вашему вниманию мурзилку, которую я составил на основе найденной в сети и на драйве информации (список сайтов и литературы в конце поста).
Для тех, кто говорит, что можно прошить галетой, мппс и прочее — на момент написания поста в наличии лишь китайский синий FTDI.
I. Подключение ЭБУ на столе.
II. Считывание Eeprom на столе.
III. Подключение ЭБУ на автомобиле (bootmode).
IV. Считывание Eeprom на автомобиле (bootmode).
V. Правка Eeprom.
VI. Работа с флеш-памятью.
В блоке управления двигателя содержатся несколько типов памяти, каждая из которых выполняет свою функцию. Нас интересуют микросхемы памяти 95040 и AM29F800BB (и аналогичные). Каждая из них содержит в блоке очень важную информацию, при несоответствии которой блок может быть недееспособен.
95040 содержит в себе информацию о «паспорте» блока управления. В зависимости от версии иммобилайзера может содержать в себе все данные иммобилайзера, такие как логин, immo ID, immo Data, вин-номер и прочее. Тип данных этой микросхемы обозначается как EEPROM.
Другой тип неизменяемой памяти, хранящейся в AM29F800BB (или подобных), называется «флеш-памятью». Она содержит в себе все данные о работе двигателя, всех его режимах работы, его оснащенности и взаимосвязи между всеми его компонентами.
Поскольку я произвел полный свап ДВС, ЭБУ, приборной панели, ключей и прочего-прочего, то мне хотелось, чтобы все блоки отображали реальный вин-номер моей тачки. Для приборной панели это не составляет совершенно никаких проблем (Eeprom Programmer 1.19g). А вот с мозгами пришлось провести некоторые манипуляции.
I. Подключение ЭБУ на столе.
ЭБУ прикуривал используя компьютерный блок питания (чтобы он работал без компьютера, необходимо поставить перемычку между зеленым и черным проводом). +12В берем с желтого провода, землю с черного (предварительно лучше убедиться и все проверить мультиметром), также я повесил 12В лампочку на БП, чтобы он не работал вхолостую, в некоторых источниках указано, что работа БП без нагрузки может быть губительна для него.
Цепляем проводами к шнурку:
Пин 4, 5 > Масса
Пин 7 > К-линия (пойдет на 43 пин ЭБУ)
Пин 16 > +12В
к блоку управления:
Пин 1 > Масса
Пин 2 > Масса
Пин 3 > +12В
Пин 43 > К-линия (от 7 пина шнурка)
Пин 62 > +12В
Получилось что-то в этом духе:
Маленькие пинчики для подключения к блоку брал от разъема приборной панели (VAG N 907 647 01).
II. Считывание Eeprom на столе.
Для того, чтобы мы могли считать Eeprom нам потребуется ввести блок управления в бут-режим. Для этого необходимо указанную ногу флеш-памяти замкнуть на массу через 10 кОм резистор.
Для контроля над своими действиями и самим собой я повторял описанную выше процедуру несколько раз подряд, сравнивая слитый Eeprom в редакторе (Araxis Merge, например).
Eeprom слит, значит вы защищены от непредвиденных ошибок чтения/записи и всегда можете вернуть как было.
III. Подключение ЭБУ на автомобиле (bootmode).
Если вам не хочется заморачиваться с блоком питания, искать и подключать эти пины, то есть второй вариант подключения блока. Снимаем минусовую клемму АКБ, извлекаем ЭБУ из автомобиля, снимаем верхнюю крышку с блока, несем обратно в авто. Выворачиваем разъемы проводки таким образом, чтобы ЭБУ был подключен и при этом лежал на лобовом стекле (это касаемо шкоды, на других авто может отличаться).
IV. Считывание Eeprom на автомобиле (bootmode).
Шнур подключаем в разъем OBD. Все, что касается программной части и командной строки, то все остается как в части «II.». Изменяется лишь алгоритм ввода ЭБУ в бут-режим. Итак, мозги подключены и лежат на лобовом стекле. Один человек замыкает контакты, как показано в части «II.» Другой при этом поворачивает замок зажигания в включенное положение. Также ждем 3 сек, контакты размыкаем, начинаем через командную строку считывать Eeprom. Добавлю, что необходимо будет извлечь предохранитель приборной панели, чтобы приборка не мешала компьютеру соединиться с ЭБУ! При этом при возвращении предохранителя на место у вас загорится ошибка по подушкам «Нет связи с приборной панелью», которую придется потом стирать.
Что такое еепром в эбу
Окно программатора с дампом памяти микросхемы ЕЕПРОМ 93С66.
Окно программатора с дампом памяти ROM микроконтроллера MOTOROLA
В умелых руках, логический анализатор один из мощнейших инструментов для изучения работы электронных устройств. Со встроенными декодерами протоколов этот инструмент становиться гораздо приветливее и пользователь избавляется от необходимости «ковыряния» в нулях и еденицах записанного лога. Информация выдаётся в удобно воспринимаемом виде.
Логический анализатор с открытым окном декодера и различными представлениями одних и тех же данных.
В данном примере, в анализе записанного лога обмена микроконтроллера и ЕЕПРОМ мы видим, к каким ячейкам памяти обращался микроконтроллер, и какие изменения он внёс в содержимое. Появляется реальная возможность посмотреть на работающем устройстве, какие из ячеек читаются (или пишутся) в процессе выполнения каких-либо действий.
Работа с данным прибором подразумевает уровень знаний современной микропроцессорной техники и опыта работы с ней. Всего знать и понимать невозможно, поэтому форуму поддержки уделено особое внимание.
Сайт разработчика и форум http://www.cnc-lab.com/
Автор статьи:
Бочковский Алексей Иванович
СОЮЗ АВТОМОБИЛЬНЫХ ДИАГНОСТОВ
Готовимся копать EEPROM ЭБУ
Сегодня первый удачный день экспериментов с «невиданной фигней»))
Если вы не увидели связи между тем и тем, то заваривайте чаёк, постараюсь рассказать о своих планах.
Знаете почему нельзя просто так взять и поставить себе ЭБУ от другой точно такой же машины?
Потому, что не даст иммобилайзер.
Иммобилайзер в реализации крайслера — это не просто коробочка, которая считывает ключ зажигания и разрешает запуск двигателя. Он как Агент Смит из Матрицы прописывает свой уникальный код в разные блоки управления, чтобы те стали единым целым. И да, в блок управления двигателя он себя тоже прописывает. Именно поэтому система отторгнет чужой ЭБУ, считав с него код от чужого иммо, и заблокирует его после нескольких неудачных попыток завестись. И именно поэтому на рынке предлагается приобретать комплект с ключами, личинками, новым замком зажигания и блоком SKIM. Решение хоть и рабочее, но проблемное по установке и дорогое. К тому же, в ЭБУ будет прописан чужой VIN, а это не есть хорошо (читал о случаях проверки сканером в МРЭО с последующим изъятием). Наверное это можно решить дилерским сканером или еще каким другим, но это пока не наш метод)
Гораздо привлекательней приобрести себе ЭБУ от себринга или стратуса и «подружить» его со своим авто самостоятельно. Не будем дальше тянуть кота за хвост: место, где «живет» иммо в ЭБУ давно известно — это пара микросхем EEPROM на блоке. Он там хранится в незашифрованном виде и даже без контрольных сумм в виде VIN-номера авто.
Также удалось выяснить, что в качестве этих ПЗУ используются микрухи ST M95040 или M95080. Стоят эти восьминожки каких-то смешных денег — 28 р/шт (можно взять с запасом на эксперименты)
А вот с программатором не все так просто в плане денег: профессиональные решения стоят очень не кисло. и так как я никогда не имел дела с программаторами, то мне в первых строках гугло-поиск предлагал именно их))
Совершенно случайно нашел программатор, который производит контора энтузиастов с пафосным названием «Электронные войска»)
Что ж, прикладываем к нему пустую микросхему и пробуем залить на нее дамп от Конкорда (не от самолета, конечно, от Крайслера))
…А перед этим сходим в магазин и купим кабель miniUSB! ))) Потому, что там распаян ни фига microUSB, а этот старый mini, от которого у меня уже ни устройств, ни шнуров не осталось.
Тут все просто: характеристики микрухи берем из ее описания. И все пишется-читается.
ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ: ЕЕПРОМ
Забросил я уроки для начинающих, сегодня поговорим о EEPROM — энергонезависимой памяти.
Эта память одно из главных составляющих в функционале поделок на микроконтроллерах, любой начинающий микроконтроллерщик подходит к этапу освоения этой энергонезависимой памяти. Оно и ежу понятно, что сохранять настройки очень часто надо, нужно и без этого нельзя.
В даташитах все рассусолено сухим техническим языком про особенности работы еепром, я же остановлюсь на основополагающих правилах использования этой памяти, правильную на мой взгляд.
Объявляется еепром так же как и переменная, работают с еепром так же как с переменной, кроме некоторых но. Пример (Code Vision AVR):
unsigned char a; // объявляем беззнаковую переменную размером 8 бит
unsigned char eeprom eea; // объявляем «переменную» в еепром такого же типа, этого достаточно, всю остальную работу делает компилятор.
Переменную я обозвал в кавычках, ибо с ней можно обращаться как с обычной переменной, а в остальном она ведет себя по другому:
1. — значение хранимое в ЕЕПРОМ по умолчанию равно максимально возможному числу, в нашем случае после объявления в eea лежит число 255 или оно же 0xFF или оно же 0b11111111.
2- количество циклов стирания-записи у памяти ЕЕПРОМ относительно мало, поэтому нужно максимально ограничивать число записей в алгоритме программы.
Вот поучительная история про то, как фирма BLAUPUNKT лоханулась и проигнорировала второй пункт: www.audi.org.ua/materials/2954.html
3. Память ЕЕПРОМ самый тормозной тип данных, это нужно учитывать. Особенно при записи в ЕЕПРОМ. Можно получить каку, например, запихнув обработку еепром в прерываниях. В особо ответственных моментах можно использовать флаги состояния памяти ЕЕПРОМ, бывает очень полезно.
После обявления еепром и переменной я делаю команду присвоения числа из еепром в переменную, до начала основного цикла и как правило до начала работы прерываний:
После этого я верчу как хочу эту переменную, пишу в нее, читаю, используя ее в алгоритме и в нужный момент, когда нужно сохранить делаю так, чтоб данные закатились из этой переменной обратно в ЕЕПРОМ единожды:
Вот пример куска кода записи в ЕЕПРОМ:
unsigned char a; // объявляем беззнаковую переменную размером 8 бит
unsigned char eeprom eea; // объявляем еепром такого же типа,
unsigned char trig; // объявляем переменную, которая будет помнить, что кнопка нажата.
Далее идет основанная часть программы void main(void), в ней :
a=eea; // загоняем данные в с еепром в переменную
Далее идет главный цикл while(1) и в теле цикла:
if(key==1) // если кнопка настройки нажата, то:
<
trig=1; // включаем триггер, который запоминает, что кнопка нажата
a*b+b^2 ; //тут что то делаем нужное, когда кнопка нажата
>
else // если кнопка отжата
<
LED=1 ; //тут что то делаем нужное, когда кнопка отжата
if(trig) //если кнопка отжата и триггер включен, то:
<
eea=a; // пишем переменную а в еепром
trig=0; // сбрасываем триггер
>
>
Запись в ЕЕПРОМ срабатывает по отжатию кнопки единожды, когда триггер равен единице.
Прошиваем М73 (Почти пособие)
ЭБУ М73 и всё что с ним связано(Прошивка, типовые параметры, иммо, обучение)
ЭБУ M73 появился на конвейере ВАЗа в 2008 году в связи с переходом на нормы токсичности Евро-3. С точки зрения схемотехники этот блок — ближайший родственник уже знакомых нам Микас-11 и Январь-7.2+
Новые контроллеры М73 производятся двумя заводами: НПО ИТЭЛМА и АВТЭЛ.
Аппаратно контроллеры идентичны, но софт там принципиально разный.
Построен на базе процессора ST10F
Аппаратно блок практически идентичен Январь 7.2+, отличие только в резисторах, отвечающих за конфигурацию процессора. Это позволяет, с некоторыми ограничениями, произвести переделку М7.3 в Январь 7.2+
С 2007 года начат выпуск блоков управления на базе процессора ST 10- (Январь 7.2+, М73)
М 73 блок управления для автомобилей с нормами токсичности Евро-3 — аналог Bosch 7.9.7+
Программное обеспечение блоков управления М73 и Январь 7.2+ несовместимо.
Устанавливаются на автомобили:
С конца 2007года — передний привод,
С 2008 года — классика,
С 2009 года — Калина, Приора
1.Конфигурация ЭБУ
Помним, что:
1.ЭБУ М73 бывают двух конфигураций. Прошивки между данными конфигурациями не взаимозаменяемы!
2.ПО ЭБУ 1-й конфигурации (проекты ВАЗ 17D, 08D, 028R) разных производителей (Ителма, Автел) не взаимозаменяемы!
2.Версия бутлоадера
Помним, что:
Внутренний загрузчик процессора осуществляющий доступ к содержимому его внутренней FLASH-памяти играет достаточно важную роль в процессе программирования ЭБУ и самое главное — в процессе последующей эксплуатации автомобиля.
На сегодня доступны следующие версии загрузчика:
загрузчик проект ВАЗ
0799 — «открытый» ЭБУ A(I)317DA02, A(I)317DA03, A(I)308DA02
0800 — «открытый» ЭБУ A(I)308DB03, A(I)308DB04
0823 — «закрытый» ЭБУ I373DA01, A(I)373DA02
0848 — «закрытый» ЭБУ A(I)317DB04, A(I)373CA01, I373CA02
0849 — «закрытый» ЭБУ A(I)373DB04
Проблема может возникнуть если Вы по какой-либо причине зальете в ЭБУ с одной версией загрузчика, прошивку от ЭБУ с другой версией. Реакция может быть неадекватной. Обороты ХХ будут «гулять», адаптации уходить в максимальные «минуса» или «плюсы».
Примерно с середины 2009 года производитель ЭБУ «Автел», а с середины 2010 года и «Ителма» изменили конфигурацию внутреннего загрузчика процессора осуществляющего доступ к содержимому его внутренней FLASH-памяти. Попытка записи прошивки с бутлоадером другой конфигурации может привести к полной неработоспособности процессора с последующей его заменой для восстановления работоспособности ЭБУ. Некоторые загрузчики, в силу особенности своей работы с «закрытыми» ЭБУ, могут заменить бутлоадер и сделать из «закрытого» процессора «открытый». Но… в этих ЭБУ организован подсчет КС загрузчика и верная заводская КС хранится в епроме процессора, недоступной этим загрузчикам. На практике после репрога с таким вариантом ЭБУ не ляжет. Машинка заведется и будет вполне успешно работать до определенного времени, пока процессор не рассчитает и не сравнит все КС, в том числе и внутреннего загрузчика. После этого процессор выключается, автомобиль перестает заводиться и даже включать ГР. После репрога все повторится. Если залить ПО с «родной» версией загрузчика — работоспособность ЭБУ полностью восстановится.
Для отличия на практике таких ЭБУ на крышке последних появился стикер «ДПКВ».
На сегодня известные версии ПО с такой аппаратной реализацией I(А)303CF06, I(А)327RD08, A317DB04
Суммируя сказанное необходимо помнить, что ПО «старых» версий работать в ЭБУ с измененной конфигурацией корректно не будет!
На этом, собственно, можно поставить точку в истории ЭСУД с механическим дроссельным узлом.
Типовые параметры блока для диагностики:
Далее расскажу как его прошить на примере ваз 2114
I317DA02
M73 21114-1411020-12 21114 Е-3 1 Серийная 1,6 8V
Прошивка I317DA02 соответственно блок Производства Ителма.
так как есть закрытые и не закрытые блоки я не рискую и шью
OpenBox 3.1.6 и с идентами DB версией OpenBox 3.1.9
Программа проста и безотказна как Калаш
Этап 1.
1. К-лайн Адаптер (для примера Мастер Кит, или любой другой)
2. АКБ, или БП (12V)
3. Программа (в моем случае OpenBox, умеет поднимать заваленные блоки)
4. Авторская(или стоковая) прошивка. в моем случае ММК I317DA03-E-2
5. Блок снять для удобства работы на столе.
PS НЕ ЗАБЫВАЕМ: Снимаем клемму массы с аккумулятора, а лишь Затем разъем с ЭБУ
6. Ну и немного прямых рук чтобы собрать проводочки и всё подключить.
Идем далее: ищем где стоит блок в вашем авто
И так схема подключения к ЭБУ
Потребуется 4 провода «+», 2 провода «–», 1 провод «К-лайн»
51,53 контакт ЭБУ — Масса
71 контакт ЭБУ — К-Лайн
13 контакт ЭБУ — Включение зажигания (+12В)
12 контакт ЭБУ — Неотключаемое питание (+12В)
44,63 контакт ЭБУ — Питание главного реле (+12В)
Можно приобрести разъем ТУТ
PS. Провода можно сделать самостоятельно.
Должно получиться чтото вроде этого
(Я использую самодельный кабель, с разъемом и переключателем питания
И не снимая с машины программирую, питание с прикуривателя)
ЭТАП 2. Теперь когда всё подготовили
Переходим к программе OpenBox
Выбор СОМ-порта — номер последовательного порта компьютера, через который будет происходить работа с блоком управления.
Выбор ЭБУ — тип блока управления, к которому подключен компьютер.
В нашем случае J72/M73(I)
Работа через через внутреннее ПО контроллера, то есть без режима BSL как это делает ST10Flasher с перепайкой резюков
1. Выбрали всё что надо, включили зажигание(кнопкой) тыкаем Идентификация для проверки выходит ли блок на связь.
2.Далее выбираем Считать FLASH, и считать ЕЕПРОМ(я этого не делаю, если стоит всё сток)… Жмем загрузить FLASH, выбираем прошивку I317DA03_Е-2
3.И сидим ждем пока пройдет полоска(минуты 3) и будет написано в программе Завершено
4.Закрываем прогу.
5.Отключаем питание.
6. Несем в машину ставим.
7. Не забываем!
После репрограммированния блока сброс контроллера с очисткой памяти самообучения (инициализацией) ОБЯЗАТЕЛЕН!
Этап 3.
Далее если надо удалить иммо
1. Есть несколько путей.
a. Скаченный нами ЕЕПРОМ в HEX редакторе отредактировать на FF
b. Залить Чистый ЕЕПРОМ
2. Тыкаем Загрузить ЕЕПРОМ…выбираем наш файл(чистый, или редактированный)…
3. ждем завершение операции.
4.Закрываем прогу.
5.Отключаем питание.
6. Несем в машину ставим.
ВНИМАНИЕ! Если после ЭТАПА 2 авто заблокировал ИММО(ссать кипятком пока еще рано!))), произведите ЭТАП 3.
Если всё таки требуется иммобилайзер. Переобучите ИММО.
ЭТАП 4
Обучение ИММО
Красный — и рабочий ключ потребуется
• Закрыть двери.
• Включить КРАСНЫМ ключом зажигание.
• 3 писка. Вытащить ключ.
• Быстро (в течение 5-6 секунд) включить ЧЕРНЫМ зажигание.
• 3 писка + 2 писка.
• Быстро (в течение 5-6 секунд) включить КРАСНЫМ зажигание
• 3 писка + 2 писка.
• Выключить зажигание КЛЮЧ В ЗАМКЕ.
• 1 писк.
•Быстро (в течение 5-6 секунд) включить зажигание на 5 СЕКУНД! (Внимание! Обязательно дождаться Сигнала)
• Мигнула аварийка, бибикнул сигнал
• Выключить зажигание. КЛЮЧ В ЗАМКЕ до погасания машинки на панели.
ИТОГ:
На этом прошивка, удаление иммо, обучение иммо и всё что связано с блоком М73 подходит к концу всё описано и разжевано как можно понятней!
Добавлю OpenBox поднимает заваленные блоки М73, так же шьет через разъем диагностики (с отключенным МЗ)
Есть и бесплатные методы прошить Открытые М73, но опять таки можно положить блок, а нам это не надо!
ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
Инфа была собрана со всего Интернета(в том числе и Драйв2) для удобства штатного пользователя! переработана, проверена и опробована.
(перечислить всех авторов просто нереально, некоторые материалы, фотоматериалы были также взяты с DRIVE2 и Интернета. Да простят меня люди за то что взял их фотоматериалы!)
Спасибо за внимание!
И Помните:
Всё что вы делаете — вы делаете на свой страх и риск