Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 5. Подготовка к программированию МКАVR 1 13 Рис. 5.9. Конфигурационные ячейки ATmega8535 Кратко охарактеризуем назначение конфигурационных ячеек, показанных на иллю страциях. Будем для начала ориентироваться на рис . 5 . 7, где показан ATtiny23 1 3 , а в конце дополним описанием тех ячеек, которые имеются в других «наших» моделях. Группа Fuse Low обычно начинается с одной из самых востребованных подгрупп fusе-битов: ячеек CKSEL, задающих режим тактирования . В «наших» контролле рах их по четыре штуки: от CKSELO до CKSELЗ . Для краткости их записывают в виде обычного двоичного числа, которое обозначается CKSELЗ : O (т. е . : CKSELЗ - старший разряд, а CKSELO - младший). Для ATtiny23 1 3 , как видите, их значение по умолчанию равно _ 0 1 0 0 . Если справиться с таблицей в документации (она для всех контроллеров находится в разделе System Clock and Clock Options), то мы уз наем, что такое значение задает режим работы от встроенного генератора 8 МГц. Постойте, а почему 8 МГц, когда частота тактирования по умолчанию, как мы зна ем из главы 2, всегда подгоняется под 1 МГц? Все просто - внутренний генератор А Ttiny23 1 3 может работать только в трех режимах: кроме 8 МГц, это 4 МГц (CKSELЗ : O = 0 0 1 0) и 1 28 кГц (CKSELЗ : O = 0 1 10) . А чтобы обеспечить 1 МГц, уста навливается в логический ноль («программируется» ! ) еще и специальный «фьюз» под названием CKDIV8 - старший бит в группе Fuse Low, который обеспечивает при запуске деление тактовой частоты в 8 раз . В других контроллерах, где генератор сам может настраиваться на частоту 1 МГц по умолчанию, fusе-бит CKDIV8 отсутствует (см. рис . 5 . 8-5 .9), и, очевидно, был введен только для этой цели. Хотя документация говорит, что CKDIV8 может ис пользоваться еще и в случае, если при тактировании от внешнего генератора его частота превышает допустимую для этой модификации контроллера. В остальном он не очень нужен, т. к. именно в ATtiny23 1 3 есть еще довольно гибкая система
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==