47600 (597343), страница 12
Текст из файла (страница 12)
Рис. 9.1. Байт ячеек защиты
В исходном (запрограммированном) состоянии во всех ячейках защиты содержится 1, после программирования – 0. Стирание ячеек (запись в них лог. 1) может быть произведено только при выполнении команды “Стирание кристалла”, уничтожающей также содержимое FLASH- и EEPROM-памяти.
-
-
Конфигурационные ячейки
Как следует из названия, конфигурационные ячейки (Fuse Bits) определяют различные параметры конфигурации микроконтроллера. Эти ячейки расположены в отдельном адресном пространстве, доступном только при программировании. Все конфигурационные ячейки сгруппированы в несколько байтов, а состав этих ячеек зависит от конкретной модели микроконтроллера. Наличие тех или иных ячеек в конкретном микроконтроллере можно определить по табл. 9.5, где в столбцах, отмеченных “звездочкой”, указаны состояния конфигурационных ячеек по умолчанию.
Краткое назначение всех конфигурационных ячеек приведено в табл. 9.6. Подробное описание их назначений было приведено в соответствующих главах книги.
Для изменения содержимого конфигурационных ячеек используются специальные команды программирования. Команда “Стирание кристалла” на состояние этих ячеек не влияет. Напоминаю, что при запрограммированной ячейке защиты LB1 конфигурационные ячейки блокируются. Поэтому конфигурацию микроконтроллера необходимо задавать до программирования ячеек защиты.
Таблица 9.5. Конфигурационные ячейки микроконтроллеров семейства
Бит | ATmega8515x | ATmega8535x | ATmega8x | ATmegal6x/ 32x | ATtaega64x/ 128x | ATmega48x | |||||||||||||
Название | * | Название | * | Название | * | Название | * | Название | * | Название | * | ||||||||
Младший конфигурационный байт | |||||||||||||||||||
7 | BODLEVEL | 1 | BODLEVEL | 1 | BODLEVEL | 1 | BODLEVEL | 1 | BODLEVEL | 1 | CKDIV8 | 0 | |||||||
6 | BODEN | 1 | BODEN | 1 | BODEN | 1 | BODEN | 1 | BODEN | 1 | CKOUT | 1 | |||||||
5 | SUT1 | 1 | SUT1 | 1 | SUT1 | 1 | SUT1 | 1 | SUT1 | 1 | SUT1 | 1 | |||||||
4 | SUT0 | 0 | SUTO | 0 | SUTO | 0 | SUTO | 0 | SUTO | 0 | SUTO | 0 | |||||||
3 | CKSEL3 | 0 | CKSEL3 | 0 | CKSEL3 | 0 | CKSEL3 | 0 | CKSEL3 | 0 | CKSEL3 | 0 | |||||||
2 | CKSEL2 | 0 | CKSEL2 | 0 | CKSEL2 | 0 | CKSEL2 | 0 | CKSEL2 | 0 | CKSEL2 | 0 | |||||||
1 | CKSEL1 | 0 | CKSEL1 | 0 | CKSEL1 | 0 | CKSEL1 | 0 | CKSEL1 | 0 | CKSEL1 | 1 | |||||||
0 | CKSEL0 | 1 | CKSELO | 1 | CKSELO | 1 | CKSELO | 1 | CKSELO | 1 | CKSELO | 0 | |||||||
Старший конфигурационный байт | |||||||||||||||||||
7 | S8515C | 1 | S8535C | 1 | RSTDISBL | 1 | OCDEN | 1 | OCDEN | 1 | RSTDISBL | 1 | |||||||
6 | WDTON | 1 | WDTON | 1 | WDTON | 1 | JTAGEN | 0 | JTAGEN | 0 | DWEN | 1 | |||||||
5 | SPIEN | 0 | SPIEN | 0 | SPIEN | 0 | SPIEN | 0 | SPIEN | 0 | SPIEN | 0 | |||||||
4 | СКОРТ | 1 | CKOPT | 1 | CKOPT | 1 | CKOPT | 1 | CKOPT | 1 | WDTON | 1 | |||||||
3 | EESAVE | 1 | EESAVE | 1 | EESAVE | 1 | EESAVE | 1 | EESAVE | 1 | EESAVE | 1 | |||||||
2 | BOOTSZ1 | 0 | BOOTSZ1 | 0 | BOOTSZ1 | 0 | BOOTSZ1 | 0 | BOOTSZ1 | 0 | BODLEVEL2 | 1 | |||||||
1 | BOOTSZ0 | 0 | BOOTSZO | 0 | BOOTSZO | 0 | BOOTSZO | 0 | BOOTSZO | 0 | BODLEVEL1 | 1 | |||||||
0 | BOOTRST | 1 | BOOTRST | 1 | BOOTRST | 1 | BOOTRST | 1 | BOOTRST | 1 | BODLEVELO | 1 | |||||||
Дополнительный конфигурационный байт | |||||||||||||||||||
7 | –– | — | 1 | — | |||||||||||||||
6 | — | 1 | — | ||||||||||||||||
5 | — | 1 | — | ||||||||||||||||
4 | — | 1 | — | ||||||||||||||||
3 | — | 1 | — | ||||||||||||||||
2 | — | 1 | — | ||||||||||||||||
1 | M103C | 0 | — | ||||||||||||||||
0 | WDTON | 1 | SELFPRGEN | ||||||||||||||||
* Значение бита. |
Таблица 9.6. Назначение конфигурационных ячеек
Название | Назначение | |
RSTDISBL | Определяет функционирование 1 вывода микроконтроллера, совмещенного с выводом аппаратного сброса (0 — контакт порта ввода/вывода, 1 — вывод сброса) | |
CKSEL | Определяет режим работы тактового генератора, а также длительность задержки сброса tTout | |
BODLEVEL | Определяет порог срабатывания схемы BOR | |
BODEN | Разрешает/запрещает функционирование схемы BOR (0 — разрешено, 1 — запрещено) | |
SPIEN11) | Разрешает/запрещает программирование по интерфейсу SPI (0 — разрешено, 1 — запрещено) | |
SUT | Определяет длительность задержки сброса tTout | |
WDTON | Определяет режим работы сторожевого таймера (0 — всегда включен, 1 — может быть выключен программно) | |
СКОРТ | Определяет функционирование тактового генератора, действие зависит от установок ячеек CKSEL | |
EESAVE2) | Определяет влияние команды “Стирание кристалла” на EEPROM-память 0 — не стирает, 1 — стирает) | |
BOOTSZ | Определяет размер секции загрузчика | |
BOOTRST | Определяет положение вектора сброса | |
DWEN | Разрешает/запрещает работу отладочного интерфейса debugWire (0 — разрешена, 1 — запрещена) | |
OCDEN | Разрешает/запрещает внутрисхемную отладку (0 — разрешена, 1 — запрещена) | |
JTAGEN | Разрешает/запрещает использование интерфейса JTAG (0 — разрешен, 1 — запрещен) | |
CKDIV8 | Определяет начальное состояние делителя системного тактового сигнала | |
CKOUT | Определяет состояние выходного буфера системного тактового сигнала (0 — подключен к выводу микроконтроллера, 1 — отключен) | |
SELFPRGEN3)) | Разрешение самопрограммирования (0 — разрешено) | |
S8515C | Включает/выключает режим совместимости с микроконтроллерами AT90S4414/8515 семейства Classic (0 — включен, 1 — выключен) | |
S8535C | Включает/выключает режим совместимости с микроконтроллерами AT90S8535 семейства Classic (0 — включен, 1 — выключен) | |
М161С | Включает/выключает режим совместимости с микроконтроллерами ATmega 161х семейства Mega (0 — включен, 1 — выключен) | |
М103С | Включает/выключает режим совместимости с микроконтроллерами ATmega 103x семейства Mega (0 - включен, 1 - выключен) |
1) Недоступна при программировании по последовательному каналу