Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств
434 Микроконтроллеры AVR от азов программирования... Детектор фронтов генерирует один импульс clk.j.j/clkj.0 для каждого обнаруженного положительного (при CSn2:0 = 7) или отрицательного (при CSn2:0 = 6) фронта. Схема синхронизации и детектор фронтов вводят задержку в 2,5 к 3,5 тактов системного генератора между сигналом, поступающим на вход Т1/Т0, и результирующим сигналом, поступающим на счетчик. Сигнал на входе Т1/Т0 должен изменяться таким образом, чтобы между двумя изменениями был стабильный промежуток в течение, по крайней мере, одного периода тактовой частоты системного генератора. Более частое изменение может привести к генерации ложного тактового импульса для таймера/счетчика. Для того, чтобы гарантировать правильность выборки, каждая поло вина периода внешнего тактового сигнала должна быть длиннее, чем один цикл тактовой частоты системного генератора. Для внешнего так тового сигнала нужно гарантировать, что его частота будет в два раза меньше частоты тактового сигнала системы (f < f/2) при рабочем цикле 50/50 %. Так как детектор фронтов использует выборку по времени, максималь ная частота внешнего тактового сигнала, который еще можно обнару жить, равна половине частоты выборки (по теореме Найквеста). Однако из-за нестабильности частоты системного генератора и разброса пара метров навесных элементов тактового генератора (пьезоэлектрический резонатор, кварцевый резонатор и конденсаторы) рекомендуется, чтобы максимальная частота внешнего источника тактового не превышала зна чения f clkI/o /2,5. clk T1 clk TO Рис. 6.28. Предварительный делитель таймера/счетчика 0 и таймера/счетчика 7
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==