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

Обсуждаем контроллеры компании Atmel.
Deni
Открыл глаза
Сообщения: 68
Зарегистрирован: Ср янв 18, 2006 23:56:55

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

Сообщение Deni »

для чего они нужны?
Аватара пользователя
xelos
Потрогал лапой паяльник
Сообщения: 336
Зарегистрирован: Пн мар 20, 2006 13:05:08
Контактная информация:

Сообщение xelos »

для конфигурации мк.
Я просто верю в то, что рушить догмы - лучший способ не стареть.
SfS

Re: fuse те фьюзы

Сообщение SfS »

Anonymous писал(а):Я тоже спрашивал, но потом пришлось смириться.


fuse - биты - это биты, позволяющие задавать аппаратную конфигурацию контроллера.

Например - от чего он будет тактироваться (кварц, RC-цепь, встренный тактовый генератор), можно ли после программирования считать его память или нет (защита от копирования программ), в старших моделях есть fuse-биты совместимости с младшими. Например, atmega8535 совместим по ногам с AT90S8535. И переферия (дополнительная) atmega8535 не доступна, если стоит бит совместимости с AT90S8535.

Кстати, для начинающих, есть ньюанс - fuse-биты совместимости по умолчанию УСТАНОВЛЕНЫ в режим совместимости с младшими моделями. Поэтому, чтобы получить доступ ко всей переферии мег, этот бит надо сбросить!
igorkov

Сообщение igorkov »

А разъясните ситуацию, как на Mega-х нельзя устанавливать фюзы? Чтобы не лишить себя возможности программировать по SPI?
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

Фьюз SPIEN - SPI ENable - отвечает за работоспособность SPI.
Вот его-то и не стоит трогать...
AD706

Сообщение AD706 »

А как их настраивать в AVReal?
Гость

Сообщение Гость »

А если я изменю режим генератора с INTRC на другой. Будет ли у меня работать ISP?
Незнайка
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт сен 07, 2006 04:55:41
Откуда: Омск

Сообщение Незнайка »

Доступность ISP также определяется фьюзом. В последовательном режиме этот бит недоступен, следовательно ISP работать будет. Конечно если неправильно железо спаяите то контроллер не заведется.
Кто не делает ошибок тот обычно вообще ничего не делает.
AD706

Сообщение AD706 »

Зачем нужны BODLEVEl and BODEN?
Chups
Открыл глаза
Сообщения: 44
Зарегистрирован: Ср апр 26, 2006 13:57:03
Откуда: Иркутск
Контактная информация:

Сообщение Chups »

а где мона почитать о фьюзах, о их смисле ?
с толком с чувством с растановкой.... а то не понятно куда какие биты писать, у мя мега шьётся, но не работает
...чужая глупость не делает тебя умней...
Незнайка
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт сен 07, 2006 04:55:41
Откуда: Омск

Сообщение Незнайка »

О фьюзах и их смысле читать надо в даташите. Там все написано что как почему и зачем. И BODLEVEl and BODEN там тоже есть.
Кто не делает ошибок тот обычно вообще ничего не делает.
Chups
Открыл глаза
Сообщения: 44
Зарегистрирован: Ср апр 26, 2006 13:57:03
Откуда: Иркутск
Контактная информация:

Сообщение Chups »

Незнайка.
Подскажи, а как их там в авриал32, в командной строке задать?
...чужая глупость не делает тебя умней...
Незнайка
Первый раз сказал Мяу!
Сообщения: 31
Зарегистрирован: Чт сен 07, 2006 04:55:41
Откуда: Омск

Сообщение Незнайка »

я аврилом не пользуюсь но в справке написано так

