Программатор биос своими руками схема

Универсальный USB программатор

В интернете представлено множество схем программаторов микроконтроллеров. Представляю вариант внутрисхемного универсального USB программатора с возможностью отладки, которым пользуюсь я. Вы сможете собрать данный программатор своими руками.

Основой программатора является микросхема FT2232D. Представляет она собой преобразователь USB в два порта UART. Особенность заключается в том, что «верхний» канал А может работать в режимах JTAG, SPI и I 2 C, что и требуется для программирования микроконтроллеров, различных микросхем памяти и т.п.

Разработка данного USB-программатора ведется на компьютере с использованием библиотек от фирмы FTDI Chip.

Питается устройство от интерфейса USB. При правильной сборке схема не нуждается в настройке. Функционирование устройства зависит от мастерства разработчика ПО. Резисторы R8, R9, R12, R13, R14, R15, R16 являются токоограничивающими при неправильном соединении с устройством, соответственно, выводы программируемого устройства не должны соединяться с другими элементами в схеме, или иметь такие подтяжки, которые при образовании делителей напряжения не искажали бы логические уровни. Микросхема U1 используется для сохранения пользовательских настроек.

Выводы U2 (канал А):
24 — ADBUS0 – выход- в режиме JTAG TCK, в режиме SPI SK;
23 — ADBUS1 – выход- в режиме JTAG TDI, в режиме SPI DO;
22 — ADBUS2 – вход- в режиме JTAG TDO, в режиме SPI DI;
21 — ADBUS3 – выход- в режиме JTAG TMS, в режиме SPI как вспомогательный сигнал(CS);
20 — ADBUS4 – в режиме JTAG вход\выход, в режиме SPI вспомогательный выход. Этот вывод используется для подачи сигнала RESET в микроконтроллер;
15 — AСBUS0 – свободно программируемый вход\выход во всех режимах (опционно используется для подачи питания в программируемое устройство);
13 — AСBUS1 – свободно программируемый вход\выход во всех режимах.

Читайте также:  Скобы для гусеницы своими руками

В принципе, эти выводы многофункциональные. Их поведение определяется выбранным режимом при открытии порта.

Канал В используется для отладки программируемого устройства. Для этого нужно только иметь незадействованный порт UART в микроконтроллере. Далее дело техники. В программе микроконтроллера в нужных местах используем функцию форматированного вывода printf().

40 —BDBUS0 – выход- в режиме UART TXD;
39 —BDBUS1 – вход- в режиме UART RXD;
28 — BСBUS2 – выход- в режиме UART LED-индикатор (зажигается при передаче данных через USB);
27 — BСBUS3 – выход- в режиме UART LED-индикатор (зажигается при приеме данных через USB).

Ниже приведена печатная плата программатора

На сегодняшний день данный универсальный программатор поддерживает микроконтроллеры AVR по интерфейсам JTAG и SPI. Причем скорость прошивки Atmega64 по JTAG не более 5-и секунд, по SPI не более 8-ми секунд. Принципиально, прошивать можно любые микроконтроллеры, к которым распространяется спецификация для программатора. В настоящий момент, например, ведется разработка для поддержки микроконтроллеров NEC.

Рабочая форма поделена на две части: слева таблицы для работы с FLASH (сверху) и EEPROM (снизу), сюда можно открывать файлы или загружать прошивки из микроконтроллера, делать верификацию, править содержимое ячеек памяти; справа текстовое поле для отладки, сюда выводятся данные с канала В, также можно там вводить текст, который отправится в порт (функционально это аналог HyperTerminal). Разработка ведется на платформе Visual C# под Windows. Также есть возможность разрабатывать на других языках. Программатор может работать и под Linux.

Используемая литература:
1. А.В. Евстигнеев «Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL», М. Издательский дом «Додэка-ХХI», 2005.
2. Future Technology Devices International Ltd. “FT2232D Dual USB UART/FIFO I.C.” , Datasheet, 2006.
3. Future Technology Devices International Ltd. “Software Application Development D2XX Programmer’s Guide” , Document, 2009.
4. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCJTAG DLL” , Application note AN_110, 2009.
5. Future Technology Devices International Ltd. “Programmers Guide for High Speed FTCSPI DLL” , Application note AN_111, 2009.
6. Эндрю Троелсен «С# и платформа .NET» М.,С-П. Питер, 2007.

Скачать исходники ПО и печатную плату в формате P-CAD вы можете ниже

Борисов Алексей (Albor) г.Сызрань, Самарская обл.

Источник

