Как прошить память без программатора
Напоминаем, что все операции по перепрошивке БИОС являются довольно серьезной вещью, могущей вызвать весьма неприятные последствия, вплоть до полной неработоспособности материнской платы. Выполнять ее желательно в моменты, когда напряжение сети наиболее стабильно и отключение электричества наименее вероятно, ибо, если это произойдет в момент перепрошивки, материнская плата становится неработоспособной. Кроме того, сама природа микросхем БИОС (EEPROM) такова, что всякая операция ее перезаписи представляет довольно серьезный риск, поскольку вероятность возникновения ошибки велика.
(Далее идут рекомендации по прошивке, взятые частично из форума, а по большей части- из своего опыта).
Начнем с того, что БИОС нужно обнулить. Для этого можно (при выключенном компьютере и обязательно отсоединенном от сети питании!)
а) Извлечь батарейку на
5-10 минут.
б) Обнулить БИОС с помощью джампера
в) В настройках БИОСа выбрать Load Defaults BIOS.
Выберите наиболее удобный для вас способ.
Кроме того, в установках еще старого БИОС следует запретить кэширование БИОС и видеоБИОС в оперативную память (читай мануал к материнке). Во многих последних версиях матерей эта функция запрещена по умолчанию.
Далее, у нас есть несколько способов собственно операции перепрошивки.
1. Прошивка БИОС с флопповода. (Самый простой, но не самый безопасный способ. Как сделать это менее рискованным образом- читай ниже в п. 2).
Найди чистую свежую дискету. (Или не очень чистую, но все равно надежную. Лучше сделать 2 копии). Вставь во флопповод при работе в Виндовс ХР. Открой « Пуск-Мой компьютер». Правой кнопкой мыши кликни на значке «Диск 3,5 (А)» и выбери в выпадающем меню «Форматировать…». Появится окно «Создание загрузочного диска». В нем нужно поставить галку в строке « Создание загрузочного диска MS-DOS» и нажать кнопку « Начать». Если все нормально, через некоторое время форматирование закончится и нужно нажать кнопку « Закрыть».
Сохраняем все и перезапускаемся, не вынимая дискету из флопповода. Система пожует его и напишет:
(что-то вроде: загружен DOS такой-то версии..) и
A:\>_
А) Набираем:
A:\>dir_ (три буквы dir) и жмем Enter.
Появится список файлов на дискете. Среди них можно увидеть пару файлов: например, awdflash.exe и файл с БИОСом, например w7025nms.150.
Запишем на бумажке названия файлов с расширениями, иначе потом будет трудно вспоминать.
Б) Набираем команду:
A:\>awdflash /?
и жмем Enter. Появится список ключей и их функции для программы awdflash. Нам потребуется несколько из них. После изучения ключей можно приступать к перепрошивке. В принципе, эти этапы (А и Б) можно пропустить и сразу приступить к перепрошивке.
В) Набираем команду:
A:\>awdflash newbios.bin oldbios.bin /py/sy/cc/cp/cd/e
И жмем Enter.
(набирается команда от имеющегося A:\>_. Следует вводить все точно, соблюдая пробелы, где указано и наклоны «палочек» именно такие, как указано. Название нового файла БИОС ( newbios.bin) будет твоим (не знаю, каким конкретно), не забудь поставить его точное расширение. Старый файл БИОС будет сохранен на дискете под названием oldbios.bin). Программа (согласно заданным ключам) кроме основных задач, также обнулит CMOS, очистит область ESCD, очистит область DMI и не станет автоматически перезагружать систему в конце работы, а просто выйдет в DOS (можно проверить, что там нового появилось на дискете, или в случае сбоя повторить операцию).
Запустится программа перепрошивки, от тебя уже не потребуется никаких действий. Только терпение. Ты увидишь как пройдет сохранение старого БИОСа на дискету, потом перепишется БИОС (появятся строки из квадратиков, демонстрирующие процесс перешивки) и наконец все остановится. Когда все утихнет, можно перезагружать машину, убедившись, что на дискете теперь есть копия старого БИОСа под названием oldbios.bin. (Перепрошивка БИОС с флопповода занимает 1-2 минуты, в зависимости от качества дискеты и флопповода.)
Сразу после перезагрузки можно лезть в БИОС и выставлять нужные тебе настройки.
Я бы не советовал шить из DOSa напрямую с флопповода- уж слишком ненадежные они и капризные (представляешь, что произойдет, если в процессе перепрошивки дискета откажется читаться на половине файла?).
2. Второй способ перепрошивки БИОС. Из виртуального электронного диска..
Менее опасный, но более трудоемкий. Кроме того, тут потребуется загрузочная дискета от систем Windows 98 или Ме. Загрузочную дискету можно создать на компьютере, где установлена система Виндовс 98 или Ме, либо с помощью компакт-диска из серии Reanimator для обслуживания ПК. Либо просто скачать отсюда программу для ее создания.
Виртуальный диск в ДОС создается автоматически при запуске компьютера с загрузочной дискеты Windows98 или Ме. После запуска компа вместо загрузочной дискеты вставляется дискета с файлами БИОС и программой-прошивальщиком, набирается команда:
A:\>dir
и будут показаны точные наименования файлов прошивки и самого БИОСа.
На виртуальный диск нужно скопировать парочку файлов (по очереди):
A:\>copy awdflash.exe C:
A:\>copy nf3916.bin C:
(нужно поставить название своего файла и букву своего виртуального диска. Если на HDD отсутствуют разделы с FAT32- это будет буква С:, если такие разделы есть- буква будет D:)
система каждый раз пожует флопповод и ответит:
1 file(s) copied
A:\>_
И в этом вся прелесть! Если дискета окажется некачественной или произойдет сбой в работе флопповода- это ничем не грозит. Можно вынимать дискету и вставлять по новой сколько угодно раз, пока не сработает. Подобный сбой при прямой записи БИОС с нее грозит серьезными проблемами.
Перейди в раздел виртуального диска и задай команду:
A:\>C:_
C:\>awdflash nf3916.bin oldbios.bin /py/sy/cc/cp/cd/e
Появится окно программатора и все сделает само. (Конкретно: сохранит старую версию БИОС, прошьет новую, обнулит CMOS и вернется в DOS). Автоматической перезагрузки не последует:
C:\>_
Перепиши старую версию БИОС на дискету:
C:\>copy oldbios.bin A:
Система пожует флопповод и ответит, что 1 file(s) copied.
После этого можно перезагружать систему ( Ctrl + Alt + Del) и входить в настройки CMOS BIOS для корректировки.
Букву виртуального диска система тебе сообщит сама при пуске с загрузочной дискеты Windows98 или Ме. Если весь HDD отформатирован на NTFS, или HDD там вообще нет, это будет диск С:, иначе- присвоит букву D. (Если на жестком диске отсутствуют разделы FAT32, после загрузки система напишет, что она не обнаружила разделов на жестком диске и начнет советовать проверять его на вирусы и т.п. ересь. Это все пропускается мимо ушей.)
В появляющемся на экране меню загрузки нужно выбрать опцию, соответствующую интерфейсу вашего привода. Для оптических приводов с интерфейсом IDE PATA выбираем строчку "С поддержкой СD-RОМ IDE PATA", если привод с интерфейсом SATA, то ему понадобятся другие драйвера и нужно выбрать строку с поддержкой приводов SATA.
Для прошивки повторяем все действия п.2.
Возможные неудачи процесса обновления БИОС
Если после перепрошивки материнская плата не стартует, увы, нам не повезло. Либо была прошита неподходящая версия БИОС, либо произошла ошибка в процессе перепрошивки (не исключается и неисправность микросхемы БИОС). Если компьютер при старте еще подает какие-либо признаки жизни, вроде:
Award BootBlock BIOS v1.0
Copyright C 1998, Award Software, Inc.
BIOS ROM Checksum Error
Detecting Floppy Drive A media.
Detecting HDD.
(Чаще всего это последнее, что видит пользователь на своем экране. Еще чаще он вообще ничего не видит, поскольку не происходит даже инициализации видеокарты)
это означает, что в процессе обновления БИОС произошла ошибка, но каким-то чудом сохранилась его часть, так называемый бут-блок (либо по вине "битой" ячейки памяти микросхемы EEPROM БИОС, либо в результате прошивки неподходящей версии, либо по другой причине) и система пытается найти другую версию файла прошивки на дискете или HDD.
Некоторые материнские платы способны восстановить БИОС, если обнаружат подходящий файл прошивки на дискете или жестком диске (файл с оригинальным названием, разумеется). Если есть признаки того, что идет обращение к флопповоду или жесткому диску, можно попытаться запустить компьютер "втемную", предварительно вставив во флопповод дискету с файлом прошивки, выждав достаточное время (судя по активности флопповода) и перезапустив в конце систему.
Часть материнских плат Gigabyte имеют функцию Dual BIOS и способны автоматически восстановить работоспособность без участия пользователя, но на части плат этой фирмы эта функция только продекларирована, а на самом деле не работает. Если компьютер после обновления и перезагрузки молчит вообще, все еще хуже. Рекомендуется воспользоваться перемычкой (джампером) обнуления CMOS (читай руководство к материнской плате), после чего попытаться запустить систему еще раз.
В конце концов, если ничего не помогает, остается только способ исправления прошивки при помощи программатора (в сервис центе).
Почему не стоит обновлять БИОС непосредственно из Windows?
Велика вероятность ошибки и последующей (после перезагрузки) полной неработоспособности системы. В случае с материнскими платами ASUS (на чипсетах nForce) настоятельно рекомендуется перед обновлением БИОС (из Windows) проверить версию драйверов чипсета nForce, которые должны быть 6.66 или выше. Указание на это (а также и новые версии драйверов) имеется на сайтах ASUS.
Картинка для привлечения внимания — xkcd
Представьте себе, что вы попали на необитаемый остров. И вам жизненно необходимо запрограммировать микроконтроллер. Зачем, спросите вы? Ну, допустим, чтобы починить аварийный радиомаяк, без которого шансы на спасение резко падают.
Радуясь, что еще не забыли курс ассемблера, вы кое-как написали программу палочкой на песке. Среди уцелевших вещей каким-то чудом оказалась распечатка документации на контроллер (хорошо, что вы еще не успели пустить её на растопку!), и программу удалось перевести в машинные коды. Осталась самая ерунда — прошить её в контроллер. Но в радиусе 500 километров нет ни одного программатора, не говоря уже о компьютерах. У вас только источник питания (батарея из картошки кокосов) и пара кусков провода.
Как же прошить МК фактически голыми руками?
В качестве подопытного будет выступать МК ATtiny13 фирмы Atmel. Описанная методика работает практически с любым контроллером семейства AVR, разве что коды команд могут незначительно отличаться.
- SCK — тактовый сигнал, синхронизирует все операции обмена данными;
- MOSI (Master Out Slave In) — линия данных от ведущего устройства к ведомому;
- MISO (Master In Slave Out) — линия данных, наоборот, от ведомого устройства к ведущему;
- RESET — для разрешения прошивки по SPI нужно подать логический «0» на этот вывод.
Для своего же удобства можно добавить индикацию входных сигналов. Схема усложняется, но не чрезмерно:
Рис. 2. Схема с индикацией сигналов.
Защита от дребезга
К сожалению, просто используя кнопки для формированя сигналов SPI, хорошего результата мы не добьёмся. Причина этого — в неприятном явлении, которое называется дребезг контактов. При замыкании механические контакты соударяются, отскакивают друг от друга, и вместо одного импульса получается несколько. Для подавления дребезга придется собрать простую схему из пары логических элементов:
Рис. 3. RS-триггер для подавления дребезга.
Это RS-триггер, который переключается в состояние «1» в момент замыкания нижнего контакта переключателя и игнорирует остальные импульсы дребезга. Сброс триггера обратно в «0» происходит при замыкании верхнего контакта, то есть при отпускании кнопки.
«Ишь, разбежался!» — скажет читатель, — «Я же на необитаемом острове сижу. Где я тут возьму триггеры?» Хорошо, можно избавиться от дребезга и без электронных схем. Нужно только заменить «сухой» контакт на мокрый жидкостный. Выключателем будут служить два электрода, опускаемые в проводящую жидкость.
Сигналы MOSI и RESET не требуют подавления дребезга, в отличие от SCK: здесь значение имеет только уровень сигнала в момент выборки, а не его фронты.
Рис. 4. Временная диаграмма работы SPI.
SPI является синхронным интерфейсом: все операции синхронизированы фронтами тактового сигнала (SCK), который вырабатывается ведущим устройством. Максимальная скорость передачи ограничена величиной 1/4 тактовой частоты контроллера. На минимальную же скорость нет никаких ограничений: без тактового сигнала обмен данными «замораживается», и интерфейс может оставаться в статическом состоянии сколь угодно долго.
Передача по SPI осуществляется в полнодуплексном режиме, по одному биту за такт в каждую сторону. По возрастающему фронту сигнала SCK ведомое устройство считывает очередной бит с линии MOSI, а по спадающему — выдает следующий бит на линию MISO. Все внимание на рисунок 4.
- Перевод контроллера в режим программирования;
- (опционально) Чтение идентификатора устройства;
- Стирание;
- Запись во flash;
- (опционально) Проверка записанного;
Включение режима программирования
Режим программирования включается подачей «0» на ногу RESET. Но есть некоторые тонкости. Atmel рекомендует сначала выставить на выводах RESET и SCK низкий уровень, а только потом подавать на контроллер питание. Если такой возможности нет, нужно после включения питания подать «0» на SCK, а затем положительный импульс на RESET:
Рис. 5. Перевод МК в режим программирования.
Но и это еще не все. Далее нужно передать команду на собственно включение режима программирования: 10101100 01010011 xxxxxxxx xxxxxxxx
Рис. 6. Команда «Program Enable».
Биты, обозначенные как x, могут быть любыми. Во время передачи третьего байта контроллер должен переслать обратно второй байт (01010011). Если это произошло, значит, все хорошо, команда принята, контроллер ждет дальнейших инструкций. Если ответ отличается, нужно перезагрузить МК и попробовать все сначала.
Проверка идентификатора
Рис. 7. Команда «Read Signature Byte».
Прежде чем что-либо писать в память МК, нужно убедиться, что перед нами именно та модель, которая нужна. Каждая модель контроллера имеет свой трехбайтный идентификатор (Signature). Прочитать его можно командами вида
00110000 000xxxxx xxxxxxbb xxxxxxxx
Вместо bb (третий байт команды) следует подставить 00 для первого байта идентификатора, 01 — для второго и 10 — для третьего. Соответствующий байт идентификатора будет передан контроллером при отправке 4-го байта команды.
Для ATtiny13 значение идентификатора равно 00011110 10010000 00000111 (0x1E 90 07).
Очистка контроллера
Рис. 8. Команда «Chip Erase».
Следующим шагом будет очистка памяти МК, которая осуществляется посылкой команды «Chip Erase»
10101100 100xxxxx xxxxxxxx xxxxxxxx
Этой командой выполняется стирание содержимого Flash и EEPROM (все ячейки будут содержать FF), а также снятие lock-битов, если они установлены.
Запись во flash-память
Память программ (Flash) в ATtiny13 состоит из 512 двухбайтных слов (1К байт). Адрес слова имеет разрядность 9 бит. Flash-память разделена на страницы, каждая страница имеет размер 16 слов (всего получается 32 страницы). Запись во flash осуществляется в два этапа.
Сначала необходимо загрузить данные в буфер страницы, для этого используется команда «Load Program Memory Page»
01000000 000xxxxx xxxxbbbb iiiiiiii — для загрузки младшего байта слова, и 01001000 000xxxxx xxxxbbbb iiiiiiii — для загрузки старшего.
4 младших бита 3-го байта команды bbbb — адрес слова на странице, iiiiiiii — загружаемый байт. Сначала всегда должен загружаться младший байт слова, а затем — старший байт того же слова.
Рис. 9. Команда «Load Program Memory Page».
После того, как буфер страницы загружен, нужно выполнить команду «Write Program Memory Page» 01001100 0000000a bbbbxxxx xxxxxxxx для записи страницы непосредственно в память контроллера.
Младший бит второго байта и старшие 4 бита третьего a:bbbb — пятибитный номер страницы для записи.
Рис. 10. Команда «Write Program Memory Page».
Все это выглядит довольно запутанно, но ничего сложного нет. Адрес любого байта памяти программ состоит из 10 бит: ppppp:bbbb:w, где
ppppp — номер страницы (используется в команде «Write Program Memory Page»);
bbbb — адрес слова на странице (в команде «Load Program Memory Page»);
w — бит, определяющий старший или младший байт в слове (зашифрован в первом байте команды «Load Program Memory Page»).
Чтение flash
Рис. 11. Команда «Read Program Memory».
После записи прошивки в МК неплохо бы проверить записанное, так как никакой проверки целостности данных не выполнялось. Единственный способ проверки состоит в том, чтобы прочитать весь объем flash-памяти и сравнить с оригиналом.
Читать память программ легче, чем писать в нее. Забудьте про страничную организацию, чтение выполняется побайтно. Команда «Read Program Memory» выглядит так:
00100000 0000000a bbbbbbbb xxxxxxxx — для чтения младшего байта слова, и 00101000 0000000a bbbbbbbb xxxxxxxx — для старшего.
Младший бит второго байта и весь третий байт a:bbbbbbbb — адрес слова в памяти. Прочитанный байт возвращается во время передачи 4-го байта команды.
Завершение программирования
Пожалуй, самая простая операция. Чтобы завершить программирование и перевести МК в рабочий режим, достаточно подать на RESET логический уровень «1». Контроллер запустится и будет работать по новой программе.
Настало время воспользоваться полученными знаниями на практике. Жертва эксперимента — ATtiny13 — воткнут в макетную плату, рядом собран формирователь сигналов, всё готово:
Рис. 12. Экспериментальная схема.
Шить будем программу вида «проще некуда»:
Всё, что она делает — это выдает единицу на ногу PB1 и уходит в бесконечный цикл. В машинных кодах она занимает всего четыре слова:
Для прошивки её в контроллер необходимо набрать следующие команды:
Ключ на старт, поехали!
Всего 425 нажатий, и МК оживает. Теперь вас точно найдут и спасут с этого проклятого острова.
Введение
Здравствуйте, автолюбители.
Все комплектации автомобиля Renault Sandero/Logan первого поколения оснащены бортовым компьютером, но только в комплектации "Prestige" компьютер не заблокирован программными методами. Заблокированный бортовой компьютер (далее БК) это маркетинговый ход, направленный на то, чтобы покупатель отдал предпочтение более дорогой комплектации.
Функции бортового компьютера:
— Суммарный пробег;
— пробег за поездку;
— расход за поездку;
— средний расход топлива на 100 км;
— расчет пробега до заправки;
— пробег после обнуления;
— средняя скорость автомобиля;
— мгновенный расход*.
Заблокированный БК отображает только "суммарный пробег" и "пробег за поездку" — всего лишь два параметра из восьми.
Чтобы определить разблокирован ли бортовой компьютер необходимо зажать кнопку информации суточного пробега и после включить зажигание, далее (в течении 2-5 секунд) на приборной панели появится информация в виде цифрового кода. Если последняя цифра в коде — "1", то это значит, что бортовой компьютер заблокирован.
К счастью, активировать БК можно своими руками. Для этого требуется:
1. Прошить панель приборов;
2. Установить кнопку управления бортовым компьютером;
3. Установить связь между боровым компьютером и контроллером впрыска.
Основные сложности возникают при прошивке панели приборов. Предлагаю Вам максимально простой способ прошивки без пайки программатора, а так же альтернативные решения про запас.
Прошивка панели приборов
1. Популярный способ
Я, как и многие заинтересованные в этом вопросе автомобилисты, увидев эту популярную инструкцию сразу же решил следовать ей. У меня было две модификации программатора "Хамелеон": слева — первая, справа — вторая (с питанием), но успеха не было.
Суть проблемы такова: программа "Хамелеон" требует прямого доступа к LPT порту т.е. программе необходим доступ к порту напрямую, минуя ОС. Если же программа обращается к СОМ-порту не по имени порта, а по адресу, то она получает отказ т.к. в Windows это запрещено.
Решение 1:
Для решения проблемы существуют четыре популярных варианта драйверов, позволяющих прикладной программе обращаться к портам ввода-вывода (только для Win NT/2000/XP):
Все четыре варианта практически равноценны. Подробная инструкция по драйверам.
Решение 2:
Установка операционной системы win95 или win98. С дискеты:)
Замечание :
Настройка BIOS. Изменить значение параметра "Parellel Port Mode" на "EPP".
Вывод: способ очень сложный, но дешевый.
2. Новый ПРОСТОЙ способ активации БЕЗ ПАЙКИ
Собственно ради этого способа запись и создавалась. Забегая вперед, скажу, что для прошивки панели приборов Renault Sandero/Logan нам обязательно потребуется программатор CH341A. Стоимость программатора: 130р. То есть вы можете разблокировать бортовой компьютер БЕЗ ПАЯЛЬНИКА и без трудностей с совместимостью программы.
Опубликовав эту запись, я с толкнулся с тем, что некоторые автолюбители не поняли, как активировать БК без пайки, поэтому разобьем этот пункт на несколько.
Оглавление:
— 2 Новый ПРОСТОЙ способ активации;
— 2.1 Как собрать программатор и подключить его к микросхеме (с пайкой на Pibboard);
— 2.2 Как собрать программатор и подключить его к микросхеме (без пайки на прищепке);
— 2.3 Процесс разборки панели приборов;
— 2.4 Процесс прошивки;
Отметим здесь пункт 4 (от 08.04.19) о том, как правильно подключить микросхему для прошивки.
2.1 Как собрать программатор и подключить его к микросхеме (с пайкой на Pibboard)
Список покупок:
— CH341A;
— Torex T10;
— Torex T20;
— Резисторы или один резистор 330 ОМ;
— 93C56 SOP8;
Конечно же, список примерный и каждый сам определит что ему нужно.
Коротко о каждой позиции списка:
Программатор придется купить обязательно. Набор резисторов здорово экономит время. Бита T10 нужна, чтобы разобрать панель приборов, а Т20, чтобы панель приборов снять. Микросхему 93C56 нужно заказать для опытов, программатор Вы будете отлаживать на ней.
Программатор в пункте 2.1 собирается на Pinboard. Pinboard — это меленькая плата, для подключения микросхемы к программатору. Pinboard идет в комплекте с программатором. Штыревые выводы Pinboard соединяем с соответствующими штыревыми выводами программатора.
Для прошивки микросхемы (далее МК) потребуется:
— Выпаять МК из панели приборов;
— припаять МК к Pinboard;
— прошить МК;
— отпаять МК от Pinboard;
— припаять МК на место к панели приборов.
Можно обойтись без выпайки микросхемы, а подключиться к панели приборов проводами:
— Припаиваем в нужных точках панели приборов провода;
— припаиваем эти провода к Pinboard;
— прошиваем МК;
— отпаиваем все провода.
Мое мнение: выпаять МК проще, чем подключиться проводами, но для этого нужно использовать сплав Розе (см ниже).
Программатор CH341A имеет штыревые выводы. Каждый вывод подписан на нижней стороне программатора. Микросхему нужно подключить к программатору так:
1 нога микросхемы — к штырю CS;
2 нога микросхемы — к штырю CLK;
3 нога микросхемы — к штырю MOSI;
4 нога микросхемы — к штырю MIOS;
5 нога микросхемы — к штырю GND;
6 нога микросхемы — к штырю 3.3v через резистор сопротивлением 330 ОМ;
7 нога микросхемы — к штырю 3.3v;
8 нога микросхемы — к штырю 3.3v.
Подробнее о подключении в конце записи.
Для прошивки я выпаивал микросхему памяти 93с56. Покрываем выводы микросхемы флюсом, затем лудим ножки сплавом Розе. У сплава Розе температура плавления в несколько раз ниже, чем у припоя, следовательно при лужении дорожки не отойдут от текстолита из-за перегрева и резисторы с конденсаторами, которые находятся вокруг микросхемы, не отпаяются
Вот такой программатор получился у меня:
2.2 Как собрать программатор и подключить его к микросхеме (без пайки на прищепке)
Способ основан на прищепке. У меня нет прищепки и выше мне пришлось выпаивать МК. С пришепкой паять ничего не нужно
Коротко о каждой позиции списка:
Программатор придется купить обязательно. Набор резисторов здорово экономит время. Бита T10 нужна, чтобы разобрать панель приборов, а Т20, чтобы панель приборов снять. Микросхему 93C56 нужно заказать для опытов, программатор Вы будете отлаживать на ней. Dupont — провода, которыми Вы соберете программатор без пайки. Dupont — пункт для тех, кто не хочет ничего паять. Прищепка SOIC нужна, чтобы прошить микросхему без пайки.
То есть вы можете разблокировать бортовой компьютер БЕЗ ПАЯЛЬНИКА и без трудностей с совместимостью программы.
О дюпонах:
Дюпоны — это проводочки с разъемами на конце. Они позволят собрать программатор без пайки. Для сборки программатора, используя дюпоны, необходимо надеть дюпон на соответствующий штыревой вывод.
Замечание: такие проводочки можно найти в любом компьютере.
О прищепке:
Вам не придется выпаивать МК, вы просто прищелкнете к ней прищепку.
О сборке программатора:
1 нога микросхемы — к штырю CS
2 нога микросхемы — к штырю CLK
3 нога микросхемы — к штырю MOSI
4 нога микросхемы — к штырю MIOS
5 нога микросхемы — к штырю GND
6 нога микросхемы — к штырю 3.3v через резистор сопротивлением 330 ОМ;
7 нога микросхемы — к штырю 3.3v;
8 нога микросхемы — к штырю 3.3v.
Подробнее о подключении в конце записи.
Резистор вы можете установить без пайки. Используйте дюпоны и скрутку. Паять вообще ничего не нужно. Я так не делал потому, что у меня нет прищепки.
Как собрать программатор без пайки:
— Возьмите программатор и дюпоны;
— одной стороной подключите дюпон к соответствующему штыревому разъему программатора;
— другой стороной подключите дюпон к соответствующему штыревому разъему Pinboard или прищепки;
2.3 Процесс разборки панели приборов;
Нашел подробное видео по разборке, поэтому описывать процесс не буду. Одно замечание: передние стекло снимать не нужно (6 мин 55 сек), достаточно отщелкнуть черные защелки. В видео много лишнего, быть может стоит его обрезать?
В конце концов перед Вами должна оказаться плата:
2.4 Процесс прошивки
Не зависимо от того, какой у вас программатор (с пайкой из пункта 2.1 или без пайки из пункта 2.2), процесс прошивки одинаковый.
Будем считать, что программатор у Вас подключили к микросхеме и usb порту компьютера.
Для прошивки Вам потребуется три программы:
— AsProgrammer
— LFE 2.6
— PonyProg
ОБНОВЛЕНИЕ от 15.03.2021: Залил копию на яндекс (ЗЕРКАЛО)
ОБНОВЛЕНИЕ от 15.03.2021: с программами работал из-под Windows 7
Процесс прошивки:
1. Установите драйвер на программатор из папки AsProgrammer\CH341-Drivers
2. Посмотрите на программатор и найдите на нем джампер. Установите его между выводом с названием "1" и выводом с названием "2". Как у меня (см фото выше)
3.Подключите к программатору МК из панели приборов
4. Считайте Вашу прошивку
5. Сохраните прошивку, например, с именем "mydump"
6. Измените расширение прошивки. Открываем PonyProg, открываем Вашу прошивку, нажимаем "сохранить как", выбираем расширение "hex" и вводим новое имя файла, например, "mydumpHEX.hex". Теперь LFE увидит Вашу прошивку.
7. Откройте LFE и загрузите Вашу прошивку.
Если у вас была версия 6001, то нажмите кнопку "6002".
Если у вас была версия 7101, то нажмите кнопку "7102".
Если у вас была версия 81101, то нажмите кнопку "81102".
Затем нажмите кнопку "Load" и в открывшемся проводнике выберите файл "mydumpHEX.hex", чтобы загрузить пробег, нажмите кнопку "save" и сохраните прошивку с именем, например, "final" (бинарный).
8. Прошейте микросхему файлом "final.bin".
Готово!
Чтобы Вам было понятнее, я записал видео:
3. Альтернативные решения про запас
Маловероятно, что способ 2 Вам не поможет, но все-таки:
Для того чтобы активировать бортовой компьютер, необходимо прошить микросхему 93с56. Другими словами, вам подойдет все, что может прошить 93с56.
Вы можете активировать БК с помощью:
— программатор "usbasp". Вот только чтобы прошить 93с56 через "usbasp", сначала придется прошить сям "usbasp" (запрос в Google: "usbasp 93с56")
— программатор "EZP2010" с AliExpress (запрос в Google: "EZP2010 93с56")
— программатор "AVRISP mkII" (запрос в Google: "AVRISP mkII 93с56")
— программатор "PonyProg", схема для пайки программатора (запрос в Google: "PonyProg 93с56"
— все-все остальное, что удастся найти, связанное с 93с56;
— Multitronics.
upd: 08.04.2019
4. Как правильно подключить микросхему для прошивки?
У пользователей возникает очень много вопросов о подключении. Давайте разберемся подробнее.
Программатор имеет выводы:
— CS;
— CLK;
— MOSI он же Master Out Slave In он же Выход ведущего, вход ведомого;
— MIOS он же Master In Slave Out он же вход ведущего, выход ведомого;
— GND;
— 3.3V.
Понятно, что выводы с одинаковыми названиями нужно соединить. Подключаем напрямую. Программатор разберется сам, как ими управлять. Другими словами:
1. Вывод МК CS (1) к выводу ПРОГРАММАТОРА CS;
2. Вывод МК CLK (2) к выводу ПРОГРАММАТОРА CLK;
3. Вывод МК DI (3) к выводу ПРОГРАММАТОРА MOSI;
4. Вывод МК DO (4) к выводу ПРОГРАММАТОРА MIOS;
5. Вывод МК VSS (5) к выводу ПРОГРАММАТОРА GND;
6. Рассмотрим позже;
7. Рассмотрим позже;
8. Вывод МК VСС (8) к выводу ПРОГРАММАТОРА 3.3V;
У МК остались неподключенные выводы 6 ORG и 7 NU. Обратимся к документации и разберемся.
— ВЫВОД 6 ORG
Микросхему можно сконфигурировать как набор 16‑битных (вывод ORG подключен к VCC)
или 8‑битных (вывод ORG подключен к GND) регистров.
Подключение: к выводу ПРОГРАММАТОРА 3.3V для режима 16 бит. Резистор здесь токоограничивающий.
Роль токоограничивающего резистора — контроль тока, который будет протекать через устройство. Нужен, чтобы безопасно подключить 6й вывод МК к выводу-источнику питания.
-ВЫВОД 7 NU
Оригинал: "The DU (Don’t Use) pin does not contribute to thenormal operation of the device. It is reserved for use by STMicroelectronics during test sequences. The pin may be left unconnected or may be connected to VCC or VSS. Direct connection of DU to VSS is recommended for the lowest stand-by power consumption".
Перевод: "Вывод DU (не используется) не влияет на нормальную работу устройства. Зарезервирован для использования STMicroelectronics во время тестовых последовательностей.
Контакт может быть оставлен неподключенным или может быть подключен к VCC или VSS. Прямое подключение DU к VSS рекомендуется для минимального энергопотребления в режиме ожидания'.
Подключение: к выводу ПРОГРАММАТОРА 3.3V напрямую. Подключаем к выводу 3.3V т.к. так делал я и у меня все получилось:) Вы можете поэкспериментировать и не использовать этот вывод.
Итого:
6. Вывод МК ORG (6) к выводу ПРОГРАММАТОРА 3.3V через токоограничивающий резистор;
7. Вывод МК NU (7) к выводу ПРОГРАММАТОРА 3.3V напрямую;
1. Вывод МК CS (1) к выводу ПРОГРАММАТОРА CS;
2. Вывод МК CLK (2) к выводу ПРОГРАММАТОРА CLK;
3. Вывод МК DI (3) к выводу ПРОГРАММАТОРА MOSI;
4. Вывод МК DO (4) к выводу ПРОГРАММАТОРА MIOS;
5. Вывод МК VSS (5) к выводу ПРОГРАММАТОРА GND;
8. Вывод МК VСС (8) к выводу ПРОГРАММАТОРА 3.3V.
upd: 08.04.2019 end,
upd: 09.04.2019
Перерисовал картинку-схему №6 "Визуальная схема подключения"
Исправил текст около картинки №6
Перерисовал картинку-схему №12 "Визуальная схема подключения"
Исправил текст около картинки №12
upd: 09.04.2019 end.
Отвечу на вопросы. Критика приветствуется. Будет здорово, если запись не затеряется
Понадобилось мне тут вычитать eeprom приборки VDO, то что он легко вычитывается KKL шнурком я в курсе :-) Программатора для этих флешек у меня не было. Полазив по сусекам нашел программатор USBASP, это программатор AVR микроконтроллеров, стоит всего 90 руб. Вспомнил что где то читал что его легко превратить в программатор spi, i2 и microwire флешек банально сменой прошивки. Эти флешки используются в приборках и практически во всех блоках управления двигателем. То что надо, перекрывает почти все мозги и приборки.
Вообще считать – записать eeprom обычно надо для того что б вытянуть пароль иммо, отключить иммо, скорректировать в мозгах вин номер и логин иммо, восстановить eeprom после не удачной прошивки и окирпичивании устройства… В общем полезный зверек, тем более не везде можно это сделать софтово.
Для начала берем вот такой программатор.
Смотрим что он поддерживает в интересующем меня диапазоне машин. А поддерживает практически все :-) Все приборки и почти все блоки управления… Имею ввиду установленные в них микросхемы памяти.
Вот допустим модели мозгов Audi, зелеными галочками пометил что поддерживает.
Приступим к работе с ним.
У меня задача вытянуть eeprom из приборки VDO, узнать пароль иммо и при необходимости залить вытянутый дамп в другую сохранив калибровки стрелок и привязанные ключи. Почему я не делаю это софтово? Очень просто, приборка радостно сгорела с дымком и все такое. Кирпич в общем :-) В таких вот случаях без программатора не обойтись.
Берем приборку. Как разобрать писать не буду и так все знают :-)
Вон она. Флешка с eepromом. 93С86…
Выпаиваем ее по быстрому…
Подключаем в соответствии со схемой. Схема разнится от типа флешки. У меня в VDO стоит microwire 93LС86… Значит по второй схеме…
Так как панельки у меня под SMD8 нет (заказал), то сделаю по быстрому переходник.
Возьму кусочек шлейфа, разделаю, нанесу цветовые метки.
И банально подпаяю, благо делов на минуту… Не очень фотогенично зато надежно :-)
Напряжение питания выбираем в соответствии с даташитом на микросхему. Программатор выдает или 3.3v или 5v, переключается перемычкой. В моем случае любое, так как микросхема может работать в диапазоне 2.5-5.5 вольт.
Теперь можно подсоединить к компу и начать процесс считывания.
Запускаем программу. Смотрим что б был выбран программатор usbasp. Выбирает тип микросхемы с которой будем работать.
Далее все просто. Нажимаем считать. Идет процесс. Все считано.
Вот почти и все. EEPROM считан. Но есть одна тонкость, считан он правильно но не совсем. При чтении прошивки из EEPROM 93с86 байты в словах перевернуты. Например первое слово 02 03 а должно быть 03 02. Так как проект этого софта не коммерческий то он очень простой и в нем нет опции intel/motorola с которой сразу правильно. Но это не беда :-) Сохраняем файл.
Теперь запускаем редактор WinHex, открываем нем файл нашего eeprom и делаем ему свап.
Вот так:
Правка – Модифицировать данные
В менюшке выбираете «Обратный порядок байт», блин, у меня кота байтом зовут :-) Ставим 2 байта и жмем «ОК»
Вот и все, наш eeprom в нужном нам виде предстает :-)
Ну и сохраняете его. В случае с приборкой VDO иммо3 можете на вин номер ориентироватся, если он стал правильно отображается то все правильно мы сделали
Теперь пароль на иммо вытянуть надо. Тут можно руками и все такое но на много проще сделать это с помощью всеми любимой программы, а именно VAG EEPROM Programmer.
Открываете полученный файл eeprom и в нем и сразу все что надо видите :-)
Можно или ручками перенести данные в новую приборку а можно этот дамп залить со всеми калибровками и шкаламии ключами. Ну и пробег можете подкрутить пока законом не запретили ;-)
Вот так все просто :-)
Читайте также: