Конфигурационные ячейки (Fuse Bits) определяют различные параметры конфигурации AVR, такие как источник тактовой частоты, задержка времени после включения питания, уровень срабатывания детектора пониженного напряжения и мн.др.
В разных моделях микроконтроллеров может содержаться от 5 до 20 конфигурационных ячеек. Все они находятся в отдельном адресном пространстве, доступном только на этапе программирования. Наибольшее что может сделать прикладная программа – это считать содержимое FUSE-битов. Однако такой код должен выполняться только в области загрузчика (подробнее см. «Самопрограммирование микроконтроллеров AVR»).
FUSE-биты сведены в байты конфигурации. В зависимости от количества FUSE-битов AVR-микроконтроллеры могут иметь до трех таких байтов. Это младший, старший и дополнительный байты конфигурации. Описание FUSE-битов микроконтроллера ATmega8 находится в табл.2.
Табл.2. Конфигурационные ячейки микроконтроллера ATmega8:
Номер |
Название |
Заводское значение |
Назначение |
||
Младший байт конфигурации |
|||||
0 |
CKSEL0 |
1 |
Определяют режим работы тактового генератора. Заводское значение CKSEL3:CKSEL0=1000 активизирует внутренний RC-генератор с частотой 1 МГц. |
||
1 |
CKSEL1 |
0 |
|||
2 |
CKSEL2 |
0 |
|||
3 |
CKSEL3 |
0 |
|||
4 |
SUT0 |
0 |
Определяют длительность задержки включения после сброса. Заводское значение SUT1:SUT0=10 устанавливает задержку времени 64 мс. |
||
5 |
SUT1 |
0 |
|||
6 |
BODEN |
1 |
Разрешает/запрещает функционирование схемы BOD. Заводское значение BODEN=1 запрещает схему сброса. |
||
7 |
BODLEVEL |
1 |
Задает порог срабатывания схемы BOD. При BODEN=1 значения этого бита игнорируются. Заводское значение BODLEVEL=1 устанавливает порог срабатывания 4.0 В. |
||
Старший байт конфигурации |
|||||
0 |
BOOTRST |
1 |
Определяет положение вектора сброса, который может находиться по нулевому адресу в памяти программ либо в начале секции загрузчика. Заводское значение BOOTRST=1 устанавливает вектор сброса по адресу PC=0. |
||
1 |
BOOTSZ0 |
0 |
Определяет размер секции загрузчика. Заводское значение BOOTSZ1: BOOTSZ0=00 устанавливает размер секции 1024 слова. |
||
2 |
BOOTSZ1 |
0 |
|||
3 |
EESAVE |
1 |
Определяет влияние команды Chip Erase (Стирание кристалла) на EEPROM-память данных. Заводское значение EESAVE=1 разрешает стирание EEPROM вместе с памятью программ FLASH. |
||
4 |
CKOPT |
1 |
Определяет функционирование тактового генератора. Действие бита зависит от установок CKSEL3:CKSEL0 |
||
5 |
SPIEN |
0 |
Разрешает/запрещает программирование через интерфейс SPI (внутрисхемное программирование). Этот бит доступен только во время высоковольтного программирования. Заводское значение SPIEN=0 разрешает SPI. |
||
6 |
WDTON |
1 |
Определяет способ запуска WDR. Заводское значение WDR=1 запрещает работу сторожевого таймера сразу после запуска микроконтроллера. |
||
7 |
RSTDISBL |
1 |
Разрешает/запрещает функционирование линии RESET. Заводское значение RSTDISBL=1 подключает линию RESET к выводу 6 порта C. |
Конфигурационные ячейки AVR имеют одну важную особенность. Запрограммированным FUSE-битам соответствует значение лог.0 вместо привычного в подобных случаях состояния лог.1. Так, например, EESAVE=0 означает активизацию бита защиты EEPROM во время стирания кристалла, WDR=0 – запуск сторожевого таймера сразу после запуска устройства и т.д.
Существуют некоторые FUSE-биты, которые недоступны при программировании через SPI, JTAG или debugWire. Полный же доступ к ячейкам конфигурации может быть получен только во время высоковольтного программирования.
Перейти к следующей части: Ячейки защиты
Комментарии (0) | Я собрал (0) | Подписаться
Для добавления Вашей сборки необходима регистрация