ПРОШИВКА И ПЕРЕПРОШИВКА BIOS

Любая современная цифровая техника, как компьютерная, так и бытовая, работает по специально написанному алгоритму действий. Этот алгоритм, в виде программного кода, записан в специальной программе, иначе называемой прошивкой устройства. Иногда, например в случае, когда техника была включена без сетевого фильтра в грозу, эта прошивка слетает.

Программный код, который был записан во Flash память микросхемы, начинает работать со сбоями, и устройство больше не может нормально функционировать. Как быть в таком случае? Читайте инструкцию сайта Электрические схемы и узнаете. А здесь нам необходимо найти прошивку, иначе говоря ту самую программу, в нужном для прошивания формате, очистить память микросхемы, и затем заново перезаписать новую программу. Для того, чтобы залить прошивку в память микросхемы, нам необходим программатор. Иногда, если устройство было выпущено с “сырой” прошивкой, перепрошивка на более свежую, позволит добавить новые функции устройству, или избавиться от неприятых багов, которые отравляли вам жизнь, при использовании этой техники. Приведу простой пример: на материнских платах, производитель предусмотрел возможность обновления прошивки, просто считав ее с флешки, зайдя в BIOS и выбрав нужную опцию.

Обновление BIOS с флешки

Тогда у начинающих возникнет резонный вопрос, а зачем вообще нужны какие-то программаторы еще, если все решается так легко и просто в биосе? Дело в том, что это возможно только тогда, когда мы можем зайти в BIOS, и выбрать нужную опцию, или иными словами, тогда, когда материнская плата у нас хоть как то функционирует. Материнская плата в случае проблем с BIOS, может якобы стартовать, при нажатии кнопки включения на ПК, но изображения нет, звукового короткого сигнала, говорящего нам, что самотестирование материнской платы прошло успешно, также нет. Как быть здесь? Прошивка слетела у нас в этом случае, или что то другое?

Здесь сначала нужно сделать отступление, и рассказать о том, что такое POST карта, и для чего она здесь нужна. Это специальная плата, для PCI разъема, которая втыкается в него, и имеет индикацию POST кодов, или иначе говоря, индикацию в виде буквенно цифрового кода, происходящих программных процессов, включения в работу материнской платы, на двух семисегментных индикаторах. Эти POST коды разумеется имеют каждый свою расшифровку, по которым мы определяем, в случае поломки, на каком из этапов, у нас произошел сбой. И вот если мы видим, что на каком-то из POST кодов, у нас зависает тестирование, мы можем с определенной долей вероятности предположить, что виновен в неисправности слетевший BIOS. Конечно-же, перед прошиванием, нужно сперва выполнить все стандартные процедуры, на случай плохого контакта в разъемах памяти или процессора.

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

Кстати если вы меняли батарейку на материнской плате, не забудьте очистить CMOS, замкнув на 10 секунд, 2 контакта Clear CMOS, на материнской плате джампером.

Как сбросить CMOS

Если материнская плата была модели Asrock, типа широко распространенных серий N68 или G31, и подобных, то нужно будет вынуть модули ОЗУ, и вставить из заново, после замены батарейки, почитайте про теневое ОЗУ, кому интересно, для чего это делается.

Если всё-таки надо перепрошивать

Итак вернемся к нашим баранам). Вы проделали все эти процедуры, но материнская плата как и прежде, не хочет работать должным образом, и вы принимаете решение прошить BIOS. Здесь нужно знать о том, какие типы микросхем и в каких корпусах вам могут встретиться на материнских платах. Типы микросхем памяти, которые встречались на устаревших материнских платах, времен Pentium 4, в корпусе PLCC32, мы особо рассматривать не будем. Для них нужен программатор другого типа, намного более сложный в изготовлении, и дорогой по стоимости, если покупать готовый.

Программатор TL 866A

Если кому-то очень нужно будет прошить такую микросхему памяти, вам потребуется программатор TL 866A, который можно заказать с Али экспресс, это только сам программатор, без адаптеров и переходников, и обойдется он по цене порядка 2.5 тысяч рублей. Полный комплект, естественно будет дороже. Но как оказалось, есть еще более дешевое решение этой проблемы, хотя и менее универсальное. Это программатор NANO USB Programmer, с E-bay, на Али экспресс, я его почему то не нашел.

Программатор NANO USB

Решение о его приобретении, в связи с меньшей универсальностью, по сравнению с TL866A, наверное весьма спорное, но и стоит он, примерно в два раза дешевле, около тысячи рублей. Нас же сейчас интересуют микросхемы памяти с SPI интерфейсом, для которых требуются намного более дешевые и простые программаторы.

