Исправление фузов 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 . Приведена также программа ( может кому пригодится ) , временые задержки организованы на программных циклах.

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

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

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

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

D1, D2
МК AVR 8-битATtiny23132
Одна из них нуждается в исправлении фузов
Биполярный транзисторКТ315А1

Биполярный транзисторКТ361А1

СтабилитронД814Г1

ДиодКД522Б2

Резистор330 Ом1

Резистор1 кОм3

Резистор10 кОм1

Резистор22 кОм1

Резистор150 кОм1

Кварцевый резонатор1 МГц или 10 МГц1

Светодиод1
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Добавить комментарий

Ваш адрес email не будет опубликован.