Фьюз (Fuse) биты микроконтроллеров

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

Но знать их необходимо, базовыми знаниями тут не обойтись.

Фьюз биты расположены в особой области памяти, изменить их можно только используя программатор в процессе прошивки. При помощи фьюз битов можно настроить  следующие опции и режимы работы:

  • произвести выбор задающего генератора,
  • какой будет использоваться внутренний или внешний
  • выключить возможность прошивки или чтения данных микронтроллера
  • включить/выключить таймеры
  • задать частоту генератора (деление частоты генератора)
  • защитить память EEPROOM от стирания
  • и другие настройки.

У каждого микроконтроллера свои fuse-биты, как они называется и за что отвечают можно посмотреть в даташитах на микроконтроллер. Там все подробно расписано, перед тем как прошивать камень нужно знать какие биты выставлять нужно ознакомиться с документацией.
Настройка или установка этих битов осуществляется при помощи программатора.

Тут есть одна тонкость: Бит считается установленным если его значение равно нулю.

Этот момент нужно просто запомнить и привыкнуть, что если мы установили значение бита в ноль то значит мы его включили.Выставление битов при помощи программы AVRDUDE_PROG 3.3

Установка фьюз битов при помощи программы AVRDUDE_PROG 3.3
Рассмотрим наиболее часто настраиваемые фьюз биты.

CKSEL

Чаще всего настраивается фьюзы CKSEL0, CKSEL, CKSEL2, CKSEL3 они настраивают частоту с которой работает тактовый генератор и его тип. Выставляя то или ной бит можно сделать 16 разных комбинаций. Но опять же нужно посмотреть в datasheet. С этими битами нужно быть осторожнее можно к примеру можно выставит биты таким образом что МК будет работать от внешнего генератора который подключается на ножки XTAL1 и XTAL2. И в случае его отсутствия, микроконтроллер станет «заблокирован»

По умолчанию большинство микроконтроллеров AVR настроены на работу от внутреннего источника тактов

SUT

Фьюзы SUT0 и SUT1 необходимя для настройки режимов старта тактовых генераторов. Довольно мудреные биты, если не правильно выставить эти биты то могут быть тормоза с запуском тактового генератора либо сбросы МК в момент полачи патания.

CKOPT

Наиболее часто используемый бит, он необходим для определения работы встроенного генератора для работы с кварцевым резонатором, он выставляет амплитуды сигнала на кварце.

OCDEN

Этот бит необходим для разрешения или запрета чтения данных из памяти микроконтроллера.

SELFPRGEN

При помощи этого бита мы можеи запретить или наоборот разрешить запись данных в память.

BODLEVEL

Этот фьюз бит устанавливает момент уровень напряжения питания при котором происходит рестарт микроконтроллера.

BODEN

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

BOOTRST

Отправная точка начала исполнения программы. Установка адреса с которого начинает работать исполняемая программ. Если это фьюз бит выставить то программа стартует с адреса области загрузчика

RSTDISBL

С этим битом нужно быть осторожным. Если не так выставить то можно вырубить вывод RESET, в результате чего больше не сможете программировать по ISP. Это бит преобразует вывод RESET в порт ввода-вывода. Не понятно зачем придумали этот бит, наверно на случай если не хватает выводов. Но как по мне то его лучше вообще не трогать.

BOOTSZ

Состоит из BOOTSZ1 и BOOTSZ0 выставляют размер области памяти записываемых программ

EESAVE

Этот бит предназначен для защиты памяти EEPROM от стирания. Если выставить этот бит то при очистке МК память EEPROM  останется не тронутой.

SPIEN

Это бит разрешает МК работать по интерфейсу SPI. У всех МК этот бит по умолчанию выставлен.

В приведенной ниже таблице fuse-биты микрокнтроллеров семейства ATtiny и ATmega. Знаком плюс указано наличие данного бита у МК.

Фьиз биты микроконтроллеров

Фьюз бит Семейство
ATtiny
Семейство
ATmega
2313 25/
45/
85
13 26 261/
461/
861
8 16 48/
88/
168
128 169 329 8515 8535
RESERVED M103С + S8515С S8535С
OCDEN + + + +
JTAGEN + + + +
SELFPRGEN + + + + +
DWEN + + + + + +
EESAVE + + + + + + + + + + + + +
SPIEN + + + + + + + + + + + + +
WDTON + + + + + + + + + + +
BODLEVEL2 + + + + +
BODLEVEL1 + + + + + + +
BODLEVEL0 + + + BODLEVEL + BODLEVEL BODLEVEL + BODLEVEL + + BODLEVEL BODLEVEL
BODEN + + + + + +
RSTDISBL + + + + + + + +
CKDIV8 + + + + + + +
CKOUT + + + + + +
SUT1 + + + + + + + + + + + + +
SUT0 + + + + + + + + + + + + +
CKOPT + + + + + +
CKSEL3 + + + + + + + + + + + +
CKSEL2 + + + + + + + + + + + +
CKSEL1 + + + + + + + + + + + + +
CKSEL0 + + + + + + + + + + + + +
PLLCK +
BOOTRST + + + + + + + +
BOOTSZ1 + + + + + + + +
BOOTSZ0 + + + + + + + +
Автор
Staticvoid

Администратор сайта http://www.radiodetector.ru

Поделиться с друзьями:
Поделиться
Отправить
Класснуть
Линкануть
Запинить

Добавить комментарий