Для того щоб МК заробив, необхідно подати на ЦПУ тактові імпульси. Чим вище їх частота, тим швидше виконуються операції, а чим нижче їх частота, тим менше споживання струму. Формуванням тактових частот займається підсистема синхронізації. На її структурній схемі (Мал. 2.21) є кілька вбудованих генераторних вузлів (on-chip oscillator). Розшифровка скорочень: HF (High Frequency) – Високочастотний, LF (Low Frequency) – низькочастотний, CLK (CLocK) – тактирование.

З чотирьох верхніх частотообразующіх блоків, тільки HF-генератор використовує два висновки підключення ХТ1, ХТ2. Тим самим підкреслюється, що він розрахований на схему зі зворотним зв'язком. На Рис. 2.22 показано внутрішній устрій подібного генератора, в якому міститься инвертирующий підсилювач AJ і бу

   

Ферней логічний формувач на тригері Шмітта DDL Якщо до висновків ХТ1, ХТ2 підключити кварцовий резонатор і два конденсатори на загальний провід, то в системі виникнуть умови для автогенерації.

Замість кварцового резонатора можна поставити більш дешевий керамічний. Такі резонатори спрощують конструкцію (тому часто містять вбудовані конденсатори), швидше виходять в робочий режим, але володіють меншою стабільністю частоти генерації.

Якщо розімкнути зворотний зв'язок і залишити висновок ХТ2 вільним, то на вхід ХТ1 можна подавати зовнішній тактовий сигнал будь шпаруватості і форми (якщо особливо не обумовлено). Внутрішній формувач на тригері Шмітта DDI відновлює круті фронти імпульсів навіть з синусоїдального сигналу.

Якщо необхідна плавна перебудова тактовою частоти, то до висновку ХТ1 підключають зовнішню /? С-ланцюжок з перемінним резистором. При цьому використовується не підсилювач / * /, а другий генераторний вузол, теж знаходиться в МК.

При невисоких вимогах до стабільності тимчасових інтервалів можна перейти на внутрішній /? С-генератор. Гідність – економиться дорогий кварцовий або керамічний резонатор. Входи ХТ1, ХТ2 залишають вільними або використовують їх як додаткові цифрові лінії портів. Частота генерації задається конфігураційними бітами (грубо) і внутрішніми регістрами (точно). Встановлювати її номінал бажано якомога нижче (зазвичай близько 1 МГц), щоб забезпечити максимальну стабільність параметрів.

Висновки ХТ1, ХТ2 основного генератора в різних МК можуть позначатися по-різному: XTAL1, XTAL2, XI, Х2, XIN, XOUT, OSC1, OSC2. Головне, запам'ятати, що першим по порядку йде вхід (xxxxl, «1п»), потім вихід (хххх2, «Out»).

Управління режимами підсистеми синхронізації здійснюється через конфігураційні біти. Вони перемикають канали мультиплексора, налаштовують частоту внутрішнього /? С-генератора і т.д. Вони ж можуть дозволити / заборонити видачу сигналу CLK ^ y (Мал. 2.21) з окремої лінії порту, з частотою, у кілька разів менше тактової. Ця функція присутня не в усіх МК.

Сформований з вхідного сигналу / * osc сигнал / ^ clk спрямовується як тактового до ЦПУ і до периферії. Частота обох сигналів може бути як однакової, так і різної. В останньому випадку в гру вступають подільники та помножувачі частоти. Наприклад, при довгих паузах в роботі вигідно зменшити частоту до 32 кГц, при цьому значно знижується споживання струму. При бажанні збільшити швидкодію, можна помножити тактову частоту через систему ФАПЧ.

Канал «годин реального часу» RTC (Real Time Clock) функціонує окремо від основного тактового генератора. Інші назви його висновків – TOSC1, TOSC2. Канал RTC відсутня в дешевих і маловиводних МК. Фізично він є автономним асинхронний генератор НЧ-сигналів, з яких після поділу формуються мітки стабільного часу, наприклад,

   

секундні. Базовою частотою вузла RTC вважається 32768 Гц, як в електронному годиннику, хоча допускається його робота в діапазоні 10 … 250 кГц.

Активізується канал RTC через програмно-доступні регістри з області SFR. У момент початкової подачі живлення він вимкнений, тому висновки RTC1, RTC2 можуть використовуватися як звичайні ліній цифрових портів.

Багатообіцяючу назву «годинник реального часу» на перевірку виявляється «гарною обгорткою, але без цукерки». Щоб дізнатися точний час в «годиннику-хвилинах-секундах», програмісту доведеться неабияк потрудитися, обробляючи переривання і створюючи свій «Юліанський календар». Вважається, що простіше застосувати окрему спеціалізовану мікросхему типу DS1307, DS1337 фірми Maxim / Dallas, з регістрів якої за запитом отримують точний час і дату.

Позитивною властивістю сигналів RTC є асинхронність стосовно FClk-Це дозволяє використовувати їх для управління таймерами-лічильниками або для незалежного формування сигналів надвеликої тривалості.

Режими роботи основного каналу синхронізації

Ідеалізований МК повинен працювати в тих же самих режимах тактирования, які притаманні стандартним МК загального призначення:

• від високочастотного кварцового резонатора 1 … 33 МГц (Мал. 2.23, а);

