Всё о фьюзах...

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

У Вас же скриншот фьюзов для 328 есть. :)) Принцип настройки фьюзов такой же, но это не значит что у всех фьюзы одинаковые. Даташит смотреть нужно обязательно.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Всё о фьюзах...

Сообщение Z_h_e »

Линейка AVR ATmega48A/PA/88A/PA/168A/PA/328/P это почти одни и теже МК. А вот Атмега8 совсем другой. Прошивка для указанной линейки не будет работать на Меге8.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

На AT8 тоже была прошивка, вроде... Да и на схеме Atmega8/168/328.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

прошивка у меня есть под АТ8, тут я ничего не попутаю.
edm2007, спасибо огромное за помощь. Теперь фьюзы не так страшны как их малюют.
на неделе дособираю тестер и отпишусь как прошел запуск.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

Пожалуйста.

Фьюзы на самом деле совсем не страшные, просто нужно быть очень внимательным. Из того что можно накуролесить:

Совсем не страшное:

1. Настроить порог детектора питания выше, чем питающее напряжение. В этом случае контроллер будет находиться в состоянии сброса, и работать не будет. Но программатор его увидит без проблем. Исправить легко, нужно либо правильно настроить детектор, либо поднять напряжение питания МК выше порога детектора.

2. Аппаратно разрешить работу сторожевого таймера (WDTON = 0). В зависимости от кода, можно получить веселую самостоятельную перезагрузку устройства. Исправить так же легко, нужно просто отключить фьюз.

Неприятное, но не смертельное:

Как правило, связанное с тактированием. Чаще всего, это перевод на тактирование от внешнего кварца, при его физическом отсутствии на выводах XTAL1/XTAL2. В этом случае микроконтроллер больше программатором не видится, что приводит начинающих в священный ужас ("всесломалос/всепропало").

Исправление ситуации требует небольших телодвижений. Хорошо, если известно, что было запрограммировано (осталось открытым окно фьюзов, например). В итоге это либо подключение внешнего кварца (при этом не обязательно точно соблюдать номинал), либо подача внешнего сигнала (с генератора, с вывода программатора, у которого есть возможность генерировать меандр, пойдет даже тестовый вывод осциллографа). Если все сделано правильно, то МК увидится программатором, и его можно будет перевести обратно на внутреннее тактирование.

Все плохо:

Да, натворить делов можно, это не миф. У микроконтроллера есть два фьюза, изменение которых сделает недоступным микроконтроллер для последовательного программирования (так назваемое, пятипроводковое - MISO, MOSI, SCK и RESET. Ну и земля, естественно). Это фьюзы SPIEN (SPI ENable - разрешение внутрисхемного программирования через SPI) и RSTDISBL (RESET DISABLE - отключение вывода RESET). С фьюзом SPIEN все просто, этот фьюз недоступен при последовательном программировании, так что снять его не получится при всем желании. А вот отключить RESET, сделав его еще одним пином порта, можно запросто. А так как этот вывод нужен для SPI программирования, дальнейшее программирование по этому интерфейсу станет невозможным. Устройство будет работать (если оно было сначала правильно запрограммировано, естественно), а вот достучаться по пяти проводкам уже будет невозможно. Точно такой же эффект дает активный фьюз DWEN, но он есть не у всех МК.

Исправить такую ситуацию можно, хоть это и гораздо сложнее. Если есть параллельный программатор, то им можно изменить фьюзы без труда. Если же нет, то на помощь придет Fusebit doctor. Он в состоянии привести фьюзы к заводским. Но для этого придется его собрать и правильно прошить фьюзы. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

В заголовок темы это надо поместить. Но у меня вопрос остался на который я пока не могу дать ответ. Если я поставлю фьюзы на внешний кварц, то я не потеряю возможности его программирования без подключенных в момент программирования кварцев? Мне кажется что МК будет искать внешний кварц и не заведется или это не так?
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

edm2007 писал(а):Чаще всего, это перевод на тактирование от внешнего кварца, при его физическом отсутствии на выводах XTAL1/XTAL2. В этом случае микроконтроллер больше программатором не видится
edm2007 писал(а):Исправление ситуации требует небольших телодвижений. Хорошо, если известно, что было запрограммировано (осталось открытым окно фьюзов, например). В итоге это либо подключение внешнего кварца...
Понимаете, тактовый генератор - это сердце микроконтроллера. От него работает все. И конечно если Вы включите тактирование "снаружи" а сам кварц не подключите, то и МК умрет. Весь. Пока не будут поданы живительные такты, ни программирование ни работа будут невозможны.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

