Любая современная цифровая техника, как компьютерная, так и бытовая, работает по специально написанному алгоритму действий. Этот алгоритм, в виде программного кода, записан в специальной программе, иначе называемой прошивкой устройства. Иногда, например в случае, когда техника была включена без сетевого фильтра в грозу, эта прошивка слетает.
Программный код, который был записан во 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? Обязательно ли ее выпаивать перед прошиванием? Нет, по крайней мере не всегда. Китайская промышленность выпускает специальный адаптер, клипсу, прицепившись которой сверху к контактам микросхемы, мы можем прошить ее без выпаивания. Но оговорюсь, этот вариант не всегда срабатывает.
Универсальные программаторы, которые подойдут не только к РІС
Если человек увлекается программированием микроконтроллеров, то вряд ли он постоянно будет пользоваться только одним типом. Для тех, кто не желает покупать отдельно программаторы для различных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут запрограммировать МК нескольких компаний. Так как компаний, выпускающих их, довольно много, то стоит избрать пару и рассказать про программаторы для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.
Универсальный программатор PIC и AVR — это аппаратура, особенность которой заключается в её универсальности и возможности изменять работу благодаря программе, не внося изменений в аппаратную составляющую. Благодаря этому свойству такие приборы легко работают с МК, которые были выпущены в продажу уже после выхода программатора. Учитывая, что значительным образом архитектура в ближайшее время меняться не будет, они будут пригодны к использованию ещё длительное время. К дополнительным приятным свойствам заводских программаторов стоит отнести:
- Значительные аппаратные ограничения по количеству программируемых микросхем, что позволит программировать не одну, а сразу несколько единиц электроники.
- Возможность программирования микроконтроллеров и схем, в основе которых лежат различные технологии (NVRAM, NAND Flash и другие).
- Относительно небольшое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.
Схема электрическая
Схема самодельного программатора SPI Flash 25 серии
Стабилизатор на 3.3 вольта, в данном случае, если будет крайняя необходимость, можно заменить на литиевую батарейку таблетку, 2016-2032, она, свежая разумеется, выдает порядка 3 вольт, и такого питания будет достаточно, для разовых прошивок.
Возможные проблемы
Увы, даже самая идеальная техника не лишена возможных проблем, которые нет-нет, да и возникнут. Для улучшенного понимания необходимо составить список. Часть из этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить при наличии необходимой проверочной аппаратуры. В таком случае, если программатор PIC-микроконтроллеров заводской, то вряд ли починить представляется возможным. Хотя можно попробовать найти возможные причины сбоев:
- Некачественная пайка элементов программатора.
- Отсутствие драйверов для работы с устройством.
- Повреждения внутри программатора или проводов внутри компьютера/USB.
Вместо вывода
Данный условно — софтовый ремонт материнских плат, является одним из самых простых видов ремонта, и не требует ни опыта в пайке, ни наличия паяльного фена, и других дорогих инструментов и приборов. Я рекомендую программатор SPI с Али экспресс, и клипсу для него, как недорогое решение, для прошивания BIOS материнских плат, всем начинающим мастерам, которые пока не могут позволить себе приобрести, по различным причинам программатор TL866A. Всем удачных ремонтов, с вами был AKV.
Любая современная цифровая техника, как компьютерная, так и бытовая, работает по специально написанному алгоритму действий. Этот алгоритм, в виде программного кода, записан в специальной программе, иначе называемой прошивкой устройства. Иногда, например в случае, когда техника была включена без сетевого фильтра в грозу, эта прошивка слетает.
Программный код, который был записан во Flash память микросхемы, начинает работать со сбоями, и устройство больше не может нормально функционировать. Как быть в таком случае? Читайте инструкцию сайта Электрические схемы и узнаете. А здесь нам необходимо найти прошивку, иначе говоря ту самую программу, в нужном для прошивания формате, очистить память микросхемы, и затем заново перезаписать новую программу. Для того, чтобы залить прошивку в память микросхемы, нам необходим программатор. Иногда, если устройство было выпущено с “сырой” прошивкой, перепрошивка на более свежую, позволит добавить новые функции устройству, или избавиться от неприятых багов, которые отравляли вам жизнь, при использовании этой техники. Приведу простой пример: на материнских платах, производитель предусмотрел возможность обновления прошивки, просто считав ее с флешки, зайдя в BIOS и выбрав нужную опцию.
Обновление BIOS с флешки
Тогда у начинающих возникнет резонный вопрос, а зачем вообще нужны какие-то программаторы еще, если все решается так легко и просто в биосе? Дело в том, что это возможно только тогда, когда мы можем зайти в BIOS, и выбрать нужную опцию, или иными словами, тогда, когда материнская плата у нас хоть как то функционирует. Материнская плата в случае проблем с BIOS, может якобы стартовать, при нажатии кнопки включения на ПК, но изображения нет, звукового короткого сигнала, говорящего нам, что самотестирование материнской платы прошло успешно, также нет. Как быть здесь? Прошивка слетела у нас в этом случае, или что то другое?
Здесь сначала нужно сделать отступление, и рассказать о том, что такое POST карта, и для чего она здесь нужна. Это специальная плата, для PCI разъема, которая втыкается в него, и имеет индикацию POST кодов, или иначе говоря, индикацию в виде буквенно цифрового кода, происходящих программных процессов, включения в работу материнской платы, на двух семисегментных индикаторах. Эти POST коды разумеется имеют каждый свою расшифровку, по которым мы определяем, в случае поломки, на каком из этапов, у нас произошел сбой. И вот если мы видим, что на каком-то из POST кодов, у нас зависает тестирование, мы можем с определенной долей вероятности предположить, что виновен в неисправности слетевший BIOS. Конечно-же, перед прошиванием, нужно сперва выполнить все стандартные процедуры, на случай плохого контакта в разъемах памяти или процессора.
Вставить процессор в сокет, поднять и опустить 20 раз рычаг, при этом окислы, если они были на контактах разъема, сотрутся. Пройтись мягким белым ластиком, по контактам оперативной памяти, с обоих сторон, с этой же целью. Взять зубную щетку, и провести 5 раз, по каждому из слотов памяти, по разъему, вдоль него. Как показывает практика, иногда этого бывает достаточно, для того чтобы компьютер заработал.
Кстати если вы меняли батарейку на материнской плате, не забудьте очистить CMOS, замкнув на 10 секунд, 2 контакта Clear CMOS, на материнской плате джампером.
Как сбросить CMOS
Если материнская плата была модели Asrock, типа широко распространенных серий N68 или G31, и подобных, то нужно будет вынуть модули ОЗУ, и вставить из заново, после замены батарейки, почитайте про теневое ОЗУ, кому интересно, для чего это делается.
Особенности практического использования
Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к портам USB, но есть и такие вариации, что работают с помощью тех же проводов, что и винчестер. И для их использования придется снимать крышку компьютера, перебирать провода, да и сам процесс подключения не очень-то и удобный. Но второй тип является более универсальным и мощным, благодаря ему скорость прошивки больше, нежели при подключении через USB. Использование второго варианта не всегда представляется таким удобным и комфортным решением, как с USB, ведь до его использования необходимо проделать ряд операций: достать корпус, открыть его, найти необходимый провод. Про возможные проблемы от перегревания или скачков напряжения при работе с заводскими моделями можно не волноваться, так как у них, как правило, есть специальная защита.
Если всё-таки надо перепрошивать
Итак вернемся к нашим баранам). Вы проделали все эти процедуры, но материнская плата как и прежде, не хочет работать должным образом, и вы принимаете решение прошить 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 корпусе, и устанавливаются в специальную панельку.
Драйвера
Первоначально следует подобрать программное обеспечение. В зависимости от схемы программатор может быть заточен или под один микроконтроллер, или под большое их количество. Тот, что будет далее рассматриваться, рассчитан примерно на 98 программаторов от 12-го до 18-го семейств. Для тех, кому понравится вариант сборки, следует уточнить, что в качестве драйверного программного обеспечения использовалась программа IC-PROG. Можете попробовать работать и с другой, но уже на свой страх и риск. Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров РІС он рассчитан. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то вы всегда можете попытаться.
Схема электрическая
Схема самодельного программатора SPI Flash 25 серии
Стабилизатор на 3.3 вольта, в данном случае, если будет крайняя необходимость, можно заменить на литиевую батарейку таблетку, 2016-2032, она, свежая разумеется, выдает порядка 3 вольт, и такого питания будет достаточно, для разовых прошивок.
Собираем программатор для микроконтроллеров PIC и микросхем EEPROM
Какие первые шаги должен сделать радиолюбитель, решивший собрать схему на микроконтроллере? Естественно, необходима управляющая программа – «прошивка», а также программатор.
И если с первым пунктом нет проблем – готовую «прошивку» обычно выкладывают авторы схем, то вот с программатором дела обстоят сложнее.
Цена готовых USB-программаторов довольно высока и лучшим решением будет собрать его самостоятельно. Вот схема предлагаемого устройства (картинки кликабельны).
Панель установки МК.
Исходная схема взята с сайта LabKit.ru с разрешения автора, за что ему большое спасибо. Это так называемый клон фирменного программатора PICkit2. Так как вариант устройства является «облегчённой» копией фирменного PICkit2, то автор назвал свою разработку PICkit-2 Lite, что подчёркивает простоту сборки такого устройства для начинающих радиолюбителей.
Что может программатор? С помощью программатора можно будет прошить большинство легкодоступных и популярных МК серии PIC (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A и др.), а также микросхемы памяти EEPROM серии 24LC. Кроме этого программатор может работать в режиме USB-UART преобразователя, имеет часть функций логического анализатора. Особо важная функция, которой обладает программатор – это расчёт калибровочной константы встроенного RC-генератора некоторых МК (например, таких как PIC12F629 и PIC12F675).
Необходимые изменения.
В схеме есть некоторые изменения, которые необходимы для того, чтобы с помощью программатора PICkit-2 Lite была возможность записывать/стирать/считывать данные у микросхем памяти EEPROM серии 24Cxx.
Из изменений, которые были внесены в схему. Добавлено соединение от 6 вывода DD1 (RA4) до 21 вывода ZIF-панели. Вывод AUX используется исключительно для работы с микросхемами EEPROM-памяти 24LС (24C04, 24WC08 и аналоги). По нему передаются данные, поэтому на схеме панели программирования он помечен словом «Data». При программировании микроконтроллеров вывод AUX обычно не используется, хотя он и нужен при программировании МК в режиме LVP.
Также добавлен «подтягивающий» резистор на 2 кОм, который включается между выводом SDA и Vcc микросхем памяти.
Все эти доработки я уже делал на печатной плате, после сборки PICkit-2 Lite по исходной схеме автора.
Микросхемы памяти 24Cxx (24C08 и др.) широко используются в бытовой радиоаппаратуре, и их иногда приходится прошивать, например, при ремонте кинескопных телевизоров. В них память 24Cxx применяется для хранения настроек.
В ЖК-телевизорах применяется уже другой тип памяти (Flash-память). О том, как прошить память ЖК-телевизора я уже рассказывал. Кому интересно, загляните.
В связи с необходимостью работы с микросхемами серии 24Cxx мне и пришлось «допиливать» программатор. Травить новую печатную плату я не стал, просто добавил необходимые элементы на печатной плате. Вот что получилось.
Ядром устройства является микроконтроллер PIC18F2550-I/SP.
Это единственная микросхема в устройстве. МК PIC18F2550 необходимо «прошить». Эта простая операция у многих вызывает ступор, так как возникает так называемая проблема «курицы и яйца». Как её решил я, расскажу чуть позднее.
Список деталей для сборки программатора. В мобильной версии потяните таблицу влево (свайп влево-вправо), чтобы увидеть все её столбцы.
Название | Обозначение | Номинал/Параметры | Марка или тип элемента |
Для основной части программатора | |||
Микроконтроллер | DD1 | 8-ми битный микроконтроллер | PIC18F2550-I/SP |
Биполярные транзисторы | VT1, VT2, VT3 | КТ3102 | |
VT4 | КТ361 | ||
Диод | VD1 | КД522, 1N4148 | |
Диод Шоттки | VD2 | 1N5817 | |
Светодиоды | HL1, HL2 | любой на 3 вольта, красного и зелёного цвета свечения | |
Резисторы | R1, R2 | 300 Ом | МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги |
R3 | 22 кОм | ||
R4 | 1 кОм | ||
R5, R6, R12 | 10 кОм | ||
R7, R8, R14 | 100 Ом | ||
R9, R10, R15, R16 | 4,7 кОм | ||
R11 | 2,7 кОм | ||
R13 | 100 кОм | ||
Конденсаторы | C2 | 0,1 мк | К10-17 (керамические), импортные аналоги |
C3 | 0,47 мк | ||
Электролитические конденсаторы | C1 | 100 мкф * 6,3 в | К50-6, импортные аналоги |
C4 | 47 мкф * 16 в | ||
Катушка индуктивности (дроссель) | L1 | 680 мкГн | унифицированный типа EC24, CECL или самодельный |
Кварцевый резонатор | ZQ1 | 20 МГц | |
USB-розетка | XS1 | типа USB-BF | |
Перемычка | XT1 | любая типа «джампер» | |
Для панели установки микроконтроллеров (МК) | |||
ZIF-панель | XS1 | любая 40-ка контактная ZIF-панель | |
Резисторы | R1 | 2 кОм | МЛТ, МОН (мощностью от 0,125 Вт и выше), импортные аналоги |
R2, R3, R4, R5, R6 | 10 кОм |
Использование программатора от Microchip
По его использованию можно найти много обучающих уроков, которые помогут разобраться с всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то можно ещё подметить качество поддержки, предоставляемое вместе с ним. Так, в дополнение идут обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с маловыводными микроконтроллерами. Кроме всего этого, присутствуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимулирования работы МК.