Конфигурационные ячейки

Конфигурационные ячейки

Конфигурационные ячейки (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=1 разрешает 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. Полный же доступ к ячейкам конфигурации может быть получен только во время высоковольтного программирования.

Перейти к следующей части:


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 3 + 1

Добавить изображение

Последние статьи