МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||||||||||||||||||||||||||||||||||||
Асинхронний режим роботиВідмінною рисою 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)
Рис. 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 і 2. Перемкнути таймер/лічильник у необхідний режим. 3. Записати нові значення в регістри TCNT2, OCR2 і TCCR2. 4. У випадку перемикання в асинхронний режим — чекати, поки прапорці 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 можна вважати |лічити| втраченим|згубленим,змарнованим,загубленим| (через нестабільність тактового сигналу під час запуску генератора).
Читайте також:
|
||||||||||||||||||||||||||||||||||||||||||
|