вот это я и предполагал. Но у меня в отладочной плате кварц есть
Изображение
поэтому мк я буду видеть.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

Да, он поможет при установке тактирования от внешнего кварца. Но! Есть еще тактирование от низкочастотных керамических резонаторов, от внешней RC цепи, от внешнего сигнала, поданного на вывод XTAL1... :))) Впрочем, все это решается элементарным навесом деталей на выводы. Пролистайте, ради интереса, раздел System Clock and Clock Options даташита. Просто ради интереса, разглядывая картинки. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

прошил я все, запустился. Фьюзы пока не трогал. Запустился на внутреннем генераторе. Прошивка 1.12. Резисторы вообще не опознает. Кондеры меряет, даже мелкие пикофарады, хотя esr не кажет и процента loss тоже нет. На транзисторы тоже "что-то" показывает. И даже параметр B, Но он далек от правды. Короче ситуация не понятная, кто-то мне советовал не заниматься ерундой, а прошивать сразу 328 атмегу. Еще почитаю оригинальное описание. Но думаю, что прошивка виновата.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

Ну на AT8 функционал явно урезанный будет.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

Ну удалось таки мне остановить процессор. Дело было так. Решил таки я прошить фьюзы. Было задано что
lfuse = 0xc1
hfuse = 0xd9

воспользовавшись аврдудем я их добросовестно выставил что бы получить нужную контрольную сууму и нажал програмировать

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

После чего я сделал вторую глупость. Я зашел в хазарму. Попытался выполнить чтение, вроде как оно удалось. После чего взялся за фьюзы.
Перешел в форму. Там не стояла ни одна галка, я нажал write all, хотел разумеется хотел нажать read all, что бы посмотреть какие фьюзы у меня
установлены. После чего проц пропал совсем.
Че теперь делать то, а? Есть еще одна новая атмега.

Рою счас в направление фьюзбит доктора. Вроде как все запчасти есть. Печатку надо делать!!!!
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

О каком контроллере речь идет?
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
olegue
Собутыльник Кота
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Re: Всё о фьюзах...

Сообщение olegue »

Atmega8
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

lfuse = 0xc1
hfuse = 0xd9
Для AT8 это почти заводские фьюзы, с небольшим некритичным изменением. После такого программирования МК должен видеться без проблем. Есть только одно но, некоторым программаторам необходимо включать режим SLOW SCK (или настраивать частоту SCK в оболочке), если контроллер работает на частоте 1 МГц.

Ну а то что залили фьюзы не прочитав их, так тут уже только доктор или параллельный программатор поможет...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
oleg63m
Друг Кота
Сообщения: 20132
Зарегистрирован: Чт сен 01, 2011 12:53:27
Откуда: ТьмуТаракания. Почетный житель подмостовья
Контактная информация:

Re: Всё о фьюзах...

Сообщение oleg63m »

olegue писал(а): Сразу после процесса проц пропал. Достучаться до него никакими
коммандами аврдуда я не смог.

Я зашел в хазарму. Попытался выполнить чтение, вроде как оно удалось.
а это как может быть? если хазама использует ту же дудку? :shock: :shock: :shock:
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: Всё о фьюзах...

Сообщение prinv »

Котаны, такая ситуация: есть Atmega32, на котором я бы хотел использовать JTAG-отладку. Подскажите - есть какие-то ограничения по использованию пинов МК с включённым фьюзом JTAGEN? У меня пин PC4 (он же TDO) падает в 0 и не реагирует на программное изменение состояния. Стоит JTAGEN выключить как всё приходит в норму.
Никакая контра не уйдёт от нас
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

Когда JTAG включен (JTAGEN = 0), выводы TDO, TDI, TMS и TCK не используются как пины ввода/вывода, так как они заняты совсем другой задачей (что логично). Если Вы хотите использовать перечисленные выводы для своих целей, отключите JTAG.

Ну сами представьте, по этому интерфейсу идет программирование или отладка, а Вы начинаете на этих выводах кнопки давить...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
prinv
Вымогатель припоя
Сообщения: 677
Зарегистрирован: Чт янв 20, 2011 09:07:08
Откуда: Пермь
Контактная информация:

Re: Всё о фьюзах...

Сообщение prinv »

Большое спасибо! Знал бы прикуп - соломки подстелил :))
Никакая контра не уйдёт от нас
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: Всё о фьюзах...

Сообщение edm2007 »

Ну это было бы не так увлекательно. :tea:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Ответить

Вернуться в «AVR»