Метод программирования микросхем FLASH-памяти, описанный в [1] и [2] ("горячая" замена микросхемы ПЗУ, хранящей коды BIOS, на материнской плате компьютера микросхемой, которую требуется программировать), имеет очевидный недостаток - большую вероятность повреждения как программируемой микросхемы, так и микросхемы, содержащей BIOS, и даже самой материнской платы. Предлагаю модификацию этого метода, не требующего "горячей" замены микросхем.
Суть его состоит в том, что микросхемы памяти допускают параллельное соединение всех выводов, кроме входа СЕ# (Chip Enable). При высоком уровне на этом входе выходные цепи микросхемы переключаются в высокоимпеданс-ное состояние, а на входные сигналы она не реагирует. Соединив таким образом две микросхемы, можно обеспечить старт материнской платы с "родной" BIOS, а после переключиться на программируемую микросхему простой коммутацией входов СЕ#. Используя утилиты модификации BIOS, в целевую микросхему можно записать любую информацию соответствующего объема.
Рис. 1
Схема устройства приведена на рисунке. Вилку ХР1 вставляют в панель для микросхемы с BIOS материнской платы, а саму микросхему переносят в панель XS2. Панель XS1 предназначена для микросхемы, которую предстоит запрограммировать.
Во время старта материнской платы перемычка S3 должна стоять в показанном на схеме положении 1, обеспечивая чтение кода BIOS из микросхемы, находящейся в панели XS2. По завершении стартовых операций перемычку S3 переносят в положение 2, обеспечивая возможность выборки программируемой микросхемы, находящейся в панели XS1.
Перемычка S2 предназначена для подачи напряжения программирования 5 или 12 В на вывод 1 (Vpp) программируемой микросхемы. Перемычкой S1 коммутируют ее вывод 30. У двухмега-битных микросхем это адресный вход А17, и перемычка S1 должна быть установлена в положение 1. На вывод 30 микросхем серии 28Fxxx фирмы Intel необходимо подать напряжение 12 В (S1 в положении 3), а других одномега-битных микросхем РПЗУ - 5 В (S1 в положении 2).
Конденсаторы С1- С5 блокировочные. Через резисторы R1 и R2 на отключенные перемычкой S1 выводы 22 микросхем поступает напряжение высокого логического уровня, удерживая эти микросхемы в пассивном состоянии.
Материнскую плату, которой предстоит выполнять функции программатора, лучше использовать самую простую и дешевую, желательно со встроенной видеокартой (не нужно ничего вставлять в слоты расширения). Микросхема с кодами BIOS должна быть в корпусе DIP-32 и установлена в панель. Автор использовал материнскую плату P6STP-FL производства ElitGroup.
Вилка ХР1 изготовлена из обычной панели для микросхем, в гнезда которой впаяны соединительные провода, а выводы контактов вставлены в гнезда панели на материнской плате. Если эту плату не предполагается использовать по прямому назначению, можно обойтись и без вилки ХР1, просто припаяв провода к соответствующим контактам панели на материнской плате.
ПанельХ81 лучше использовать типа ZIF - с нулевым усилием установки микросхемы. Однако, учитывая высокую стоимость такой панели, можно обойтись и обычной. Во избежание быстрого износа ее контактов желательно вставить в нее еще одну такую же панель, а уже в эту панель - программируемую микросхему. Промежуточную панель заменить при необходимости намного легче, чем основную, к выводам которой припаяны провода.
Для программирования микросхем в корпусе PLCC-32 можно добавить еще одну панель соответствующего типа, подключив ее контакты параллельно контактам панели XS1 либо изготовив переходник DIP-32-PLCC-32. Это сделает возможным программирование микросхем серий 28хххх, 29хххх, ЗЭхххх и некоторых из серии 49хххх, имеющих корпус PLCC-32 и напряжение питания 5 В.
Перед изготовлением и применением этого устройства рекомендуется ознакомиться со статьей [2], где имеются ответы на многие вопросы, возникающие при программировании.
Литература:
1. Рюмик С. Как запрограммировать FLASH РПЗУ. - Радио, 2005, № 7, с. 32.
2. Севко Р. Искусство перепрошивки BIOS. - http://www.nowa.cc/showthread. php?t=81677.
Автор: Э. Мамедов, г. Баку, Азербайджан