Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по МК-МИА-16.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
7.24 Mб
Скачать

2.4.6 Конфигурационные биты

ATmega128 имеет три конфигурационных байта. Табл. 2.14 – 2.16 кратко описывают функционирование и расположение всех конфигурационных бит. Обратите внимание, что если конфигурационный бит запрограммирован, то при его считывании возвращается 0.

Таблица 2.14. Расширенный конфигурационный байт

Наименование бита

Разряд

Описание

Исходное значение

-

7-2

-

1

M103C

1

Режим

совместимости

с ATmega103

0 (запрограммированное)

WDTON

0

Активизация

сторожевого

таймера

1(незапрограммированное)

Таблица 2.15. Старший конфигурационный байт

Наименование бита

Разряд

Описание

Исходное значение

OCDEN

7

Включение встроенного блока отладки

1(незапрограммированное, функция встроенной отладки отключена)

JTAGEN

6

Включение JTAG-интерфейса

0(запрограммированное, JTAG включен)

SPIEN

5

Разрешение

последовательной загрузки программы и данных

0(запрограммированное,

программирование через SPI разрешено)

CKOPT

4

Настройка

генератора

1(незапрограммированное)

EESAVE

3

Запрет стирания EEPROM командой стирание кристалла

1(незапрограммированное, стирание кристалла вызывает стирание EEPROM)

BOOTSZ1

2

Выбор размера загрузочного сектора

0(запрограммированное)

BOOTSZ0

1

Выбор размера загрузочного сектора

0(запрограммированное)

BOOTRST

0

Выбор вектора сброса

1(незапрограммированное)

Примечания.

  1. Конфигурационный бит SPIEN недоступен в режиме последовательного программирования через SPI.

  2. Функционирование конфигурационного бита CKOPT зависит от установок бит CKSEL.

  3. Исходное значение бит BOOTSZ1..0 соответствует выбору максимальному размеру загрузочного сектора.

  4. Не забудьте отключить бит OCDEN перед поставкой готового изделия заказчику, независимо от того какие установки имеют биты защиты и конфигурационный бит JTAGEN. Если бит OCDEN будет запрограммирован, то некоторые части системы синхронизации микроконтроллера останутся в работе при переводе микроконтроллера в экономичные режимы командой sleep. В этом случае микроконтроллер будет потреблять повышенную мощность.

Таблица 2.16. Младший конфигурационный байт

Наименование бит

Разряд

Описание

Исходное значение

BODLEVEL

7

Порог срабатывания супервизора питания

1(незапрограммированное)

BODEN

6

Разрешение

супервизора питания

1(незапрограммированное,

супервизор отключен)

SUT1

5

Выбор времени запуска

1(незапрограммированное)

SUT0

4

Выбор времени запуска

0(запрограммированное)

CKSEL3

3

Выбор тактового

источника

0(запрограммированное)

CKSEL2

2

Выбор тактового

источника

0(запрограммированное)

CKSEL1

1

Выбор тактового

источника

0(запрограммированное)

CKSEL0

0

Выбор тактового

источника

1(незапрограммированное)(2)

Примечания.

  1. Исходные установки SUT1..0 соответствуют выбору максимальному времени старта.

  2. По умолчанию все контроллеры AVR сконфигурированы так, чтобы работать от внутреннего источника тактов. За источник тактов отвечают биты CKSEL. Выставив их правильным образом можно выбрать частоту работы контроллера, а также источник тактового сигнала (табл. 2.17).

  3. Исходные установки CKSEL3..0 соответствуют выбору внутреннего RC-генератора частотой 1 МГц.

Калибровочный байт. Внутри ATmega128 хранятся четыре различных калибровочных значений для внутреннего RC-генератора. Данные значения хранятся по адресам 0x000, 0x0001, 0x0002 и 0x0003 и соответствуют частотам генератора 1, 2, 4 и 8 МГц. В процессе сброса в регистр OSCCAL автоматически записывается значение калибровочного байта для частоты 1 МГц. Если используется другая частота, то соответствующее значение должно быть вручную записано в регистр OSCCAL