-f<fuselist> -- список fuses для тех чипов, в которых они шьются по ISP.
<fuselist> выглядит как fusename=value,fusename=value,bytename=value...
value - ШЕСТНАДЦАТЕРИЧНОЕ значение без префиксов и суффиксов.
Для однобитовых fuse добавлены значения ON и OFF (прошить и стереть,
0 и 1 соответственно).
ВНИМАНИЕ! Начиная с версии 1.23 НЕ ПОДДЕРЖИВАЮТСЯ однобуквенные
синонимы для fuses.
При наличии "пересекающихся" name=val выдается сообщение об ошибке.
При наличии нескольких ключей -f действие имеет _только_последний_.
Перечень fusename для конкретного чипа с диапазоном value и комментарием
можно получить при помощи
avreal +chipname -?
Для сокращения строки возможно задание полного байта fuses при помощи
специальных имен bytename, представляющие собой названия байтов
по документации с лидирующим подчерком:
_low,_high,_ext,_lock
Нереализованные в данном байте биты рекомендуется устанавливать в '1'.
Имя _lock относится к байту lock-битов и BLB, однако на состояние
lock-битов НЕ ВЛИЯЕТ. Для блокировки кристалла по прежнему надо
использовать ключ -l.
Допускается комбинация отдельных fuse и байтов, однако они при этом
не должны пересекаться, т.е. каждый байт fuses должен быть задан
либо только через специальное имя, либо только через имена отдельных
fuse. Например,
допустимо: -f_low=C3,_high=F4,blb2=1
не допустимо: -f_lock=F7,blb2=1
Если работа с fuses по SPI поддерживается, то их состояние сообщается
при любой операции с чипом, задание ключа -F необязательно.
В случае наличия -F<fuselist> при -V производится верификация fuses.
Для записи fuses _необходимо_ указать ключ -w.
Неупомянутые fuse остаются неизменными (кроме BLB для mega161, mega163,
так как они могут быть стерты по -E).
AVReAl обеспечивает также расширенную поддержку osccal (см. ниже)
Группа BLB относится скорее к lock-битам, записать 1 поверх уже
запрограммированной в 0 fuse невозможно. Если запрошена
такая операция и чип не стирался, то программа завершает работу
с соответствующим предупреждением.
Для tiny12, tiny15 поддерживается программирование SPIEN
и RSTDSBL, будьте осторожны, SPIEN по умолчанию запрограмировано,
ключ -fspien=1 (-fspien=off) _сотрет_ SPIEN и запретит дальнейшее
низковольтное программирование. Запрет произойдет и при
_программировании_ RSTDSBL (-frstdsbl=0 или -frstdsbl=off).
Кто не делает ошибок тот обычно вообще ничего не делает.
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Пишу программатор и совсем запарился с этими фьюзами.
Точнее с их состояниями. Вот к примеру прочитал я High Fuse Bits как 0х4A. Теперь как это понимать? Понятно, что смотри на биты. Но там вечная путаница с 0 это 1 и 1 это 0. Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?
Аватара пользователя
Nanobyte
Встал на лапы
Сообщения: 92
Зарегистрирован: Пн окт 30, 2006 01:09:37
Откуда: Таганрог

Сообщение Nanobyte »

Spider писал(а):...Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?

Как написано в даташитах, установленный фьюз - это 0. Путаница обычно возникает в программаторах, где отмеченная галочка может означать и 0 и 1.
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Привет, Нано! Это ведь ты на електроникс чего-то там форуме есть? (Голубой такой форум) привет от Alexey Belyaev'a! Это я! Я думаю ты уже догодался. Да о чём это я? Отвлёкся.
Ну вот к примеру имеем
Изображение
FH = 0b1101 1001
Из проца прочитается именно это значение? Что будет означчать, что SPIEN разрешён и размер загрузчика как 0, но ресет вектор на 0х00. Так?
Аватара пользователя
Nanobyte
Встал на лапы
Сообщения: 92
Зарегистрирован: Пн окт 30, 2006 01:09:37
Откуда: Таганрог

Сообщение Nanobyte »

Да, два кота обнюхались и признали друг друга. Правда, форум не голубой :)) .
Теперь по существу. Да, похоже фузы установлены именно так. Я бы ещё проверил и на другом программаторе заведомо исправный кристалл.
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Так оно и оказалось! Спасибо за хелп. Продолжаем разрабатывать программатор.
Аватара пользователя
Piroman17
Грызет канифоль
Сообщения: 296
Зарегистрирован: Пт янв 12, 2007 17:16:35
Откуда: Дубна
Контактная информация:

Сообщение Piroman17 »

Конторллер ATmega16.
Вот такая проблема: по дурости забыл устновить фьюзы CKSEL0..3 (они остились на 0000, я так понимаю это установка "внешняя частота"), после этого МК не желает прошиваться второй раз :( как выйти из положения?

P.S. пробовал подключать разные кварцы, но это не спасает.
"Всё новое - хорошо забытое старое" - для творцов без творческий мысли.
Аватара пользователя
Abakt
Вечно гонимый
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

avrfuse.narod.ru подробная информация про фьюзы и как правильно прошивать микроконтроллеры AVR
Ответить

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