LOCK, FUSE и SIGNATURE

В энергонезависимой памяти AVR имеется несколько специализированных бит и байт.

LOCK-биты (LB1, LB2) предназначены для защиты программной информации, содержащейся во FLASH-памяти. Возможные режимы защиты перечислены в Таблице 2. Запрограммировав биты защиты, стереть их можно лишь во время очистки FLASH-памяти (операция "Chip erase"), которая уничтожает и всю программу.

Таблица 2: Режимы защиты программной информации AVR.

 

FUSE-биты позволяют задавать некоторые конфигурационные особенности микроконтроллера. Состав FUSE бит каждого конкретного типа AVR (Таблица 3) обусловлен особенностями построения узлов сброса, тактирования и программирования кристалла.

У всех микроконтроллеров, поддерживающих последовательное программирование, имеется FUSE-бит SPIEN, который позволяет разрешать ("0" - по умолчанию) или запрещать ("1") этот режим перезаписи кристалла.

FUSE-бит RCEN позволяет выбрать в качестве источника тактового сигнала AVR внутренний RC-генератор ("0").

FUSE-биты FSTRT, CKSEL [0 .. 3], SUT [0, 1] задают время задержки старта AVR-микроконтроллера после сброса.

Схемой контроля питания, если она имеется, управляют FUSE-биты BODEN (разрешение ("0") / запрещение ("1")) и BODLEVEL.

У Mega AVR имеется FUSE бит EESAVE, программирование ("0") которого приводит к тому, что при выполнении операции "Chip erase" содержимое EEPROM памяти сохраняется без изменения.

Tiny AVR содержат FUSE-бит RSTDISBL, который позволяет запретить ("0") внешний сброс микроконтроллера для того, чтобы увеличить количество программируемых входов/выходов за счет вывода RESET.

FUSE-биты CKSEL 0 ... 3 у Tiny AVR задают источник тактового сигнала микроконтроллера (табл. 3).

Таблица 3: FUSE биты AVR микроконтроллеров.

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