Фьюзы AVR Fuse
Fuse-биты - настраивают некоторые параметры МК при прошивании и не доступны для изменения из программы МК.
В таблице fuse-биты популярных AVR. Слева названия fuse-битов по даташиту, в первых двух строках перечислены семейства и типы конкретных МК, а на пересечении строк и столбцов стоит знак плюс, если данный fuse-бит имеется в данном МК, или указано название, отличное от стандартного. Если какой-то бит отсутствует — в соответствующей клетке ничего нет.
Назначение каждого фьюза AVR fuse бита:
RESERVED — этот бит зарезервирован для каких-то неизвестных простым смертным целей фирмой Atmel. Ни при каких условиях не рекомендуется менять его состояние (т. е. надо оставлять его таким, как он установлен при изготовлении МК). В этой строке встречаются биты с другими названиями, как правило, это биты включения режима совместимости с устаревшими типами МК, на смену которым выпущены новые. Обычно в конце названия такого fuse-бита имеется символ С — от COMPATIBLE (совместимый).
OCDEN — fuse разрешает работу схемы внутреннего отладчика (On Chip Debug ENable). Не оставляйте установленным этот бит в коммерческих продуктах! Иначе вашу программу можно будет считать из памяти МК.
JTAGEN — fuse бит разрешает работу интерфейса программирования-отладки JTAG. По сравнению с SPI-интерфейсом, JTAG обладает расширенными возможностями. Не рекомендуется без необходимости оставлять этот бит установленным, т. к. в этом случае потребляемый МК ток возрастает.
SELFPRGEN — бит, разрешающей программе МК производить запись в память программ, т. е. производить самопрограммирование.
DWEN — fuse бит, разрешающий работу DebugWire - это интерфейс отладки по одному проводу. Не рекомендуется оставлять его установленным в коммерческих изделиях.
EESAVE — fuse бит, после установки которого при стирании памяти МК содержимое EEPROM данных будет сохраняться нетронутым, т. е. не будет стерто.
SPIEN — fuse бит, разрешающий работу интерфейса внутрисхемного программирования МК по SPI. Этот бит может быть легко переустановлен при помощи параллельного программатора (или JTAG, если таковой разрешен и имеется в МК). Все МК выпускаются с установленным битом SPIEN, снять его по интерфейсу SPI невозможно.
WDTON — fuse бит, после установки которого сторожевой таймер WDT включается сразу после подачи питания и не может быть отключен программно. Если бит не установлен, то включением и отключением WDT можно управлять программно.
Группа fuse битов BODLEVEL. Может быть либо один такой бит, либо несколько, тогда они нумеруются, начиная с нуля. Значение этих fuse битов определяет порог срабатывания схемы BOD — детектора уровня питающего напряжения, при снижении напряжения питания ниже этого уровня произойдет "сброс" МК.
BODEN — fuse бит, включающий схему аппаратного детектора недопустимого уровня
питающего напряжения, т.е. схему BOD.
RSTDISBL — fuse бит, отключающий сигнал внешнего сброса от вывода микроконтроллера и подключающий к нему схему порта ввода-вывода. Этот бит имеется только в тех МК, у которых вывод аппаратного сброса RESET совмещен с одинм из портов ввода-вывода. Ошибочная установка этого fuse бита может отключить RESET и вы не сможете больше прошивать по ISP. Не устанавливайте этот бит, если намерены продолжать работать с МК при помощи последовательных программаторов. "Оживить" МК с установленным RSTDISBL можно только параллельным программатором и не для всех МК.
CKDIV8 — fuse бит, включающий предварительное деление частоты кварцевого (или иного имеющегося) тактового генератора на 8. То есть при включенном этом бите и применении кварцевого резонатора на 8 МГц реальная тактовая частота МК составит 1 МГц.
CKOUT — fuse бит, разрешающий вывод тактовой частоты на один из выводов МК (для тактирования других устройств).
SUT1 и SUT0 — fuse биты, управляющие режимом запуска тактовых генераторов МК. Связаны с нижеописываемыми битами, определяющими тип и частоту тактового генератора, причем связь весьма хитрая и запутанная. При ошибочной их установки возможны ситуации неустойчивого запуска генератора или неодногратного сброса МК в процессе подачи на него питания.
CKOPT — бит, определяющий режим работы встроенного генератора тактовой частоты для работы с кварцевыми резонаторами. Реально изменяет коэффициент усиления встроенного инвертора в схеме генератора и значит выходное напряжение на ножке XTAL2. Ошибочная установка может приводить к неустойчивому запуску кварцевого генератора, вплоть до возбуждения его не на той гармонике, что надо (из-за этого бита кварц запускался или только при питании МК напряжением не выше 3, 6В, или только после прикосновения к выводу XTAL1 пинцетом)
Группа битов CKSEL0…CKSEL3 — fuse биты, комбинация которых определяет тип и частоту работающего тактового генератора. Всего возможно до 16 комбинаций, однако не все определены для всех типов МК. Ошибочная установка комбинации этих битов может сделать МК «мертвым» — он не будет работать в схеме без подачи тактового сигнала на ножку XTAL1.
PLLCK — fuse бит, разрешающий использование встроенного синтезатора частоты для тактирования ядра МК.
BOOTRST — fuse бит, определяющий адрес, с которого будет начато исполнение программы после сброса — если бит установлен, то начало программы будет не с адреса 0000h (как обычно), а с адреса области загрузчика (Boot Loader).
Группа fuse битов BOOTSZ — два fuse бита, определяющие размер области памяти программ, выделяемой для загрузчика (Boot Loader). Комбинация этих битов, в частности, определяет точку начала исполнения программы после сброса, если установлен бит BOOTRST.
Варианты установок fuse битов, настройка частоты
CKSEL3…0 Источник тактирования Комментарий
0000 Внешняя частота 0…16 МГц
0001 Встроенный RC генератор 1 МГц
0010 Встроенный RC генератор 2 МГц
0011 Встроенный RC генератор 4 МГц
0100 Встроенный RC генератор 8 МГц
0101 Внешний RC генератор <0, 9 МГц
0110 Внешний RC генератор 0, 9…3, 0 МГц
0111 Внешний RC генератор 3, 0…8, 0 МГц
1000 Внешний RC генератор 8, 0…12 МГц
1001 Низкочастотный пьезорезонатор 32, 768 кГц
101х Кварцевый резонатор 0, 4…0, 9 МГц
110х Кварцевый резонатор 0, 9…3, 0 МГц
111х Кварцевый резонатор 3, 0…8, 0 МГц
Самое подробное описание фьюзов
смотрите в Даташите конкретного МК !