Реферат Курсовая Конспект
Часы реального времени - раздел Высокие технологии, АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА Часы Реального Времени Rtc (Real Time Clock) Являются ...
|
Часы реального времени RTC (Real Time Clock) являются разновидностью таймера/счетчика. Задачей RTC в схеме микроконтроллера обычно считается формирование интервалов времени равных или кратных одной секунде.
8-разрядный таймер/счетчик 2 (Timer/Counter 2) микроконтроллера АТтеда163 может работать от генератора тактовых импульсов процессорного ядра CK. Вместе с тем, программно его можно подключить и к отдельному тактовому генератору. Для этого к определенным выводам микроконтроллера (TOSC1 и TOSC2) подключается кристалл резонатора. Генератор оптимизирован на частоту кристалла 32768 Гц. При использовании делителя частоты с коэффициентом деления 215 = 32768 такой генератор позволяет сформировать секундные интервалы времени. 8-битный таймер/счетчик 2, снабженный 7- битным предделителем, и реализует в схеме микроконтроллера режим часов реального времени.
При внешнем тактировании таймер/счетчик работает в асинхронном режиме, независимо от тактовых импульсов СК.
Таймер/счетчик 2 снабжен выходом сравнения. В процессе работы содержимое регистра сравнения сравнивается с содержимым счетчика. В момент равенства устанавливается флаг запроса на прерывание OCF2 и модифицируется состояние выхода OC2 (рис. 12.4). Возможна его работа также и в режиме широтно-импульсной модуляции.
Запрос на прерывание TOV2 вырабатывается при переполнении таймера/счетчика 2.
Рис. 12.4. Таймер/счетчик 2 В работе таймера/счетчика 2 задействованы следующие регистры:
0 регистр управления TCCR2 (Timer/Counter Control Register 2);
0 регистр флагов прерывания TIFR (Timer/Counter Interrupt Flags Register);
0 регистр маски прерывания TIMSK (Timer/Counter Interrupt Mask Register),
0 регистр состояния микроконтроллера SREG (Status Register).
0 регистр счетчика TCNT2 (Timer/Counter 2)
0 регистр выхода сравнения OCR2 (Timer/Counter2 Output Compare Register)
0 асинхронный регистр состояния ASSR (Asynchronous Status Register)
Рис. 12.6. Регистры таймера/счетчика 2
В регистре маски прерываний TIMSK (Timer/Counter Interrupt Mask Register) хранятся биты разрешения прерываний:
0 бит 7 - OCIE2 (Timer/Counter2 Output Compare Match Interrupt Enable) - бит разрешения прерывания выхода сравнения.
0 бит 6 - TOIE2 (Timer/Counter2 Overflow Interrupt Enable) - бит разрешения прерывания при переполнении таймера/счетчика 2.
В регистре флагов прерываний TIFR (Timer/Counter Interrupt Flags Register) хранятся флаги запросов на прерывания:
0 бит 7 - OCF2 (Output Compare Flag 2) - флаг прерывания выхода сравнения.
0 бит 6 - TOV2 (Timer/Counter2 Overflow Flag) - флаг прерывания по переполнению таймера/счетчика 2.
8-битный регистр переменной TCNT2 (Timer/Counter 2) содержит данные счетчика, доступен для чтения и записи. Если данные записаны в регистр и выбран источник тактового сигнала, то счет продолжается с записанного значения.
Работу счетчика в асинхронном режиме обеспечивает асинхронный регистр состояния ASSR (Asynchronous Status Register).
0 Бит 3 - AS2 (Asynchronous Timer/Counter 2) - асинхронный режим таймера/счетчика 2. Когда бит AS2 сброшен таймер/счетчик тактируется внутренним генератором СК. Когда бит AS2 установлен, таймер/счетчик 2 тактируется с контакта TOSC1.
0 Бит 2 - TCN2UB (Timer/Counter 2 Update Busy) - бит модификации таймера/счетчика 2. Когда таймер/счетчик 2 работает асинхронно и регистр TCNT2 записывается, этот бит устанавливается. Когда регистр TCNT2 модифицируется из регистра временного хранения, этот бит аппаратно сбрасывается. Логический 0 в этом бите указывает, что регистр TCNT2 можно модифицировать.
0 Бит 1 - OCR2UB (Output Compare Register 2 Update Busy) - бит модернизации регистра выхода сравнения. Когда таймер/счетчик 2 работает асинхронно и регистр OCR2 записывается, этот бит устанавливается. Когда регистр OCR2 модифицируется из регистра временного хранения, бит очищается. Логический 0 в этом бите указывает, что регистр OCR2 готов к модификации.
0 Бит 0 - TCR2UB (Timer/Counter Control Register2 Update Busy) - бит модернизации регистра контроля таймера/счетчика. Когда таймер/счетчик 2 работает асинхронно и регистр TCCR2 записывается, этот бит устанавливается. Когда регистр TCCR2 модифицируется из регистра временного хранения, бит очищается. Логический 0 в этом бите указывает, что регистр TCCR2 готов к модификации.
Если запись выполняется в любой из трех регистров таймера/счетчика 2, в то время как его бит модификации установлен, модифицированное значение может быть разрушено.
Механизмы для чтения регистров TCNT2 и OCR2. При чтении TCNT2 читается фактическое значение таймера. При чтении OCR2 - читается значение во временном регистре хранения.
При переключении между асинхронным и синхронным режимами работы таймера/счетчика 2 содержимое регистров TCNT2, OCR2 и TCCR2 может быть разрушено. Безопасная процедура для переключения генератора тактовых импульсов заключается в следующем:
0 Отключить прерывания таймера/счетчика 2, очищая биты OCIE2 и TOIE2.
0 Выбрать генератор тактовых импульсов, воздействуя на бит AS2.
0 Записать новые значения в регистры TCNT2, OCR2, и TCCR2.
0 При переключении к асинхронной операции необходимо дождаться сброса TCN2UB, OCR2UB или TCR2UB.
0 Разрешить прерывания, если это необходимо.
Внешний генератор оптимизирован для использования с резонатором на частоту 32.768 кГц. Подключение резонатора к внешнему контакту TOSC1 также может привести к неправильной работе таймера/счетчика 2. Частота синхронизации процессорного ядра должна быть больше частоты внешнего генератора не менее, чем в 4 раза.
При записи в любой из регистров TCNT2, OCR2, или TCCR2 данные передаются в регистры временного хранения. Каждый из трех упомянутых регистров имеет индивидуальный регистр временного хранения.
Регистр выхода сравнения OCR2 (Timer/Counter 2 Output Compare Register) доступен для чтения и записи, хранит константу для сравнения в счетчике. Регистр TCCR2 (Timer/Counter2 Control Register) содержит отдельные биты для управления выходом сравнения:
0 Бит 7 - FOC2 (Force Output Compare) - воздействие на выход 2. Запись 1 в этот бит приводит к изменению состояния выхода сравнения OC2 относительно значения, заданного битами СОМ21 и COM20. Если биты СОМ21 и COM20 записываются в одном цикле с битом FOC2, то новые установки не будут вступать в силу до следующего сравнения. Бит может использоваться, чтобы изменить состояние выхода OC2. При этом никакое прерывание не генерируется и таймер не очищается. FOC2 бит всегда читается как нуль.
0 Бит 6 - PWM2 (Pulse Width Modulator Enable) - включение широтно- импульсного модулятора. Когда этот бит установлен включается режим PWM.
0 Бит 5, 4 - СОМ21, COM20 (Compare Output Mode, bits 1 and 0) - биты режима выхода сравнения. Биты задают режим выхода сравнения в соответствии с таблицей 12.7.
Таблица 12.7. Режимы выхода сравнения ОС2
СОМ21 | COM20 | Описание |
Таймер/счетчик1 отключен от вывода OC2 | ||
Переключение выходной линии OC2 | ||
Очистка выходной линии OC2 (на линии низкий уровень) | ||
Установка выходной линии ОС1Х (на линии высокий уровень) |
0 Бит 3 - CTC2 (Clear Timer/Counter 2 on Compare Match) - очистка таймера/счетчика 2 по совпадению. При установленном в состояние 1 бите CTC2 таймер/счетчик 2 при совпадении сбрасывается в состояние $0. Если бит СТС1 очищен, таймер/счетчик1 продолжает отсчет и не реагирует на совпадение при сравнении. Поскольку совпадение при сравнении детектируется в течение тактового цикла процессорного ядра следующего за совпадением, то поведение функции будет различно при различных коэффициентах предделителя. При коэффициенте предварительного деления 1 и установленном в регистре сравнения A состоянии C таймер будет считать в соответствии с установкой бита CTC2: . | С-1 | C | 0 | 1 | ... При установленном коэффициенте предварительного деления 8 таймер будет считать следующим образом: .. | С-1, С-1, С-1, С-1, С-1, С-1, С-1, С-1 | C, C, C, C, C, C, C, C | 0, 0, 0, 0, 0, 0, 0, 0 | 1, 1, 1, ...
0 Биты 2,1,0 - CS22, CS21, CS20 (Clock Select Bits 2,1, and 0) - биты выбора тактового сигнала. Тактовый сигнал таймера/счетчика выбирается по таблице 5.19.
Таблица 12.8. Выбор тактового сигнала таймера/счетчика 2
CS22 | CS21 | CS20 | Описание |
Timer/Counter2 остановлен | |||
РСК2 | |||
PCK2/8 | |||
PCK2 / 32 | |||
PCK2 / 64 | |||
РСК2/128 | |||
PCK2/256 | |||
РСК2/1024 |
В режиме PWM таймер/счетчик 2 может работать до переполнения при значении $FF или в реверсивном режиме (up/down).
Два режима PWM выбираются с помощью бита CTC2 в регистре TCCR2.Eoin режим PWM установлен, а бит CTC2 очищен, то таймер/счетчик 2 работает в реверсивном режиме, считая от $0 до $FF и обратно. Если бит CTC2 установлен, то таймер счетчик считает с $0 до $FF, а затем сбрасывается.
Состояние выхода определяется битами СОМ21/СОМ20. В соответствии с таблицей 12.9.
Таблица 12.9. Режимы PWM таймера/счетчика 2
СТС2 | С0М21 | COM20 | Эффект при сравнении | Частота |
Нет соединения | ||||
Нет соединения | ||||
Установка 0 при сравнении в режиме сложения; установка 1 при сравнении в режиме вычитания | fтск/510 | |||
Установка 1 при сравнении в режиме сложения; установка 0 при сравнении в режиме вычитания (инверсная PWM) | fтск/510 | |||
Нет соединения | ||||
Нет соединения | ||||
Установка 0 при сравнении, установка 1 при переполнении | fTCK /256 | |||
Установка 1 при сравнении, установка 0 при переполнении | fTCK /256 |
Когда регистр OCR1 содержит $0 или TOP, вывод ОС1А/ОС1В остается на низком уровне, соответственно установкам СОМ21/СОМ20. Это отображено в таблице 12.10.
Таблица 12.10. Состояния выходов в режиме PWM при OCR2 = $00 или $FF
СОМ21 | COM20 | OCR2 | Состояние выводов OC2 |
$00 | L | ||
$FF | Н | ||
$00 | Н | ||
$FF | L |
В реверсивном режиме PWM флаг переполнения TOV2 устанавливается, когда таймер/счетчик переходит в режим вычитания. В режиме работы с переполнением, он устанавливается при переполнении, как обычный таймер/счетчик. Прерывание TOV2 работает, если установлен бит I глобального разрешения прерывания в регистре статуса SREG.
– Конец работы –
Эта тема принадлежит разделу:
Создание фирмой Intel в году первой программируемой электронной схемы на... За лет своего бурного развития микропроцессорные системы прошли путь от специализированных комплектов интегральных...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Часы реального времени
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов