Обсуждаем контроллеры компании Atmel.
Ответить

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

Пт июн 23, 2006 10:28:05

для чего они нужны?

Пт июн 23, 2006 13:21:32

для конфигурации мк.

Re: fuse те фьюзы

Пт ноя 17, 2006 13:20:28

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


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

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

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

Пт ноя 17, 2006 23:16:20

А разъясните ситуацию, как на Mega-х нельзя устанавливать фюзы? Чтобы не лишить себя возможности программировать по SPI?

Пн ноя 20, 2006 13:01:47

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

Сб дек 16, 2006 14:12:16

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

Вс дек 17, 2006 21:53:48

А если я изменю режим генератора с INTRC на другой. Будет ли у меня работать ISP?

Пн дек 18, 2006 06:02:18

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

Вт дек 19, 2006 12:23:56

Зачем нужны BODLEVEl and BODEN?

Вт дек 19, 2006 13:19:33

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

Вт дек 19, 2006 13:45:18

О фьюзах и их смысле читать надо в даташите. Там все написано что как почему и зачем. И BODLEVEl and BODEN там тоже есть.

Вт дек 19, 2006 13:54:37

Незнайка.
Подскажи, а как их там в авриал32, в командной строке задать?

Ср дек 20, 2006 06:08:40

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

-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).

Пт дек 22, 2006 11:42:46

Пишу программатор и совсем запарился с этими фьюзами.
Точнее с их состояниями. Вот к примеру прочитал я High Fuse Bits как 0х4A. Теперь как это понимать? Понятно, что смотри на биты. Но там вечная путаница с 0 это 1 и 1 это 0. Так вот в этой самой 0x4A бит 1 значит, что этот фьюз выставлен или нет?

Сб дек 23, 2006 00:53:52

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

Как написано в даташитах, установленный фьюз - это 0. Путаница обычно возникает в программаторах, где отмеченная галочка может означать и 0 и 1.

Сб дек 23, 2006 19:22:36

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

Вс дек 24, 2006 15:10:17

Да, два кота обнюхались и признали друг друга. Правда, форум не голубой :)) .
Теперь по существу. Да, похоже фузы установлены именно так. Я бы ещё проверил и на другом программаторе заведомо исправный кристалл.

Вс дек 24, 2006 15:32:05

Так оно и оказалось! Спасибо за хелп. Продолжаем разрабатывать программатор.

Сб янв 27, 2007 20:10:44

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

P.S. пробовал подключать разные кварцы, но это не спасает.

Сб янв 27, 2007 21:26:43

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