Як тактіровать AVR

  1. Тактирование від внутрішнього RC-генератора
  2. Тактирование від зовнішнього кварцу
  3. Тактирование від зовнішнього генератора
  4. Тактирование від RC-ланцюга

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

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

Які можна навести приклади подібних коливань? Це можуть бути годинник з зозулею, маятник, гойдалки

Це можуть бути годинник з зозулею, маятник, гойдалки

і навіть кола на воді від камінчика, який ми кинули в воду:

і навіть кола на воді від камінчика, який ми кинули в воду:

Більш докладно про частоту і період можна прочитати в статті Електричні сигнали і їх види .

Так, тепер ближче до справи. Що ж таке тактова частота?

Будь-яка операція МК або його мегакруто брата-мікропроцесора складається з окремих елементарних дій, тобто тактів.

Виходить, тактова частота - це скільки тактів в секунду може виконати наш МК або процесор. Звідси напрошується висновок, чим більше тактова частота, тим більше кількість операцій за секунду може зробити МК або мікропроцесор.

У МК AVR тактова частота в основному вимірюється в мегагерцах. Як пам'ятаєте, приставка "Мега" означає один мільйон. Якщо у нашого МК тактова частота 8 мегагерц, то це означає, що він може виконувати 8 000 000 тактів в секунду, або, грубо кажучи, близько 8 000 000 різних операцій в секунду ;-). Нехай вас не лякає це число, тому що ваші настільні комп'ютери, телефони та планшети вже працюють на частоті в кілька гігагерца. Гіга - це вже мільярд! Наприклад, якщо частота процесора вашого компа 2 ГГц, це означає, що він може зробити 2 мільярди операцій в секунду). Мало? Як виявилося на практиці, вже стає мало)).

Повернемося до наших баранів), а саме, до тактовій частоті. Припустимо, ми маємо МК Tiny 2313, сконфігурованих на роботу 8 мегагерц і який може виконувати при цьому 8 мільйонів тактів в секунду. Кожна операція процесора складається з тактів. А коли процесор виконує нашу програму, записану в Flash пам'ять, він теж робить певні операції які вказані в програмі. Гранична частота МК Tiny 2313, як каже нам Datasheet, досить висока і становить аж цілих 20 МГц! Це досить багато за мірками МК

Правда, це тільки із застосуванням зовнішнього кварцового резонатора .

Кварцовий резонатор, званий часто просто кварц, може виглядати по-різному:

Кварцовий резонатор, званий часто просто кварц, може виглядати по-різному:

На схемах він позначається так:

На схемах він позначається так:

На кварці часто вказана частота, на якій він працює. Нижче на фото ми бачимо кварц, який працює на частоті 8 мегагерц (8.000MHz)

000MHz)

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

Є один нюанс, люб'язно наданий нам виробниками мікроконтролерів. Якщо нам потрібно, щоб програма виконувалася повільніше у вісім разів, ми можемо цього досягти навіть не переписуючи програму і не виставляючи затримки по новій, тобто в 8 разів довше. Нам досить зменшити частоту МК у вісім разів і програма буде для нас сповільнюватися внаслідок увосьмеро. Забігаючи вперед, скажу, що зробити це ми можемо дуже легко, виставивши всього одну галочку при програмуванні фьюз-бітів, в бите CKDIV 8. Також легко ми можемо скасувати всі наші зміни.

Цей спосіб ми використовували при прошивці МК в минулому статті.

Існують 4 варіанти, які застосовуються для тактирования МК:

- тактирование від внутрішнього RC-генератора

- тактирование від зовнішнього кварцу

- тактирование від зовнішнього генератора

- тактирование від RC-ланцюжка

Тактирование від внутрішнього RC-генератора

На тактирование від внутрішнього RC генератора МК налаштований відразу з заводу і не вимагає зовнішніх деталей. Це означає, що за допомогою МК, харчування +5 Вольт і одного світлодіода з резистором, ми вже можемо змусити наш МК працювати і виконувати програму без всяких складних налаштувань та додаткових деталей, задавши швидкість програмно, шляхом виставлення затримки "Delay". Майте на увазі, що вбудований RC-генератор може працювати тільки на чотирьох частотах: 1, 2, 4 або 8 мегагерц, тому якщо вам потрібно якась ексклюзивна частота, типу 1 638 000 герц, то такий спосіб не прокотить.

Тактирование від зовнішнього кварцу

Тактирование від зовнішнього кварцу трішки складніше. Як же нам підключити зовнішній кварц? Для початку нам треба знайти цоколевку МК, яку ми збираємося тактіровать від зовнішнього кварцу. Нехай у нашому прикладі це буде Тiny 2313. Щоб підключити зовнішній кварц, досить знайти ніжки мікросхеми з назвою "XTAL1" і "XTAL2".

Потім під'єднати кварц ось за такою схемою:

Потім при прошивці треба правильно виставити фьюз. Про них ми з вами поговоримо в наступних статтях.

На реальних платах можна побачити приблизно ось такі схеми розташування елементів з тактуванням від кварцу. Тут зображений МК AVR в корпусі TQFP , Конденсатори в SMD виконанні, швидше за все в корпусі 0805, і кварц.

Тут зображений МК AVR в   корпусі TQFP   , Конденсатори в   SMD   виконанні, швидше за все в корпусі 0805, і кварц

А тут зображений МК в корпусі DIP , Два керамічних конденсатора, так звані "жовті крапельки", і кварц.

Як видно на схемі підключення кварцу до МК, номінал потрібних нам конденсаторів повинен складати 15-22 пікофарад. Розшифрувати номінал таких конденсаторів, можна за допомогою цього малюнка:

Тактирование від зовнішнього генератора

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

Тактирование від RC-ланцюга

Тактирование від RC-ланцюжка здійснюється ось за такою схемою:

Тут ми беремо конденсатор ємністю не менше 22 пФ, а резистор від 10 Ом і до 100 кіло. За простою формулою можна з легкістю розрахувати частоту, на якій буде тактіроваться наш МК:

де

F - частота, Гц.

R - опір резистора, Ом.

С - ємність, Фарад.

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

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

Отже, як ми пам'ятаємо з попередньої статті, деякі ніжки мають подвійне призначення, і крім того, що можуть використовуватися як порти введення-виведення, також використовуються для забезпечення розширення функцій МК. Дійсно, якщо МК налаштований для роботи від внутрішнього RC-генератора, вам достатньо подати на нього харчування +5 Вольт і землю, і мікроконтролер вмикається і починає виконувати програму. Але якщо ви Випаяв мікроконтролер з будь-якого пристрою і він повинен був у ньому тактіроваться від кварцу, або помилково виставляючи біти конфігурації, ви виставили тактирование від кварцу, МК перестане у вас бути видно в програмі оболонці, і не зможе виконувати програму, навіть якщо ви подасте на нього +5 Вольт і землю.

Що ж робити в такому випадку? В першу чергу не панікувати) і зібрати схему з тактуванням від кварцу, і тоді ми зробимо дивись наш МК, який раптом може бути переставати у вас визначатися оболонкою програматора і працювати в схемі, якщо ви помилково перекладете МК в режим тактирования від кварцу, шляхом виставлення визначених фьюз. Про це ми як-небудь ще поговоримо ;-)

Та й взагалі, що означає термін "частота"?
Які можна навести приклади подібних коливань?
Мало?
Як же нам підключити зовнішній кварц?
Що ж робити в такому випадку?
© 2008 — 2012 offroad.net.ua . All rights reserved. by nucleart.net 2008