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

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

Сообщение edm2007 »

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

Сообщение Z_h_e »

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

Сообщение edm2007 »

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

Сообщение olegue »

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

Сообщение 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:
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2977
Зарегистрирован: Сб май 21, 2016 11:04:52
Откуда: Беларусь

Сообщение olegue »

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

Сообщение edm2007 »

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

Сообщение olegue »

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

Сообщение edm2007 »

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

Сообщение olegue »

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

Сообщение edm2007 »

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

Сообщение olegue »

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

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

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

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

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

Сообщение edm2007 »

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

Сообщение olegue »

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

Сообщение edm2007 »

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

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

Сообщение oleg63m »

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

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

Сообщение prinv »

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

Сообщение edm2007 »

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

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

Сообщение prinv »

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

Сообщение edm2007 »

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

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