Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Асинхронний режим роботи

Відмінною рисою TCТС2 є його можливість працювати в асинхронному режимі. У цьому режимі на вхід переддільника поступає сигнал з виводу TOSC1, що дозволяє використовувати таймер/лічильник як годинник реального часу. Джерелом сигналу може бути як кварцовий резонатор частотою 32768 Гц, що підключається до виводів TOSC1 і TOSC2 мікроконтролера, так і зовнішня схема. Незважаючи на те, що тактовий генератор TCнастроєний на частоту 32768 Гц, частота сигналу від зовнішньої схеми може лежати в межах 0.. .256 кГц. При цьому частота зовнішнього сигналу повинна бути в чотири рази менше частоти тактового сигналу мікроконтролера.

Безпосередній запис у регістри TCNT2, OCR2 і TCCR2 в асинхронному режимі синхронізується з тактовим сигналом таймера/лічильника. При записі числа в кожний із зазначених регістрів воно зберігається в спеціальному тимчасовому регістрі, своєму для кожного регістра таймера/лічильника. А пересилання вмісту тимчасового регістра до робочого реєстру TCздійснюється по третьому після запису позитивному фронті сигналу на виводі TOSC1. Відповідно запис нового значення можна робити тільки після пересилання вмісту тимчасового регістра в регістр таймера/лічильника.

Для визначення моменту дійсної зміни регістрів ТСNТ2, OCR2 і TCCR2, а також для перемикання TCв синхронний режим призначено регістр ASSR, розташований за адресою $22 ($42). Формат цього регістра наведено на мал.5.16.

Asyncronous Status Register (ASSR)

Біт $22($42) R/W Поч.знач. ASSR
- - - - AS2 TCN2UB OCR2UB TCR2UB
R R R R R/W R/W R/W R/W

 

Рис. 5.16 - Регістр стану асинхронного режиму (ASSR)

 

Біти 7- 4 - Зарезервовані, читаються як «0».

Біт 3 - AS2 (Asyncronous Timer/Counter2). Перемикання режиму роботи. Якщо розряд установлений в «1», на вхід переддільника TCТС2 надходять імпульси з виводу TOSC1 мікроконтролера (асинхронний режим). У цьому режимі виводи TOSC1 і TOSC2 використовуються для підключення кварцового резонатора й, відповідно, не можуть використовуватися як контакти введення/виведення загального призначення.

Якщо розряд скинутий в «0», на вхід переддільника надходить внутрішній тактовий сигнал мікроконтролера. У цьому випадку виводи TOSC1 і TOSC2 є контактами введення/виведення загального призначення.

При зміні стану цього розряду вміст регістрів TCNT2, OCR2 і TCCR2 може бути ушкоджено.

Біт 2 - TCN2UB (Timer/Counter2 Update Busy). Стан відновлення регістра TCNT2. При записі в регістр TCNT2 цей прапорець встановлюється в «1», а після пересилання записуваного значення в цей регістр прапорець апаратно скидається в «0». Таким чином, скинутий прапорець TCN2UB означає, що регістр TCNT2 готовий для запису в нього нового значення.

Запис у регістр TCNT2 при встановленому прапорці TCN2UB може привести до пошкодження|ушкодження| колишнього вмісту регістра й до генерації переривання.

Біт 1 - OCR2UB (Output Compare Register2 Update Busy). Стан відновлення регістра OCR2. При записі в регістр OCR2 цей прапорець встановлюється в «1», а після пересилання записуваного значення в цей регістр прапорець апаратно скидається в «0». Таким чином, скинутий прапорець OCR2UB означає, що регістр OCR2 готовий для запису в нього нового значення.

Запис у регістр OCR2 при встановленому прапорці OCR2UB може привести до пошкодження колишнього вмісту регістра й до генерації переривання.

Біт 0 - TCR2UB (Timer/Counter Control Register2 Update Busy). Стан відновлення регістра TCCR2. При записі в регістр TCCR2 цей прапорець встановлюється в «I», а після пересилання записуваного значення в цей регістр прапорець апаратно скидається в «0». Таким чином, скинутий прапорець TCR2UB означає, що регістр TCCR2 готовий для запису в нього нового значення.

Запис у регістр TCCR2 при встановленому прапорці TCR2UB може привести до пошкодження колишнього вмісту регістра й до генерації переривання.

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

1. Заборонити переривання від TCТС2 (розряди TOIE2 і
OCIE2 регістри TIMSK).

2. Перемкнути таймер/лічильник у необхідний режим.

