4.16. Описание регистров - Fuse- и Lock-биты
4.16.1. FUSEBYTE0 - конфигурационный байт 0 энергонезависимой памяти - JTAG-идентификатор пользователя
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х00 |
|
FUSEBYTE0 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:0 - JTAGUID[7:0]: JTAG-идентификатор пользователя
Данные fuse-биты можно использовать для установки значения по умолчанию JTAG идентификатора пользователя МК (JTAG USER ID). Во время сброса, fuse-биты JTAGUID загружаются в регистр JTAG идентификатора пользователя МК.
4.16.2. FUSEBYTE1 - конфигурационный байт 1 энергонезависимой памяти - конфигурация сторожевого таймера
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х01 |
|
FUSEBYTE1 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
- Биты 7:4 - WDWPER[3:0]: период срабатывания сторожевого таймера в оконном режиме
Конфигурационные биты WDWPER предназначены для задания начального значения периода срабатывания сторожевого таймера, работающего в оконном режиме. Во время сброса, данные fuse-биты автоматически записываются в биты WPER регистра управления оконным режимом сторожевого таймера (см. 11.7.2 "WINCTRL - регистр управления оконным режимом ").
- Биты 3:0 - WDPER[3:0]: период срабатывания сторожевого таймера
Конфигурационные биты WDPER предназначены для задания начального значения периода срабатывания сторожевого таймера. Во время сброса, данные fuse-биты автоматически перезаписываются в биты PER регистра управления сторожевым таймером (см. 11.7.1 "CTRL - регистр управления сторожевым таймером ").
4.16.3. FUSEBYTE2 - конфигурационный байт 2 энергонезависимой памяти - настройка параметров сброса
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х02 |
DVDSON |
BOOTRST |
- |
- |
- |
- |
BODPD[1:0] |
|
FUSEBYTE2 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
1 |
1 |
- |
- |
1 |
1 |
1 |
1 |
- Бит 7 - DVSDON: разрешение работы схемы обнаружения просадок напряжения питания
Конфигурационный бит DVDSON позволяет активизировать схему обнаружения просадки напряжения питания (детектор просадки питания). Детектор просадки питания позволяет выявить быстрое снижение напряжения питания и, в таком случае, выполнить системный сброс. Более детально работа детектора просадки питания рассматривается в 9.4.3. "Сброс от детектора просадки питания".
Таблица 14.1. Конфигурация детектора просадки питания
DVDSON |
Описание |
0 |
Работа детектора просадки питания разрешена |
1 |
Работа детектора просадки питания запрещена |
- Бит 6 - BOOTRST: управление переносом вектора сброса в загрузочный сектор
Конфигурационный бит BOOTRST программируют при необходимости переноса вектора сброса в начало загрузочного сектора Flash-памяти. В таком случае, после сброса МК, выполнение программы начнется из загрузочного сектора.
Таблица 4.2. Конфигурация вектора сброса
BOOTRST |
Адрес сброса |
0 |
Вектор сброса равен начальному адресу загрузочного сектора flash-памяти |
1 |
Вектор сброса равен начальному адресу сектора прикладной программы flash-памяти (адрес 0х0000) |
- Биты 5:4 - RES: резервные биты
Данные конфигурационные биты являются резервными и всегда считываются с нулевыми значениями. Для совместимости с будущими микроконтроллерами, при записи в этот регистр, в данные биты необходимо всегда записывать нули.
- Биты 1:0 - BODPD[1:0]: работа супервизора питания в экономичных режимах работы МК
Конфигурационные биты BODPD задают режим работы супервизора питания (BOD) во всех экономичных режимах работы МК, кроме IDLE. Более подробно о супервизоре питания и режимах его работы см. в 9.4.2 "Супервизор питания".
Таблица 4.3. Режимы работы супервизора питания в экономичных режимах работы МК
BODPD[1:0] |
Описание |
00 |
Резерв |
01 |
Супервизор питания работает в режиме периодических выборок |
10 |
Супервизор питания работает в непрерывном режиме |
11 |
Супервизор питания отключен |
4.16.4. FUSEBYTE4 - конфигурационный байт 4 энергонезависимой памяти - конфигурация параметров запуска
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х04 |
- |
- |
- |
RSTDISBL |
STARTUPTIME[1:0] |
WDLOCK |
JTAGEN |
|
FUSEBYTE4 |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт. |
Чт. |
Чт. |
Чт. |
Начальное значение |
- |
- |
- |
1 |
1 |
1 |
1 |
0 |
- Биты 7:5 - RES: резервные биты
Данные конфигурационные биты являются резервными и всегда считываются с нулевыми значениями. Для совместимости с будущими микроконтроллерами, при записи в этот регистр, в данные биты необходимо всегда записывать нули.
- Бит 4 - RSTDISBL - отключение внешнего сброса
Программирование данного fuse-бита приведет к отключению внешнего сброса. Если это сделать, то дальнейшая установка низкого уровня на внешнем выводе сброса не вызовет сброса МК.
- Биты 3:2 - STARTUPTIME[1:0]: время запуска
Fuse-биты STARTUPTIME можно использовать для задания задержки времени с момента деактивации всех источников сброса и до момента деактивации внутреннего сброса, инициированного счетчиком длительности задержки. Данный счетчик синхронизируется с выхода ULP-генератора частотой 1 кГц (см. 9.3 "Последовательность сброса").
Таблица 4.4. Время запуска
STARTUPTIME[1:0] |
Количество циклов ULP-генератора 1 кГц |
00 |
64 |
01 |
4 |
10 |
Резерв |
11 |
0 |
- Бит 1 - WDLOCK: защита сторожевого таймера
После программирования конфигурационного бита WDLOCK блокируется дальнейшая возможность изменения конфигурации сторожевого таймера, в т.ч. его отключения.
Таблица 4.5. Блокировка сторожевого таймера
WDLOCK |
Описание |
0 |
Сторожевой таймер защищен от изменений |
1 |
Сторожевой таймер незащищен |
- Бит 0 - JTAGEN: разрешение работы порта JTAG
От состояния конфигурационного бита JTAGEN зависит активность порта JTAG (включен или отключен). После отключения, любые попытки доступа через порт JTAG будут игнорироваться, а доступ к МК можно будет выполнить только через интерфейс PDI.
Таблица 4.6. Разрешение работы порта JTAG
JTAGEN |
Описание |
0 |
Работа порта JTAG разрешена |
1 |
Работа порта JTAG запрещена |
Fuse-бит JTAGEN доступен только у МК с портом JTAG.
4.16.5. FUSEBYTE5 - конфигурационный байт 5 энергонезависимой памяти
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х05 |
- |
- |
BODACT[1:0] |
EESAVE |
BODLEVEL[2:0] |
|
FUSEBYTE5 |
Чтение/запись |
Чт. |
Чт. |
Чт. |
Чт. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
- |
- |
- |
- |
- |
- |
- |
- |
- Биты 7:6 - RES: резервные биты
Данные биты являются резервными и всегда считываются с нулевыми значениями. Для совместимости с будущими МК, запись в этот в регистр должна сопровождаться записью нулей в резервные биты.
- Биты 5:4 - BODACT[1:0]: работа супервизора питания в активном режиме
С помощью конфигурационных бит BODACT можно задать режим работы супервизора питания (BOD), когда МК работает в активном режиме и в режиме IDLE. Более детально о супервизоре питания и его режимах работы см. в 9.4.2 "Супервизор питания".
Таблица 4.7. Режимы работы супервизора питания в активном режиме работы МК и в режиме IDLE
BODACT[1:0] |
Описание |
00 |
Резерв |
01 |
Супервизор питания работает в режиме периодических выборок |
10 |
Супервизор питания работает в непрерывном режиме |
11 |
Супервизор питания отключен |
- Бит 3 - EESAVE: влияние команды Chip Erase на содержимое EEPROM
По умолчанию, команда chip erase стирает содержимое Flash-памяти, EEPROM и внутреннего SRAM. Однако, если запрограммировать конфигурационный бит EESAVE, дальнейшее выполнение команды chip erase никак не будет влиять на содержимое EEPROM. Обычно данный бит программируют в случаях, когда обновление кода программы не должно влиять на хранящиеся в EEPROM данные.
Таблица 4.8. Влияние команды Chip Erase на содержимое EEPROM
EESAVE |
Описание |
0 |
Команда ChipErase не влияет на содержимое EEPROM |
1 |
Команда ChipErase стирает содержимое EEPROM |
Изменение конфигурационного бита EESAVE вступает в силу сразу по истечении времени записи. Таким образом, имеется возможность выполнить команду chip erase сразу же после изменения бита EESAVE, не покидая и не вводя повторно режим программирования.
- Бит 2:0 - BODLEVEL[2:0] - порог срабатывания супервизора питания
Fuse-биты BODLEVEL предназначены для задания номинального значения порога срабатывания супервизора питания (BOD). Во время подачи питания МК удерживается в состоянии сброса до тех пор, пока напряжение VCC не достигнет запрограммированного порога срабатывания супервизора BOD. Порог срабатывания супервизора питания, даже если он неактивен, должен быть установлен ниже уровня VCC (см. 9.4 "Источники сброса").
Таблица 4.9. Номинальные значения пороговых уровней супервизора питания (фактические значения см. в документации на микроконтроллер)
BODLEVEL |
Номинальное значение порога срабатывания супервизора питания |
111 |
1.6В |
110 |
1.8В |
101 |
2.0В |
100 |
2.2В |
011 |
2.4В |
010 |
2.7В |
001 |
2.9В |
000 |
3.2В |
Выполненные изменения данных fuse-бит вступают в силу только после выхода из режима программирования.
4.16.6. LOCKBITS - регистр Lock-бит энергонезависимой памяти
Бит |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
+0х07 |
BLBB[1:0] |
BLBA[1:0] |
BLBAT[1:0] |
LB[1:0] |
|
LOCKBITS |
Чтение/запись |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Чт./Зап. |
Начальное значение |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
- Биты 7:6 - BLBB[1:0]: биты Boot Lock загрузочного сектора
Данные биты сигнализируют о выбранном режиме защиты загрузочного сектора. Возможность запись бит BLBB ограничена: допускается только усиление защиты. Возврат в исходное состояние бит BLBB возможен только выполнением команды Chip Erase.
Таблица 4.10. Биты Boot Lock загрузочного сектора
BLBB[1:0] |
Групповая конфигурация |
Описание |
11 |
NOLOCK |
Защита отключена. Инструкции SPM и (E)LPM имеют полный доступ к загрузочному сектору |
10 |
WLOCK |
Защита от записи. Запись в загрузочный сектор инструкцией SPM невозможна. |
01 |
RLOCK |
Защита от чтения. Чтение из загрузочного сектора с помощью инструкции (E)LPM, исполняемой из сектора прикладной программы, невозможно.
Если векторы прерываний размещены в секторе прикладной программы, то прерывания окажутся отключенными во время выполнения кода программы из загрузочного сектора. |
00 |
RWLOCK |
Защита от чтения и записи. Запись инструкцией SPM в загрузочный сектор, а также его чтение инструкцией (E)LPM, исполняемой из сектора прикладной программы, недопустимы.
Если векторы прерываний размещены в секторе прикладной программы, то прерывания окажутся отключенными во время выполнения кода программы из загрузочного сектора. |
- Биты 5:4 - BLBA[1:0]: биты Boot Lock сектора прикладной программы
Данные биты сигнализируют о выбранном режиме защиты сектора прикладной программы. Возможность записи бит BLBA ограничена: допускается только усиление защиты. Возврат в исходное состояние бит BLBA возможен только выполнением команды Chip Erase.
Таблица 4.11. Биты Boot Lock сектора прикладной программы
BLBA[1:0] |
Групповая конфигурация |
Описание |
11 |
NOLOCK |
Защита отключена. Инструкции SPM и (E)LPM имеют полный доступ к сектору прикладной программы |
10 |
WLOCK |
Защита от записи. Запись в сектор прикладной программы инструкцией SPM невозможна. |
01 |
RLOCK |
Защита от чтения. Чтение из сектора прикладной программы с помощью инструкции (E)LPM, исполняемой из загрузочного сектора, невозможно. Если векторы прерываний размещены в загрузочном секторе, то прерывания окажутся отключенными во время выполнения кода программы из сектора прикладной программы. |
00 |
RWLOCK |
Защита от чтения и записи. Запись инструкцией SPM в сектор прикладной программы, а также его чтение инструкцией (E)LPM, исполняемой из загрузочного сектора, недопустимы. Если векторы прерываний размещены в загрузочном секторе, то прерывания окажутся отключенными во время выполнения кода программы из сектора прикладной программы. |
- Биты 3:2 - BLBAT[1:0]: биты Boot Lock сектора таблицы приложения
Данные биты сигнализируют о выбранном режиме защиты сектора таблицы приложения. Возможность записи бит BLBAT ограничена: допускается только усиление защиты. Возврат в исходное состояние бит BLBAT возможен только выполнением команды Chip Erase.
Таблица 4.12. Биты Boot Lock сектора таблицы приложения
BLBAT[1:0] |
Групповая конфигурация |
Описание |
11 |
NOLOCK |
Защита отключена. Инструкции SPM и (E)LPM имеют полный доступ к сектору таблицы приложения. |
10 |
WLOCK |
Защита от записи. Запись в сектор таблицы приложения инструкцией SPM невозможна. |
01 |
RLOCK |
Защита от чтения. Чтение из сектора таблицы приложения с помощью инструкции (E)LPM, исполняемой из загрузочного сектора, невозможно. Если векторы прерываний размещены в загрузочном секторе, то прерывания окажутся отключенными во время выполнения кода программы из сектора прикладной программы. |
00 |
RWLOCK |
Защита от чтения и записи. Запись инструкцией SPM в сектор таблицы приложения, а также его чтение инструкцией (E)LPM, исполняемой из загрузочного сектора, недопустимы. Если векторы прерываний размещены в загрузочном секторе, то прерывания окажутся отключенными во время выполнения кода программы из сектора прикладной программы. |
- Биты 1:0 - LB[1:0]: Lock-биты
Данные биты сигнализируют о выбранном режиме защиты Flash-памяти и EEPROM в режиме программирования. Запись данных бит возможна только через внешний интерфейс программирования. Возврат в исходное состояние бит LB возможен только выполнением команды Chip Erase.
Таблица 4.13. Lock-биты
LB[1:0] |
Групповая конфигурация |
Описание |
11 |
NOLOCK3 |
Защита отключена. |
10 |
WLOCK |
Защита от записи. Программирование Flash-памяти и EEPROM через интерфейс программирования отключено. Запись Fuse-бит через интерфейс программирования так же невозможна. |
00 |
RWLOCK |
Защита от чтения и записи. Программирование, а также чтение/проверка flash-памяти и EEPROM через интерфейс программирования отключены. Чтение/запись lock- и fuse-бит через интерфейс программирования так же отключены. |
|