Содержание
Фьюз (Fuses) биты микроконтроллера предназначены для настройки микроконтроллера на определенную работу . Включая или выключая те или иные биты, мы может тем самым менять настройки микроконтроллера. К примеру настроить в
Но знать их необходимо, базовыми знаниями тут не обойтись.
Фьюз биты расположены в особой области памяти, изменить их можно только используя программатор в процессе прошивки. При помощи фьюз битов можно настроить следующие опции и режимы работы:
- произвести выбор задающего генератора;
- какой будет использоваться внутренний или внешний;
- выключить возможность прошивки или чтения данных микронтроллера;
- включить/выключить таймеры;
- задать частоту генератора (деление частоты генератора);
- защитить память EEPROOM от стирания;
- и другие настройки.
У каждого микроконтроллера свои fuse-биты, как они называется и за что отвечают можно посмотреть в даташитах на микроконтроллер. Там все подробно расписано, перед тем как прошивать камень нужно знать какие биты выставлять нужно ознакомиться с документацией.
Настройка или установка этих битов осуществляется при помощи программатора.
Тут есть одна тонкость: Бит считается установленным если его значение равно нулю.
Этот момент нужно просто запомнить и привыкнуть, что если мы установили значение бита в ноль то значит мы его включили.Выставление битов при помощи программы AVRDUDE_PROG 3.3
Фьюз биты микрокотроллеров AVR
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. Знаком плюс указано наличие данного бита у МК.
Таблица фьюз битов микроконтроллеров AVR
Фьюз бит | Семейство 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 | + | + | + | + | + | + | + | + |
Калькулятор фьюз битов микроконтроллеров
Калькулятор фьюзов AVR помогает быстро установить нужные биты, скачать офлайн версию программы можно по ссылке ниже.
Скачать исходники
Похожие записи
Практически все современные микроконтроллеры имеют на своем борту 3 вида памяти: Виды памяти микроконтроллеров память программ FLASH; оперативная память (ОЗУ) SRAM (Static RAM); ...
Это простая схема двойного светодиодного мигающего сигнала. В качестве базовой схемы нестабильного мультивибратора используется таймер NE 555. Светодиоды включаются по очереди, частоту...
Представленная схема полицейской мигалки на микроконтроллере и светодиодах может работать в 16 различных режимах. Режим выбирается при помощи одной кнопки, и собрана на микроконтроллере...
Последовательный интерфейс I2C (также его обозначается как IIC) довольно популярный последовательный интерфейс. Свою популярность он получил за неплохую скорость передачи информации. В...
Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) — последовательный стандарт передачи данных. Предназначен для сопряжения микроконтроллеров и периферийных устройств. SPI...
В это примере подключим и научимся обрабатывать события нажатия кнопок при помощи микроконтроллера AVR. Другими словами мониторить состояние кнопок, и при каких либо изменениях делать что...