Исправление фузов AVR

Исправление фузов AVR

Спасение контроллеров дело рук самих контроллеров. Эта схема для исправления не правильно зашитых фузов ATTINY2313 ( хотя наверное можно перепрограммировать и другие AVR, у них команды схожи) использует режим параллельного программирования. МК восстанавливает заводские установки, а главное бит SPIEN, включается внутренний генератор, и снова можно использовать последовательный программатор, я использую USB на atmega8. Скорость его надо уменьшить, т.е. замкнуть вывод 14 ( PB0 ) через резистор 300 Ом на корпус. Повышенная скорость видимо предназначена для программирования МК вставляемых в панельки находящиеся на плате программатора. У меня ATTINY2313 стоял на макетной плате соединенной проводами( примерно 20см ) с программатором, и при повышенной скорости были ошибки чтения и FLASH и сигнатуры и фузов. Стертая FLASH читалась - частично FFFF, частично 0000, частично вообще какие - то случайные значения. Было и такое что после первого программирования МК вообще переставал определяться. Как только программатор перевел в режим LOW все ошибки исчезли, конечно при этом увеличилось время записи и чтения. Программа использовалась - СhipBlasterAVR ver 1.12.

Нижеприведенная схема исправляет фузы. Частота кварца особого значения не имеет, может быть и 1МГц и 10 МГц, или внутренний генератор с делением частоты или без. Если нужно исправить только один AVR то он припаивается сверху D1, отгибаются только некоторые выводы и тонкими проводками соединяются с резисторами. Если несколько AVR то сверху припаивается панелька для 20 выводного корпуса ( хотя панельки не очень надежны ). Сначала возможно придется подобрать количество диодов для получения напряжения 12в на коллекторе источника тока КТ361 ( 11,5……12,5 ), ток коллектора примерно 10ма ( можно подбирать резистор подключенный к базе ). При использовании вместо D2 другой МК надо сравнить даташиты ( фузы других AVR совсем другие и бит SPIEN может находиться в другом разряде, тогда придется некоторые строчки прошивки изменить ), хотя и в справочных данных на ATTINY2313 есть ошибки, не правильно указаны номера входов PAGE и BS2. Приведена также программа ( может кому пригодится ), временые задержки организованы на программных циклах.

Сначало при подаче одновременно двух напряжений питания ( от одного блока питания ) идет стирание чипа, потом запись старших фузов далее младших, светодиод должен три раза мигнуть ( tи = 1мс при кварце 8 МГц, т. е. три раза приходит сигнал ответа RDY/BSY ). Питание должно включаться одновременно ( нужен БП который выдает и + 5V и + 15V ), далее МК делает набольшую задержку потом устанавливается 0 на выв. R, потом + 12 В... и т.д.

Если после восстановления фузов будет перепрограммирован генератор с внутреннего на внешний кварц (с помощью СhipBlasterAVR ) то avr перестает определяться (сигнатура не будет читаться ) пока не будет подпаян внешний кварц.

Похожие схемы есть на греческом и на немецком на AVR AT90S1200, но там без обратной связи с вывода RDY/BSY ( R/B ).

Скачать прошивку HEX и исходник программы

Автор: jem9kip; Публикация:






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.