Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кофанов_ЦП, ч. 2 (КЛ_ел.варіант).docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

7.3. Селектор синхроімпульсів

Тактові імпульси clkT0, clkT1, що подаються на входи Т/Л0 і Т/Л1, формуються в блоці селектора синхроімпульсів (рис. 2,а). До складу цього блоку входить передподільник частоти системного синхросигналу clk від внутрішнього генератора (з RC-колом або з використанням зовнішніх резонаторів). Оскільки передподільник є двійковим 10-розрядним лічильником, коефіцієнт поділу частоти на його виходах сягає до 1024.

Крім того, Т/Л можуть підраховувати також зовнішні імпульси, що надходять на виводи МК Т0, Т1. У синхронізаторах здійснюється прив’язка перепадів цих імпульсів до синхросигналу clk за допомогою детекторів фронтів і для надійної роботи цієї схеми з урахуванням розкиду параметрів частота зовнішніх імпульсів має не перевищувати clk/2,5. Сформовані сигнали з передподільника частоти і від виводів МК Т0, Т1 є спільними джерелами синхроімпульсів для обох Т/Л, а вибір одного з восьми сигналів на входах кожного з них clkT0, clkT1 здійснюється мультиплексорами 8 : 1 (в асинхронних Т/Л деяких моделей МК є ще свій незалежний генератор для формування реального часу).

Рис. 2. Селектор синхроімпульсів

Таблиця 7.1 – Вибір синхросигналу (Clock Select):

біти РВВ TCCR0 та TCCR1B

CSn2

CSn1

CSn0

clkTn (n = 0, 1)

0

0

0

Т/Л зупинено

0

0

1

clk / 1

0

1

0

clk / 8

0

1

1

clk / 64

1

0

0

clk / 256

1

0

1

clk / 1024

1

1

0

Вхід Тn, негативний перепад

1

1

1

Вхід Тn, позитивний перепад

Слід враховувати, що Т/Л, як і всі модулі МК, синхронізуються системними імпульсами clk, тому момент вмикання Т/Л є невизначений відносно перепадів напруги на будь-якому виході передподільника, отже, перший період імпульсів на виході Т/Л буде довільним. Якщо це має значення, як, наприклад, під час вимірювання часових інтервалів, запобігти цьому недоліку можна скиданням передподільника до нуля сигналом PSR10 (Prescaler Reset Timer/Co-unter1 and Timer/Counter0) шляхом запису лог. 1 до однойменного біта в РВВ SFIOR (на рис. 2,б та на форматах інших РВВ затемненим позначено вільні або невикористовувані в даному випадку біти). Після скидання передподільника біт PSR10 обнуляється апаратно, що спрощує програмування. Необхідно взяти до уваги, що при цьому одночасно обнуляються синхросигнали на входах усіх Т/Л.

Трирозрядні коди CSn[2..0] (CS – Clock Select, n – номер Т/Л) для вибору синхросигналу (табл. 7.1), що надходять на адресні входи мультиплексорів, необхідно задати в РВВ даного Т/Л: відповідно TCCR0 та TCCR1B (див. рис. 1). Наприклад, для вибору синхросигналу на вході Т/Л1 clkT1 = clk/1024 необхідно записати код CS1[2..0] = 0b101 до РВВ TCCR1B (рис. 2,в).