Четверг, 18.04.2024, 18:15
Радиосервис - ИЗМАИЛ

Меню сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Друзья сайта

Форум поддержки программ "Tiny Tools" (CPLD/USB-S/USB-F/USB-SPI EJTAG Tiny Tools)

Электроника на KitPost
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Поиск
Наш опрос
Оцените мой сайт
1. Отлично
2. Хорошо
3. Неплохо
4. Ужасно
5. Плохо
Всего ответов: 86
Ссылки по uCoz
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • FusebitDoctor Atmega
     
    На просторах интернета, а именно здесь, я нашел сию информацию, так как сам попал в ситуацию, когда программатор каким-то непонятным образом закрыл мою Atmega8 наглухо.
    Ниже привожу сам текст, схемы и ссылки на файлы этого проекта
    .
     

    Восстановление конфигурации Fuse-битов микроконтроллеров семейства ATmega AVR (HVPP)

     

    Хочу спросить у читающих мой блог – много ли у Вас скопилось микроконтроллеров с неправильно прошитыми фьзами и непригодными для дальнейшего использования? Я думаю, если Вы довольно продолжительное время работаете с микроконтроллерами, то у Вас были случаи неправильной прошивки фьюзов. Свои «запорченные» микроконтроллеры я складывал в специальную коробочку с надеждой на то, что когда-то, в будущем, соберу высоковольтный параллельный программатор и верну их к жизни. Но высоковольтный программатор как-то особо не хотелось собирать. Схема довольно наворочена, да и применение такого программатора разовое – оживить ошибочно прошитый микроконтроллер. Короче, всегда проще (и дешевле) было купить новый микроконтроллер. Так и хранились бы и дальше «мертвые» микроконтроллеры если бы не случилась странная штука – при изготовлении нового устройства (скоро выложу) перестали подавать признаки жизни, сразу две тини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 - Схема "ATmega FuseBit Doctor"

    Плата устройства разведена хорошо, но есть один нюанс, о котором важно не забыть при сборке устройства. Ножки 40-ка пиновой панельки с 29 по 37 необходимо откусить (лучше в плате вообще не сверлить отверстия под эти ножки).

    Внешний вид платы

    Еще есть картинка для нанесения на плату со стороны деталей (монтажная картинка). Я впервые попробовал нанести такую картинку. Получилось очень удобно – монтаж превращается в простую процедуру установку деталек по картинкам. Наноситься рисунок методом ЛУТ. Вскройте рисунок лаком, иначе он быстро сотрется.

    Монтажный рисунок на плату

    059-atmega_fusebit_doctor_V2e_PCB - Печатная плата и монтажный рисунок "FuseBit Doctor"
    «Набиваем» плату радиодеталями, ставим несколько перемычек, получаем вот такое устройство:

    Готовое устройство

     

    ВНИМАНИЕ! Если у Вас собрана предыдущая версия платы «Доктора» (V2d – плата апдейдов по №6 включительно), для новой версии (апдейты  №№7-9) переделывать ее нет необходимости, изменения минимальны. Для апгрейда версии платы V2d до версии V2e необходимо, всего лишь, припаять в нужном месте резистор на 100 Ом. Ниже показано куда его впаивать.

    UpGrade

    Hryam сделал рисунок платы версии V2d в Спринте. Вышло даже лучше чем у автора (размеры площадок, например).
    059-atmega_doctor_plate_Sprint v2d - Рисунок печатной платы "ATmega FuseBit Doctor" в Спринте

     

    ПЛАТА ДЛЯ SMD КОМПОНЕНТОВ.

    Появилась версия платы для SMD компонентов (товарисщь Shuffle постарался) . В этой плате нет панелек под «пациентов» есть только разъем для подключения адаптеров. Все «пациенты» включаются через адаптеры. Добавлен преобразователь UART to USB TF232RL, а значит Доктор будет выдавать информацию о ходе лечения по USB (можно не ставить). В остальном все как в оригинале.
    059-shuffle_avrdoc_usb.zip - Архив документов по SMD Доктору от Shuffle

     

    ПРОШИВАЕМ МИКРОКОНТРОЛЛЕР.

    Теперь осталось только прошить микроконтроллер ATmega8 и устройство готово!
    059-atmega_fusebit_doctor_2.09.hex - Прошивка "ATmega FuseBit Doctor" для ATmega8
    059-FuseBits-M8 v2.09 - FuseBits для ATmega8 "ATmega FuseBit Doctor"
    Фьюз байты: Lock Bits = 0x 3F; High Fuse = 0x D1; Low Fuse = 0x E1; Ext. Fuse = 0x 00

    Данный вариант прошивки еще есть для микроконтроллеров: 
    Atmega88, Atmega88P, Atmega168, Atmega168P, Atmega328, Atmega328P.
    Прошивка для микроконтроллеров с 16kB и 32kB памяти, кроме того, выдает названия восстанавливаемых микроконтроллеров.
    Прошивки и фьюзы для других микроконтроллеров  смотрите в архиве старых версий «Доктора» в конце статьи.

     

    АДАПТЕРЫ ДЛЯ МИКРОКОНТРОЛЛЕРОВ.

    Автором были разработаны два адаптера:
    – для HVPP программирования 20-ти пиновых Attiny26 подобных и 40-ка пиновых Atmega8515 подобных контроллеров.
    – для HVSP программирования для 8-ми пиновых и 14p-ти пиновых микроконтроллеров с высоковольтным последовательным способом программирования
    059-adapter_dip20-dip40 - Aдаптеры для программирования 20 и 40 пиновых микроконтроллеров в DIP корпусах.
    059-adapter_dip8-dip14 - Адаптер для программирования 8 и 14 пиновых микроконтроллеров в DIP корпусах.

    059-adapter_TQFP-32_.lay6 - Адаптер TQFP-32

    Atmega8-TQFP-adapter.lay - Адаптер_2 TQFP-32

    Небольшой бонус от меня – адаптеры для микроконтроллеров 8-ми пиновых (ATtiny13 …) и 20-ти пиновых (ATtiny2313 …) в корпусах SOIC.

    Внешний вид адаптеров
    059-adapter_soic20-soic8 - Адаптеры для программирования 8 и 20 пиновых микроконтроллеров в SOIC корпусах 

    Пользоваться адаптерами для SOIC корпусов очень просто:

    Работа с адаптером

    Вставляем адаптер

     

    АРХИВ ВСЕХ ПРЕДЫДУЩИХ ВЕРСИЙ ДОКТОРА.

    Это архив со всеми предыдущими версиями «Доктора». Кроме того архив содержит дополнительные материалы, такие как пинауты для различных корпусов AVR, платы-адаптеры и другое.

    atmega-hvpp-fusebit-doctor_archive.zip - Архив старых версий "Доктора"

     

    ПОСЛЕДНЯЯ, НА ДАННЫЙ МОМЕНТ, ВЕРСИЯ «ДОКТОРА».

    Как я уже упоминал выше, главным достоинством «Доктора»  является его автономность. Для восстановления фьюзов нужно лишь само устройство. Это очень хорошо! 
    Да, «Доктор» по UART выдавал информацию о процессе «лечения». Сообщения по UART, дублируя светодиоды,  давали более полную картину «лечения»,  но многим этого было недостаточно. Хотеться более полного контроля процесса восстановления.  И в новом апдейте автор дает этот полный контроль!

    Теперь стало возможным:
    – двухстороннее общение с «Доктором» по UART; 
    – работа с кристаллами у которых неверная сигнатура;
    – устанавливать свои fusebits и  lockbits;
    – об остальном читайте в описании внутри архива…
    atmega-hvpp-fusebit-doctor_update.zip - Последняя версия "Доктора"

     

    ПЛАТЫ ДОКТОРА ЧИТАТЕЛЕЙ БЛОГА.
    Здесь буду выкладывать устройства собранные читателями – всегда полезно разнообразие выбора.
    ATmega Fusebit Doctor PCB.zip - Печатка Доктора от Paul (в Сплинте)
    zloynik нашел некоторые ошибки:

    «1.Резистор с 23 ноги меги не соединен с панельками.
    2.Резистор с 4 ноги меги не соединен с панельками.
    3.Резистор с 5 ноги меги не соединен с панельками.
    4.Транзистор BC547(Т2) с 13 ноги меги-нет контакта с эмиттера на «землю».
    В остальном вроде все впорядке. Собрал-залочил тиньку 2313-восстановило.»

    Учтите при изготовлении.

     

    ЗАКЛЮЧЕНИЕ.

    В результате работы «Atmega fusebit doctor» мною были возращены к жизни несколько ATtiny2313, ATmega48, Atmega8535. «Atmega fusebit doctor» зарекомендовал себя с наилучшей стороны. И даже появились планы на нестандартное его использование. Давно руки чешутся заюзать ножку сброса ATtiny13 как еще один порт ввода/вывода, но всегда останавливало то, что микроконтроллер теряется для последующего использования. С «доктором» можно смело использовать ножку по своему усмотрению и при необходимости восстанавливать ее «заводское» назначение.

     

    Файлы статьи:
    059-atmega_fusebit_doctor_V2e_schematic.pdf - Схема "ATmega FuseBit Doctor"
    059-atmega_fusebit_doctor_V2e_PCB - Печатная плата и монтажный рисунок "FuseBit Doctor"
    059-atmega_doctor_plate_Sprint v2d - Рисунок печатной платы "ATmega FuseBit Doctor" в Спринте
    059-shuffle_avrdoc_usb.zip - Архив документов по SMD Доктору от Shuffle
    059-atmega_fusebit_doctor_2.09.hex - Прошивка "ATmega FuseBit Doctor" для ATmega8
    059-FuseBits-M8 v2.09 - FuseBits для ATmega8 "ATmega FuseBit Doctor"
    059-adapter_dip20-dip40 - Aдаптеры для программирования 20 и 40 пиновых микроконтроллеров в DIP корпусах.
    059-adapter_dip8-dip14 - Адаптер для программирования 8 и 14 пиновых микроконтроллеров в DIP корпусах.
    059-adapter_soic20-soic8 - Адаптеры для программирования 8 и 20 пиновых микроконтроллеров в SOIC корпусах
    atmega-hvpp-fusebit-doctor_archive.zip - Архив старых версий "Доктора"
    atmega-hvpp-fusebit-doctor_update.zip - Последняя версия "Доктора"

    Еще смотрим:
    Что такое фьюз биты?
    Как правильно прошить фьюз биты в разных программах?
    Страничка ATmega FuseBit Doctor

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

    1. Архив

    3. Схема

     

    А здесь ссылка на форум.