Внимание ! Автор устройства не стоит на месте — постоянно усовершенствует своего «Доктора». За изменениями слежу и я, внося обновления в статью.
В статье описана самая стабильная версия Update №9. от 13.03.2011.
В конце статьи есть последняя версия и архив со всеми старыми версиями «Доктора».
Хочу спросить у читающих мой блог — много ли у Вас скопилось микроконтроллеров с неправильно прошитыми фьзами и непригодными для дальнейшего использования? Я думаю, если Вы довольно продолжительное время работаете с микроконтроллерами, то у Вас были случаи неправильной прошивки фьюзов. Свои «запорченные» микроконтроллеры я складывал в специальную коробочку с надеждой на то, что когда-то, в будущем, соберу высоковольтный параллельный программатор и верну их к жизни. Но высоковольтный программатор как-то особо не хотелось собирать. Схема довольно наворочена, да и применение такого программатора разовое – оживить ошибочно прошитый микроконтроллер. Короче, всегда проще (и дешевле) было купить новый микроконтроллер. Так и хранились бы и дальше «мертвые» микроконтроллеры если бы не случилась странная штука – при изготовлении нового устройства (скоро выложу) перестали подавать признаки жизни, сразу две тини2313 без особых на то причин. Подозрение пало на то, что при прошивке были неправильно выставлены фьюзы. Новых, в SOIC корпусе, быстро достать не получалось, а схемку закончить чесались руки. Так как, я все равно собирался, когда то делать высоковольтный программатор, решил, что пришло время это сделать. Но высоковольтный программатор я так и не сделал, а сделал устройство специально предназначенное для исправления ошибочно установленных фьюзов.
Некоторое время назад, по ссылке geovas , я поглядел на устройство под названием «Atmega fusebit doctor». Автор — поляк Pawel Kisielewski. Так как схема этого устройства относительно несложная решил вместо высоковольтного программатора собрать «доктора». И не ошибся – устройство оказалось замечательным! Не могу не поделиться своими впечатлениями о «Atmega fusebit doctor», так как в этом проекте есть много вещей, которые я ценю.
Что интересного есть в «Atmega fusebit doctor»?
Как Вы поняли – это не совсем высоковольтный программатор. Это устройство предназначено только для одной цели – вернуть к «жизни» микроконтроллер с неправильно прошитыми фьзами.
Такими фьюзами могут быть:
— CKSEL фьюзы выбора задающего генератора (выбран внешний генератор при его отсутствии или выбрана очень маленькая частота внутреннего);
— SPIEN запрет последовательного программирования;
— RSTDISBL использование ножки сброса как дополнительной линии ввода-вывода;
— установленные LOCK биты;
— другие, мешающие последовательному программированию.
ПРИНЦИП РАБОТЫ УСТРОЙСТВА
— очень прост – подаем на плату 12 вольт, вставляем в панельку «запорченный» микроконтроллер, нажимаем кнопочку «START» и через доли секунды получаем новенький рабочий микроконтроллер. Очень просто, даже не нужен компьютер (всегда возмущают псевдо навороты, в виде управления при помощи специальной программе на PC, там, где это в принципе не нужно). И если внешне устройство выглядит просто, то внутри все гораздо сложнее. При нажатии кнопки «START» устройство читает сигнатуру микроконтроллера-пациента, при этом, если она не читается, делается несколько попыток прочитать различными способами. После того как сигнатура прочитана по базе определяется тип микроконтроллера и восстанавливаются заводские, для данного микроконтроллера, установки фьюз бит. Если сигнатура неизвестна или микроконтроллер выдает ее неверно устройство установит фьюз биты в такое состояние, при котором станет возможным последовательное программирование. При восстановлении фьюз бит прошивка микроконтроллера остается нетронутой. Еще на плате есть перемычка «ALLOW ERASE«, при замыкании которой устройство полностью «обнулит» микроконтроллер. Это нужно в том случае, если пациент «залочен», т.е. установлены защитные биты которые препятствуют чтению/записи микроконтроллера.
Для индикации работы устройство имеет два светодиода – красненький и зелененький :). Минималистично? Но этого вполне хватает!
Если горит зеленый – пациент успешно вылечен, фьюз биты восстановлены до заводских. Если микроконтроллер «залочен» (LockBits включены), просто проверяются фьюз биты и если они совпадают с заводскими — загорается зеленый светодиод.
Если горит красный – проблемы с сигнатурой чипа, невозможно прочитать, нет микроконтроллера в панельке или нет такой сигнатуры в базе данных.
Если зеленый мигает — сигнатура в порядке, фьюз биты с ошибкой, но исправить их невозможно, так как микроконтроллер «залочен» (LockBits включены), необходимо полное стирание микроконтроллера (нужно установить перемычку для стирания — «ALLOW ERASE»).
Если мигает красный — сигнатура в порядке, микроконтроллер «не залочен», но, по какой-то причине, невозможно восстановить фьюз биты.
Если Вы хотите получить более подробную информацию о процессе «лечения» на плате есть выход UART. Отправьте этот сигнал на терминал и получите «распечатку» того, что было сделано.
Установки для терминала:
baudrate: 4800
parity: none
databits: 8
stopbits: 1
handshake: none
На плате установлены три панельки для «пациентов» на 20 (Attiny2313 …), 28 (Atmega48/88/168, Atmega8 …), 40 (Atmega16, Atmega8535 …) ножек. Если Вы решили «полечить» другого «пациента», то на плате предусмотрен специальный разъем для подключения адаптеров с панельками под любой, нужный Вам, микроконтроллер. Устройство поддерживает аж 106 типов микроконтроллеров AVR.
Вот полный список:
1kB:
AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2kB:
Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22,Attiny25, AT90s2313, AT90s2323, AT90s2343
4kB:
Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8kB:
Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB:
Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32kB:
Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64kB:
Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128kB:
Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256kB:
Atmega2560, Atmega2561
Зелененьким отмечены кристаллы которые проверялись и удачно полечились пользователями «доктора». Если Вы вылечили кристалл не помеченный зеленым, прошу сообщить об этом автору устройства или мне — я передам.
С лестными отзывами закончили, теперь давайте собирать устройство.
СБОРКА УСТРОЙСТВА.
Схема устройства довольно простая. Номиналы резисторов можно варьировать в небольших пределах
059-atmega_fusebit_doctor_V2e_schematic.pdf (53736 Загрузок)
Плата устройства разведена хорошо, но есть один нюанс, о котором важно не забыть при сборке устройства. Ножки 40-ка пиновой панельки с 29 по 37 необходимо откусить (лучше в плате вообще не сверлить отверстия под эти ножки).
Еще есть картинка для нанесения на плату со стороны деталей (монтажная картинка). Я впервые попробовал нанести такую картинку. Получилось очень удобно – монтаж превращается в простую процедуру установку деталек по картинкам. Наноситься рисунок методом ЛУТ. Вскройте рисунок лаком, иначе он быстро сотрется.
059-atmega_fusebit_doctor_V2e_PCB.zip (41556 Загрузок)
«Набиваем» плату радиодеталями, ставим несколько перемычек, получаем вот такое устройство:
ВНИМАНИЕ! Если у Вас собрана предыдущая версия платы «Доктора» (V2d — плата апдейдов по №6 включительно), для новой версии (апдейты №№7-9) переделывать ее нет необходимости, изменения минимальны. Для апгрейда версии платы V2d до версии V2e необходимо, всего лишь, припаять в нужном месте резистор на 100 Ом. Ниже показано куда его впаивать.
Hryam сделал рисунок платы версии V2d в Спринте. Вышло даже лучше чем у автора (размеры площадок, например).
059-atmega_doctor_plate_v2d_Sprint.zip (49242 Загрузки)
ПЛАТА ДЛЯ SMD КОМПОНЕНТОВ.
Появилась версия платы для SMD компонентов (товарисщь Shuffle постарался) . В этой плате нет панелек под «пациентов» есть только разъем для подключения адаптеров. Все «пациенты» включаются через адаптеры. Добавлен преобразователь UART to USB TF232RL, а значит Доктор будет выдавать информацию о ходе лечения по USB (можно не ставить). В остальном все как в оригинале.
059-shuffle_avrdoc_usb.zip (50066 Загрузок)
ПРОШИВАЕМ МИКРОКОНТРОЛЛЕР.
Теперь осталось только прошить микроконтроллер ATmega8 и устройство готово!
atmega_fusebit_doctor_2.09_m8.zip (46849 Загрузок)
059-FuseBits.png (68962 Загрузки)
Фьюз байты: Lock Bits = 0x 3F; High Fuse = 0x D1; Low Fuse = 0x E1; Ext. Fuse = 0x 00
Напоминаю:Для Algorithm Builder и UniProf галочки ставятся как на картинке.
Для PonyProg, AVR Studio, SinaProg галочки ставятся инверсно.
Как программировать микроконтроллеры читаем в FAQ.
Данный вариант прошивки еще есть для микроконтроллеров:
Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
Прошивка для микроконтроллеров с 16kB и 32kB памяти, кроме того, выдает названия восстанавливаемых микроконтроллеров.
Прошивки и фьюзы для других микроконтроллеров смотрите в архиве старых версий «Доктора» в конце статьи.
АДАПТЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ.
Автором были разработаны два адаптера:
— для HVPP программирования 20-ти пиновых Attiny26 подобных и 40-ка пиновых Atmega8515 подобных контроллеров.
— для HVSP программирования для 8-ми пиновых и 14p-ти пиновых микроконтроллеров с высоковольтным последовательным способом программирования
059-adapter-1HVPP_dip20-dip40.zip (25498 Загрузок)
059-adapter-HVSP-dip8-dip14.zip (24173 Загрузки)
Небольшой бонус от меня – адаптеры для микроконтроллеров 8-ми пиновых (ATtiny13 …) и 20-ти пиновых (ATtiny2313 …) в корпусах SOIC.
059-adapter_soic20-soic8.zip (27596 Загрузок)
Пользоваться адаптерами для SOIC корпусов очень просто:
АРХИВ ВСЕХ ПРЕДЫДУЩИХ ВЕРСИЙ ДОКТОРА.
Это архив со всеми предыдущими версиями «Доктора». Кроме того архив содержит дополнительные материалы, такие как пинауты для различных корпусов AVR, платы-адаптеры и другое.
atmega-hvpp-fusebit-doctor_archive.zip (33490 Загрузок)
ПОСЛЕДНЯЯ, НА ДАННЫЙ МОМЕНТ, ВЕРСИЯ «ДОКТОРА».
Как я уже упоминал выше, главным достоинством «Доктора» является его автономность. Для восстановления фьюзов нужно лишь само устройство. Это очень хорошо!
Да, «Доктор» по UART выдавал информацию о процессе «лечения». Сообщения по UART, дублируя светодиоды, давали более полную картину «лечения», но многим этого было недостаточно. Хотеться более полного контроля процесса восстановления. И в новом апдейте автор дает этот полный контроль!
Теперь стало возможным:
— двухстороннее общение с «Доктором» по UART;
— работа с кристаллами у которых неверная сигнатура;
— устанавливать свои fusebits и lockbits;
— об остальном читайте в описании внутри архива…
atmega-hvpp-fusebit-doctor_update11.zip (64224 Загрузки)
ПЛАТЫ ДОКТОРА ЧИТАТЕЛЕЙ БЛОГА.
Здесь находятся устройства собранные читателями — хорошо когда есть выбор.
Печатка «Доктора» от Paul (в Сплинте)
ATmega-Fusebit-Doctor-PCB.zip (23220 Загрузок)
zloynik нашел некоторые ошибки:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
В остальном вроде все впорядке. Собрал-залочил тиньку 2313-восстановило.
Учтите при изготовлении.
Вариант «Доктора» в SMD исполнении от webconn.
ATmega Fusebit Doctor SMD by WebConn V2h.zip (19127 Загрузок)
Хотел бы внести свой вклад в форме ещё одной платы для «доктора» в SMD-исполнении. Всего 5 перемычек и 3 SMD-»пофигистора», питание от Power Jack 5mm (но в архиве есть версия с колодкой) через 78L05 (греется, но пару минут можно работать без отключения питания, а больше обычно и не нужно ) Также греется один из транзисторов, но тоже в меру (мелкота требует жертв). Тем не менее, плата юзабельна. Совместима с последней версией Доктора V2h (то есть полностью растащен UART).
Вариант «Доктора» от Machineman.
Fusebit-Doctor.zip (11815 Загрузок)
Плата в спринте, разводил под детали, которые были в наличии, так что там симбиоз SMD с выводными элементами, от перемычек уйти не удалось, как ни крутил. Транзистор T3 перевернул в нужную сторону (по началу запутался с эмиттером-коллектором). Да, с питанием не стал особо заморачиваться и вывел все на разъем molex. Ну и разумеется выход на платы расширения. Удачи!
Вариант «Доктора» от TaseG (разводка в сплинте).
hvpp-fusebit-doctor-v2h.zip (13929 Загрузок)
Исправление разводки от Максима Носырева.
Я начинающий, поэтому прошу строго не судить, если я ошибся.
Если сравнить разводку с оригиналом из статьи, то там есть лишняя дорожка, замыкающая 9 и 5 вольт, как я понял на питание меги придет 9 вольт. Может, конечно, я ошибаюсь, но наверно так не должно быть…
Вариант «Доктора» от Sailanser (разводка в Eagle 5.10)
Atmega-fuse-doctor.zip (11309 Загрузок)
Сам себе делал это устройство по выложенной оригинальной схеме. Плату сделал двухстороннюю дабы была маленькой и компактной. Делал на SMD плюс управляющий контроллер в DIP. Контроллеры для излечивания если необходимо подключаю с помощью внешней макетки.
Вариант «Доктора» от MVV
А еще «Доктора» можно сделать и так:
Адаптер для ATtiny26 от Fahivec
Adapter_Tiny26_SMD.zip (7702 Загрузки)
В архиве фотка и файлы .sch/.brd из Eagle 5.7.0
Доктор от dimon24
вариант печатной платы с универсальными ZIF панельками под 5 МК DIP8,14,20,28,40
Atmega-fusebit-doctor-ZIF.zip (Одна Загрузка)
Переходник для ATmega48A/PA/88A/PA/168A/PA/328/P TQFP32 от S@per
TQFP32-for-fuse-bit-doctor.zip (9298 Загрузок)
ЗАКЛЮЧЕНИЕ.
В результате работы «Atmega fusebit doctor» мною были возращены к жизни несколько ATtiny2313, ATmega48, Atmega8535. «Atmega fusebit doctor» зарекомендовал себя с наилучшей стороны. И даже появились планы на нестандартное его использование. Давно руки чешутся заюзать ножку сброса ATtiny13 как еще один порт ввода/вывода, но всегда останавливало то, что микроконтроллер теряется для последующего использования. С «доктором» можно смело использовать ножку по своему усмотрению и при необходимости восстанавливать ее «заводское» назначение.
Еще смотрим:
Что такое фьюз биты?
Как правильно прошить фьюз биты в разных программах?
Страничка ATmega FuseBit Doctor
(Visited 396 308 times, 2 visits today)
Для вылечивания микроконтроллеров с неправильно прошитыми фьюзами собрал Atmega fusebit doctor.
Всю информацию почерпнул с сайта с этой статьй: Исправляем AVR фьюзы при помощи «Atmega fusebit doctor»
Что доктор может или как это будет работать?
При подаче питания 12 вольт на плату, и установке «порченого» микроконтроллера, нажатием на кнопку START получим рабочий микроконтроллер.
При восстановлении фьюз бит прошивка микроконтроллера остается нетронутой. На плате есть перемычка, при замыкании которой устройство полностью «обнулит» микроконтроллер.
Приступим )
1. Изготовление платы
1. Собираем устройство по самой последней версии на данный момент.
Печатка Доктора от Paul (в Сплинте)
Ошибки в данной плате, обнаруженные zloynik:
1.Резистор с 23 ноги меги не соединен с панельками.
2.Резистор с 4 ноги меги не соединен с панельками.
3.Резистор с 5 ноги меги не соединен с панельками.
4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
Не беда. Дорисовываем недостающие соединения.
Печатная плата в Спринте
специально выделил дорожку, чтоб показать какие они тонкие. Ширина дорожки — 0.5 мм. Для меня это слишком мелко
2. Печатаем несколько вариантов дорожек на кальке, чтоб потом выбрать более лучший рисунок. В следующий раз буду пробовать глянцевую бумагу от бесполезных буклетов-макулатуры…
принтер не в лучшем состоянии (. Мажет. Единственное спасение — это то, что он в самом начале нормально пропечатывает
3. Прогреваем плату предварительно утюгом на максимуме. Прикладываем рисунок — он моментально прилипает. А мы его разглаживаем ваткой и опять греем утюгом.
4. НУ вот и первый блин комом. Перестарался с очисткой бумаги. Не отчаиваемся, переделываем ) a-a.d-cd.net/cfcaaa8s-960.jpg
5. Пропустим попытку №2 и сразу к третьей передем. А если быть более точным честным, то плата эта была 5-й раз переделана. После протравки в хлорном железе получилось это чудо )
Нужно было маркером подправить перед травлением.
желтым выделил места, где недотравил. Зеленым — дорожки в процессе травления пострадали
6. Смываем тонер растворителем 646-м (что имелось по близости, то пошло в дело) и получаем нужные дорожки. Эти дорожки ввиду недотравления пришлось доводить до ума путем “прозвонки” каждого соединения. Еще та задачка…
вот они, перетравленные дорожки. Пришлось перемычки лепить в этих местах
7. Представляю помощника в изготовлении отверстий. Его название: ДП-11 7500 обмин.
Очень полезная штукенция. Правда кушает 27В, но и от 24-х не отказывается (два аккума от УПСа ). Взял попользоваться на неопределенное время.
Особенность: если положить моторчик, перестает крутиться. А если начать сверлить (только подносишь к будущему отверстию и надавливаешь), то начинает сверлить.
миниатюрный моторчик
Т.е. вначале не понравилось, когда он в горизонтальном положении останавливался, а потом понял, что это вообще незаменимая вещь! Просверлил нужные отверстия, отложил моторчик всторону. Нужно просмерлить? берешь и сверлишь… Питание при этом не убитается.
Вначале думал, что там какой-то регулятор стоит. Но нет там ничего такого, это просто моторчик износился со временем и глючит. Глюк на пользу )))
2. Сборка устройства Atmega fusebit doctor</b>
1. Набиваем плату компонентами. Вначале припаиваем перемычки и панельки под микросхемы.
Подписал радиоэлементы. Неподписанные резисторы — на 1К Ом. Не было в наличии одного резистора на 10К Ом. По совету vasilii76 установил меньше на 8,2К (какой был).
Резисторы при монтаже планировались для установки в лежачем положении (на 0.125 Вт), но раз приобрел 0,250Вт, то так и запихал их…
Устройство Atmega fusebit doctor. Надписи со стороны элементов не делал — и так пойдет (на функционирование устройства не влияет)
2. На первый раз для дорожек 0,5мм сойдет. Боялся перетравить дорожки, поэтому в процессе пришлось их дорабатывать.
позже покрою лаком сверху
3. Получилось довольно скромно ). В планах немного не так себе представлял.
Панельку под микроконтроллер на 40-пин установил на плату кверх-ногами ))) Не критично
остается подпилить края и прошить -мозги- для функционирования устройства
4. А вот такой красивый девайс с сайта getchip.net должен был получиться )
с надписями поинтереснее будет выглядеть
Сборка устройства на этом завершена. Идем прошивать микроконтроллер Atmega-8L
3. Прошивка микроконтроллера для устройства “Atmega fusebit doctor”
1. Специально делать макетку для прошивки Atmega-8L не стал.
Собирал вот по этой схемке Упрощенную отладочную для Atmega-8, но из того, что имелось и без кварца.
Две панельки на 28-ножек и пару перемычек — вот все устройство.
ну не было у меня панельки нужной ширины, прилепил на 2-х 28-и пиновыйх, но широких
2. Подключаем ранее изготовленный:
Простой LPT программатор AVR микроконтроллеров (5-ть проводков)
3. Запускаем uniprof_08_jun_10. Наш микроконтроллер определился как mega8.
Отлично! Заливаем прошивку с версией 2.11 из этого архива в папке “firmware” для нужного МК. Архив — Прошивка — atmega_fusebit_doctor_2.11_m8.bin
4. Устанавливаем фьюзы для МК и давим на батон “Write”.
Всего один фьюз изменить. Убираем галочку — значит активируем перемычку
Вот и все с прошивкой. Бежим проверять в действии )
4. Проверка работоспособности доктора
Большое спасибо vasilii76, который помогал при проверке работоспособности данного устройства, давал наставления )))
1. Собираем опять же из подручных средств переходник для Attiny13. Панелька, 11 штырьков и проводки — вот и все )))
полноценную плату буду позже готовить
2. Подключаем к доктору нашу подопытную Attiny13, с заранее активированными фьюзами:
CKSEL, RSTDISBL, SPIEN. Давим на кнопку и пациент “вылечен” )
Установка в корпус + изготовление адаптера для Attiny 13 в DIP-корпусе
1. Приобрел в радиомагазинчике корпус для РЭА модели G407. После небольших манипуляций на точильном станке плата подошла идеально!
2. Установил адаптер под Attiny 13 в DIP-корпусе. Подробнее про изготовление адаптера можно ознакомиться в статье “Ч”.
Адаптер под Attiny — 8pin (14pin) для Доктора (atmega fusebit doctor)
адаптер тоже идеально подходит. Копрус с адаптером отлично закрывается
Какие микроконтроллеры были испытаны?
1. Attiny 13
На докторе был испытан микроконтроллер Attiny 13. Были проверены все фьюзы в полях:
Fuse High Byte – старший байт;
Fuse Low Byte – младший байт.
Проверка прошла успешно!
2. Attiny 12
С ним что-то не так получилось. Испытывал тут: Lock Bit Byte.
МК успешно залочен.. Мигает зеленый светодиод. Эти фьюзы не получилось восстановить (
Буду позже разбираться с ней.
Сопряжение доктора с ПК
Преобразователь RS-232 — UART (для конфигурирования различных устройств)
Сколько стоит собрать это чудо?
Цена вопроса: 270р на детали, + 130р на корпус = 400р
Из деталек самый дорогой — микроконтроллер (145р — пол стоимости Доктора)
Не учитываются трудо-затраты и материалы на печатку
Опыт при изготовлении платы — бесценен!
Варианты Доктора от драйвовчан
Хороший вариант реализовал renoshnik.
Всем удачных поделок )
Не забываем нажать кнопку Нравится )))
Спасение контроллеров дело рук самих контроллеров. Эта схема для исправления не правильно зашитых фузов 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 перестает определяться (сигнатура не будет читаться ) пока не будет подпаян внешний кварц .
Похожие схемы есть на греческом http://www.serasidis.gr и на немецком http://www.dl5neg.de на AVR AT90S1200, но там без обратной связи с вывода RDY/BSY ( R/B ).
Список радиоэлементов
Обозначение | Тип | Номинал | Количество | Примечание | Магазин | Мой блокнот |
---|---|---|---|---|---|---|
D1, D2 | МК AVR 8-бит |
ATtiny2313 |
2 | Одна из них нуждается в исправлении фузов | Поиск в магазине Отрон | В блокнот |
Биполярный транзистор |
КТ315А |
1 | Поиск в магазине Отрон | В блокнот | ||
Биполярный транзистор |
КТ361А |
1 | Поиск в магазине Отрон | В блокнот | ||
Стабилитрон |
Д814Г |
1 | Поиск в магазине Отрон | В блокнот | ||
Диод |
КД522Б |
2 | Поиск в магазине Отрон | В блокнот | ||
Резистор |
330 Ом |
1 | Поиск в магазине Отрон | В блокнот | ||
Резистор |
1 кОм |
3 | Поиск в магазине Отрон | В блокнот | ||
Резистор |
10 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
Резистор |
22 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
Резистор |
150 кОм |
1 | Поиск в магазине Отрон | В блокнот | ||
Кварцевый резонатор | 1 МГц или 10 МГц | 1 | Поиск в магазине Отрон | В блокнот | ||
Светодиод | 1 | Поиск в магазине Отрон | В блокнот | |||
Добавить все |
Скачать список элементов (PDF)
Теги:
jem9kip
Опубликована: 2009 г.
0
Вознаградить
Я собрал
0
1
x
Оценить статью
- Техническая грамотность
- Актуальность материала
- Изложение материала
- Полезность устройства
- Повторяемость устройства
- Орфография
0
Средний балл статьи: 2.9
Проголосовало: 1 чел.
Многие радиолюбители знают (иногда на собственном печальном опыте), что микроконтроллер AVR можно вывести из строя неосторожным программированием настроечных бит (так называемых фьюзов). Будучи запрограммированными неправильно, эти биты сохраняются в энергонезависимой памяти, и могут привести к невозможности дальнейшего программирования микроконтроллера или выбору фьюзами его тактовой частоты. По крайней мере невозможно восстановить микроконтроллер обычными средствами, без наличия специального высоковольтного HVPP/HVSP программатора.
Ссылки по проекту Fuse Bit Doctor
Файл | Наименование | Размер | Скачать с сервера |
---|---|---|---|
FBD_PCB.zip | Печатная плата доктора в DipTrace | 270кБ | Скачать |
FBD_circuit.zip | Схема печатной платы доктора в DipTrace | 55 | Скачать |
FBD_circuit.pdf | Схема печатной платы доктора в PDF | 212 | Скачать |
Fromware_V2.11.zip | Прошивка v2.11 для доктора | 87 | Скачать |
В архиве FBD_PCB.zip находится 2 версии печатной платы, с кнопками и с перемычками.
{youtube}vk5Do03bWn4{/youtube}
Список потдерживаемых типов микроконтроллеров AVR
В настоящий момент поддерживается 145 типов микроконтроллеров AVR, но не все из них были протестированы. Те, что были проверены, подкрашены зеленым цветом. Автор просит в случае проблемы с каким-либо микроконтроллером сообщить ему, тогда он исправит ошибку. Список рассортирован по объему памяти программ микроконтроллера (FLASH).
1 килобайт: AT90s1200, Attiny11, Attiny12, Attiny13/A, Attiny15
2 килобайта: Attiny2313/A, Attiny24/A, Attiny26, Attiny261/A, Attiny28, AT90s2333, Attiny22, Attiny25, AT90s2313, AT90s2323, AT90s2343
4 килобайта: Atmega48/A, Atmega48P/PA, Attiny461/A, Attiny43U, Attiny4313, Attiny44/A, Attiny48, AT90s4433, AT90s4414, AT90s4434, Attiny45
8 килобайт: Atmega8515, Atmega8535, Atmega8/A, Atmega88/A, Atmega88P/PA, AT90pwm1, AT90pwm2, AT90pwm2B, AT90pwm3, AT90pwm3B, AT90pwm81, AT90usb82, Attiny84, Attiny85, Attiny861/A, Attiny87, Attiny88, AT90s8515, AT90s8535
16kB: Atmega16/A, Atmega16U2, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164A, Atmega164P/PA, Atmega165A/P/PA, Atmega168/A, Atmega168P/PA, Atmega169A/PA, Attiny167, AT90pwm216, AT90pwm316, AT90usb162
32 килобайта: Atmega32/A, Atmega32C1, Atmega323/A, Atmega32U2, Atmega32U4, Atmega32U6, Atmega32M1, Atmega324A, Atmega324P, Atmega324PA, Atmega325, Atmega3250, Atmega325A/PA, Atmega3250A/PA, Atmega328, Atmega328P, Atmega329, Atmega3290, Atmega329A/PA, Atmega3290A/PA, AT90can32
64 килобайта: Atmega64/A, Atmega64C1, Atmega64M1, Atmega649, Atmega6490, Atmega649A/P, Atmega6490A/P, Atmega640, Atmega644/A, Atmega644P/PA, Atmega645, Atmega645A/P, Atmega6450, Atmega6450A/P, AT90usb646, AT90usb647, AT90can64
128 килобайт: Atmega103, Atmega128/A, Atmega1280, Atmega1281, Atmega1284, Atmega1284P, AT90usb1286, AT90usb1287, AT90can128
256 килобайт: Atmega2560, Atmega2561
Я доработал текущую версию доктора до версией 2.10, фото 3D модели новой версии ниже.
1) Штырьевые перемычки заменил на переключатели
2) Добавлена светодиодная индикация положения кнопок и режима работы доктора
3) Добавлено ещё одно посадочное место под USB на нижней стороне платы (запасной, на случай если сломается основной)
4) Добавлена поддержка прошивки V2.12, с возможностью перейти на версию 2.11
6) Поправлена разводка платы
7) + ещё некоторые незначительные измененя.
Схемы новой версии чуть позже, после того как проверю работоспособность!
Многие радиолюбители знают (иногда на собственном печальном опыте), что микроконтроллер AVR можно вывести из строя неосторожным программированием настроечных бит (так называемых фьюзов). Будучи запрограммированными неправильно, эти биты сохраняются в энергонезависимой памяти, и могут привести к невозможности дальнейшего программирования микроконтроллера или выбору фьюзами его тактовой частоты. По крайней мере невозможно восстановить микроконтроллер обычными средствами, без наличия специального высоковольтного HVPP/HVSP программатора.
HVPP расшифровывается как high voltage parallel programming, т. е. высоковольтное параллельное программирование.
HVSP расшифровывается как high voltage serial programming, т. е. высоковольтное последовательное программирование.
Atmega fusebit doctor, как следует из названия, это устройство, предназначенное для восстановления “убитых” микроконтроллеров AVR ATmega (и ATtiny начиная с версии v2.04 устройства) путем записи в них корректных значений бит фьюзов. Описанное простое и дешевое устройство позволит исправить Ваши брикнутые микроконтроллеры за доли секунды.
Это устройство использует параллельный и последовательный принципы высоковольтного программирования микроконтроллеров AVR. С помощью этих методов можно “достучаться” до убитых микроконтроллеров, у которых запрещен сброс или программирование ISP.
[Как восстановить фьюзы “убитого” микроконтроллера]
Просто поместите убитый AVR в сокет, нажмите кнопку START и… и это все. Вы получите восстановленный, работоспособный микроконтроллер в том виде, как он пришел с завода Atmel. На плате fuse-доктора есть 3 слота для установки большинства совместимых микроконтроллеров AVR, которые совпадают с цоколевкой DIP-версий Atmega8, Atmega16, Attiny2313. Имеется также дополнительный коннектор, куда Вы можете подключить адаптеры:
[Светодиоды индикации]
Для индикации состояния на плате fuse-доктор установлены 2 светодиода – зеленый (GOOD) и красный (BAD).
Зеленый постоянно горит – пациент успешно вылечен, биты фьюзов восстановлены. Если разрешены биты защиты, то будет просто проведена проверка состояния фьюзов – заводское ли оно, и если это так, то зеленый светодиод загорается.
Красный постоянно горит – проблема с сигнатурой, её нельзя прочитать, нет микроконтроллера в сокете, или такой сигнатуры нет в базе данных fuse-доктора.
Зеленый мигает – сигнатура в порядке, но биты фьюзов в неправильном состоянии. Причина – установлены биты защиты, нужно разрешение на полную очистку восстанавливаемого AVR (Необходимо переставить перемычку ERASE с OFF на ON).
Красный мигает – сигнатура прочитана, нет блокировки битами защиты, но по непонятной причине нельзя записать новое значение для бит фьюзов.
Ниже приведены схемы устройства, и для удобства изучения линии питания расскрасил в разные цвета.
Розовый +5 Вольт
красный +12 Вольт
Светло синий GND (-)
Оранжевый +5 PROG для програмируемых МК, включается транзистором t3
Зеленый +12 RESET для подачи напряжения на ноги RESET востанавливаемых мк.
Общая схема для самостоятельной сборки
==============================================================================
==============================================================================
Подключение управляющего контроллера к восстанавливаемым
Схема подключения USB и преобразователь USB-UART на CP2102
Схема увлечения напряжения с 5в до 12в при помощи микросхемы MC34063
Конденсатор 470pf – емкость частотнозадающего конденсатора преобразователя.
Сопротивление 1 – резистор который отключит микросхему при превышении тока.
C13 – конденсатор фильтра. Чем он больше тем меньше пульсаций, должен быть LOW ESR типа.
13k, 1.5k – делитель напряжения который задает выходное напряжение.
D1 – диод должен быть сверхбыстрым (ultrafast) или диодом шоттки с допустимым обратным напряжение не менее чем в 2 раза превышающим выходное.
С13 электролит 220мкф,
Схемы соединения, светодиодов, транзисторов и кнопки “старт”
Подключение микроконтроллеров ATTINY 24/44/48/2313/4313
Подключение микроконтроллеров ATMEGA 8/16/32/48/164/168/324/328
Вот востановил Attiny 13A SSU
Также можно просмотреть что там происходит с МК при помощи любого терминала, благодаря встроенному USB-UART CP2101.
Фото печатной платы в DIP TRACE
Верхняя часть платы
Нижняя часть платы
|