• від среднечастотного керамічного резонатора 0.4 … 4 МГц (Мал. 2.23, б);

• від низькочастотного кварцового резонатора 10 .. Л00 кГц (Мал. 2.23, в);

• від внутрішнього ДС-генератора 1, 2, 4; 8 МГц (Мал. 2.23, г);

• від зовнішньої RC-ланцюжка 0.4 … 12 МГц (Мал. 2.23, д);

• від зовнішніх синхроімпульсів 0 … 40 МГц (Мал. 2.23, е).

Всі перераховані режими роботи задаються при програмуванні численних конфігураційних бітів. Як тут не заплутатися починаючому розробнику? То коефіцієнт множення / ділення вибирається невірний, то внутрішній /? С-генератор на вдвічі меншу частоту настроюється, то включається «не той» джерело тактового сигналу. Квінтесенцією помилок горе-експериментатора стає ситуація, коли МК після чергової «прошивки» конфігураційних бітів взагалі перестає відгукуватися і його не можна перепрограмувати, хоча п'ять хвилин тому все відмінно виходило …

Із загальних рекомендацій діюча лише одна – уважно вивчати матеріальну частину і з олівцем у руці розбиратися в хитросплетіннях таблиць даташітов. Деякі підказки щодо заповнення конфігураційних бітів для родин Atmel ATmega, Microchip PIC16/18 містяться в [2-4], [2-5 |, [2-6 |.

Нижня частота роботи МК, як правило, не обмежується, аж до нуля герц, тобто на вхід ХТ1 можна подавати постійну напругу або перепади логічних рівнів від звичайної кнопки. Проте для правильного функціонування системи ФАПЧ, яка застосовується у внутрішніх помножувачах частоти, потрібно подавати ВЧ-імпульси певних параметрів. Наприклад, для Microchip PIC 18F2455 в даташіте вказується значення Fosc = 0 … 48 МГц (без ФАПЧ) і Fosc-4 … 48 МГц (з ФАПЧ). Наявність або відсутність режиму ФАПЧ в МК можна дізнатися за ключовим словом PLL (Phase Locked Loop).

Верхня частота роботи ідеалізованого МК буде прийнята рівною 33 МГц при підключенні кварцового резонатора і 33 … 40 МГц при подачі зовнішніх тактових синхроімпульсів. Це приблизно відповідає параметрами сучасних МК і рівню існуючої технології. Невеликий нюанс. Різниця в частотах 33 і 40 МГц вказує на те, що всередині МК є помножувач з ФАПЧ (як у Microchip PIC). Якщо частоти збігаються (як в Atmel AVR), то помножувача, швидше за все, немає.

У рекламі найпродуктивніших МК фігурують дуже високі тактові частоти. Але вони дійсні тільки для ядра ЦПУ, а не для зовнішнього кварцового резонатора. Приміром, мікроконвертори сімейства Analog Devices ADuC7000 можуть від «годинного кварцу» з частотою 32768 Гц синтезувати тактовий сигнал для ЦПУ з частотою / ^ clk – 41.78 МГц, а в контролерах Analog Devices Blackfin помножувачі «розганяють» внутрішні імпульси з одиниць мегагерц до 500 … 750 МГц.

У деяких МК конфігураційними битами допускається зміна амплітуди вихідного сигналу генератора на виведенні ХТ2. При малій амплітуді знижуються паразитні ВЧ-випромінювання, що важливо для електромагнітної сумісності. При великих рівнях, званих «rail-to-rail» (0 … з'являється можливість підключення до ХТ2 одного або декількох логічних КМОП-елементів.

При роботі від акумуляторної батареї і невисоких вимогах до швидкодії вигідно застосовувати низькочастотні кварцові резонатори від електронних годинників. Справа в тому, що на частоту 32768 Гц оптимально налаштована внутрішня генераторна схема МК. Власний струм споживання цифровими вузлами в такому режимі складає всього лише десятки мікроампер.

Якщо в апаратурі вже є системний ставить генератор, то логічно використовувати його в якості хронірующего для тактирования МК. Імпульси подаються на вхід ХТ1 і далі на внутрішній тригер Шмітта. Перевага

подібного рішення полягає, по-перше, повною синхронізації системи від єдиного джерела, по-друге, у можливості вибору нестандартної частоти генерації, по-третє, у підвищеній стабільності тактових імпульсів. Останній варіант розрахований на застосування термостатированной кварцових генераторів, квантових зберігачів часу, системи супутникового і радіонавігаційної синхронізації.

Ще одна користь від режиму зовнішнього генератора проявляється при так званому «аварійному програмуванні». Мається на увазі випадок, коли МК втрачає керованість через невірно встановлених конфігураційних бітів. Рекомендується зробити для себе найпростіший генератор на логічної мікросхемі, без різниці з ДС-ланцюжком або з кварцовим резонатором на частоту 1 … 8 МГц | 2-4 |. Подавши від нього сигнал на вхід ХТ1, можна відновити програмованість МК при заздалегідь невідомих конфігураційних бітах. Зовнішні імпульси служать своєрідною «паличкою-виручалочкою», оскільки вони успішно проходять всередину мікросхеми в усіх без винятку генераторних режимах.

   
Джерело:
Рюмік С.М. 1000 і одна мікроконтроллерной схема. (Випуск 1)