Ddip-8 Биос микросхема

Дело в том, что начиная примерно с 2007 года, на материнских платах платформ AMD и Intel, начался постепенных переход от микросхем BIOS, в корпусе PLCC32, на микросхемы с SPI интерфейсом, имеющие 8 ног, и выпускаемые в корпусах Dip-8 и So-8.

Последние, как вы уже думаю поняли, выпущены в SMD варианте. Так вот, эти самые микросхемы, на современных материнских платах, очень часто выпускаются в Dip-8 корпусе, и устанавливаются в специальную панельку.

Программатор CH 341A

В таком случае нам остается только извлечь микросхему из панельки, установить ее в ZIF адаптер программатора, прошить, а затем установить обратно в материнскую плату. Кстати перед тем, как стирать микросхему, и прошивать новой прошивкой, обязательно сохраните текущую прошивку на жестком диске. Это позволит вам без проблем залить ее обратно, в случае, если новая прошивка будет работать не стабильно, или вообще окажется не подходящей к этому устройству.

Но где же взять прошивку для программатора, ведь она должна быть в формате *.bin или *.hex, именно такие форматы прошивок понимает программатор, а на официальном сайте производителя для обновления прошивки через флешку, можно скачать только какой-то вообще левый непонятный формат. Как показала практика, это чаще всего тот же самый двоичный формат *.bin, только с другим расширением, и чтобы его прошить нам нужно просто изменить расширение файла на *.bin. Как же все оказывается просто).

Выбираем формат прошивки

Но не тут то было, рано обрадовались). Например на мониторы и другую технику производители прошивки в открытый доступ не выкладывают, и доступ к ним имеется только в сервисных центрах, либо можно попросить кого то снять дамп с рабочего монитора. Но к счастью мир не без добрых людей, и прошивки эти, если очень хорошо поискать, можно все же найти на специализированных сайтах по ремонту техники. Как же быть если микросхема BIOS у нас в корпусе SO-8? Обязательно ли ее выпаивать перед прошиванием? Нет, по крайней мере не всегда. Китайская промышленность выпускает специальный адаптер, клипсу, прицепившись которой сверху к контактам микросхемы, мы можем прошить ее без выпаивания. Но оговорюсь, этот вариант не всегда срабатывает.

В таком случае потребуется выпаять микросхему памяти, и прошить ее, припаяв к площадке адаптера, либо воспользоваться клипсой, зажав в нее микросхему, либо вот такими адаптерами, имеющими разную ширину, устанавливаемой микросхемы, 150 и 200 mil.

Адаптеры 200 и 150 Мил

Как можно выпаять микросхему SO-8, без помощи паяльного фена? Можно воспользоваться сплавами Розе или Вуда, на крайний случай, можно взять более низкотемпературный, чем припой для безсвинцовой пайки, ПОС-61, нанести его на контакты микросхемы, взять медицинскую иглу из нержавейки, и поддев ее под один из контактов микросхемы, прогревая жалом паяльника, приподнять его.

Затем эту процедуру нужно проделать поочередно со всеми контактами. После чего нужно удалить старый припой с контактных площадок на плате, нанеся флюс, с помощью демонтажной оплетки. Свой программатор и клипсу я давно отбил, перепрошив BIOS всего лишь на одной материнской плате. И теперь он мне часто помогает, когда возникают сомнения, в чем проблема, в BIOS или нет. Если же по каким то причинам нет возможности приобрести SPI программатор, можно самому спаять простую схемку, для прошивания микросхем в корпусе Dip-8, скорее всего для разовых работ, вам ее будет достаточно.

Схема электрическая

Схема самодельного программатора SPI Flash 25 серии

Стабилизатор на 3.3 вольта, в данном случае, если будет крайняя необходимость, можно заменить на литиевую батарейку таблетку, 2016-2032, она, свежая разумеется, выдает порядка 3 вольт, и такого питания будет достаточно, для разовых прошивок.

Вместо вывода

Данный условно — софтовый ремонт материнских плат, является одним из самых простых видов ремонта, и не требует ни опыта в пайке, ни наличия паяльного фена, и других дорогих инструментов и приборов. Я рекомендую программатор SPI с Али экспресс, и клипсу для него, как недорогое решение, для прошивания BIOS материнских плат, всем начинающим мастерам, которые пока не могут позволить себе приобрести, по различным причинам программатор TL866A. Всем удачных ремонтов, с вами был AKV.

Источник

Оцените статью