3. Записати нові значення в регістри TCNT2, OCR2 і TCCR2.

4. У випадку перемикання в асинхронний режим — чекати, поки прапорці
TCN2UB, OCR2UB і TCR2UB не будуть скинуті.

5. Дозволити переривання (якщо потрібно).

При роботі TCТС2 в асинхронному режимі установка прапорців переривань від нього проводиться синхронно з тактовим сигналом мікроконтролера. Для синхронізації потрібно 3 машинних цикли плюс один період тактового сигналу таймера/лічильника. Тому до моменту, коли мікроконтролер зможе прочитати стан лічильника, що викликав установку прапорця переривання, він зміниться щонайменше на одиницю. Зміна стану виводу ОС2 відбувається по тактовому сигналу TCй не синхронізується з тактовим сигналом мікроконтролера.

Окремо варто сказати про «взаємодію» асинхронного режиму TCТС2 з режимами зниженого енергоспоживання мікроконтролера Power Down і Power Save.

Перше зауваження стосується використання переривань від TCТС2 для «пробудження» мікроконтролера. У цьому випадку при переведенні мікроконтролера в режим Power Save після запису в регістри TCнеобхідно переконатися, що операція запису завершена (прапори TCN2UB, OCR2UB і TCR2UB скинуті). Найбільш важливо це у випадку, коли для «пробудження» мікроконтролера використовується переривання від схеми порівняння. Справа в тому, що під час запису в регістри TCNT2 і OCR2 функція порівняння виключена. Відповідно, якщо перехід у режим Power Save відбудеться до закінчення операції запису в зазначені регістри, переривання від схеми порівняння ніколи не відбудеться й мікроконтролер не зможе вийти зі сплячого режиму.

Друга особливість пов'язана із синхронізацією установки прапорців переривань від таймера/лічильника. При виході мікроконтролера з режиму Power Save по перериванню від TCпрапорець відповідного переривання встановлюється тільки через 3 машинних цикли після запуску тактового генератора мікроконтролера. Під час цих циклів процесор виконує команди, що випливають за командою SLEEP, і тільки потім переходить до обробки переривання (якщо воно дозволено).

Крім того, необхідно бути обережним при повторному переході в режим Power Save після виходу з нього по перериванню від TCТС2. Справа в тому, що в цьому випадку для запуску схеми переривань потрібен проміжок часу, рівний одному періоду сигналу на виводі TOSC1. Якщо ж проміжок часу між «пробудженням» і повторним переходом у режим Power Save буде менше зазначеного, генерації переривання й, відповідно, «пробудження» мікроконтролера не відбудеться. Для формування затримки необхідної тривалості рекомендується після «пробудження» мікроконтролера виконати запис у який-небудь із регістрів TCй дочекатися завершення цієї операції.

Після подачі напруги живлення, а також після «пробудження» мікроконтролера з режиму Power Down таймер/лічильник рекомендується використати тільки через секунду після зазначених подій. Ця затримка необхідна для запуску тактового генератора таймера/лічильника. Відповідно при виході з режиму Power Down вміст всіх регістрів TCТС2 можна вважати |лічити| втраченим|згубленим,змарнованим,загубленим| (через нестабільність тактового сигналу під час запуску генератора).

 

 


Читайте також:

  1. I. Аналіз контрольної роботи.
  2. I. ОСНОВНІ ЕТАПИ ВИКОНАННЯ КУРСОВОЇ РОБОТИ
  3. II. Вимоги безпеки перед початком роботи
  4. II. Вимоги безпеки праці перед початком роботи
  5. II. СТРУКТУРА ТА ОБСЯГ КУРСОВОЇ РОБОТИ
  6. II.ТЕОРЕТИЧНІ ПИТАННЯ КУРСОВОЇ РОБОТИ
  7. III ОФОРМЛЕННЯ І ЗАХИСТ РОБОТИ
  8. III. Вимоги безпеки під час виконання роботи
  9. III. Вимоги безпеки під час виконання роботи
  10. III. Вимоги безпеки під час виконання роботи
  11. III. ПИТАННЯ ДО ВИКОНАННЯ КОНТРОЛЬНОЇ РОБОТИ
  12. III. ПОРЯДОК ПРОВЕДЕННЯ РОЗРАХУНКІВ КУРСОВОЇ РОБОТИ




Переглядів: 1053

<== попередня сторінка | наступна сторінка ==>
Режим ШІМ | Сторожовий таймер

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.018 сек.