рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Часы реального времени

Часы реального времени - раздел Высокие технологии, АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА   Часы Реального Времени 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 в году первой программируемой электронной схемы на... За лет своего бурного развития микропроцессорные системы прошли путь от специализированных комплектов интегральных...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Часы реального времени

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

АРХИТЕКТУРА МИКРОКОНТРОЛЛЕРА
  Контроллером в технике регулирования считается управляющее устройство, осуществляющее регулирующие или контролирующие функции в системе. Контроллер, реализованный на одном кристалле

Память программ
  Программа микропроцессора представляет собой последовательность команд (инструкций). Каждая инструкция имеет свой оригинальный двоичный код. Коды инструкций и хранятся в памяти прог

Масочная память
  Масочная память (maskROM) программируется с помощью фотошаблонов (масок) на стадии изготовления микроконтроллера. Т.е. контроллер с масочной памятью изготавливается с

Однократно программируемая память
  Однократно программируемая память (OTPROM - One Time Programmable ROM) no принципу построения и функционирования аналогична масочной, но она поставляется изготовителем микрок

Репрограммируемая память
  Репрограммируемая память (EPROM - Erasable PROM) аналогична OTPROM, но допускает стирание информации и повторное программирование. Стирание информации в памяти осуществляется

Память с электрическим стиранием
  Память с электрическим стиранием (EEPROM - Electrically EPROM) программируется пользователем и может многократно стираться. Стирание и повторное программирование EEPROM осуще

Флэш - память
  Флэш-память (Flash memory) относится к классу EEPROM, но использует особую технологию построения запоминающих ячеек. В отличие от EEPROM, она может стираться только целиком,

Статическая память
  Статическая память (SRAM - Static Random Access Memory) энергозависима. Она обеспечивает хранение информации только при наличии напряжения питания не менее определенной велич

Специализированные ячейки флэш-памяти
  В энергонезависимой flash-памяти микроконтроллеров могут присутствовать специализированные биты и байты, предназначенные для защиты программы пользователя и конфигурирования изделия

Основные элементы
  Каждый производитель микроконтроллеров для серии выпускаемых им изделий разрабатывает и патентует своё оригинальное процессорное ядро (MCU - Microprocessor Core Unit). Однако

Регистр инструкций
  Регистр инструкций (IR - Instruction register) - регистр, предназначенный для хранения считанной из памяти программ инструкции. Считанная из памяти программ инструкция декоди

Арифметико-логическое устройство
  Арифметико-логическое устройство (ALU - Arithmetic Logic Unit) - логическая схема, непосредственно осуществляющая преобразование одной или двух переменных в соответствии с ин

Регистры общего назначения
Регистры общего назначения предназначены для временного хранения данных в процессе вычислений. Разрядность регистров определяет разрядность вычислений и, в конечном счете, разрядность самого микрок

Регистр состояния
  Регистр состояния (Status register) предназначен для хранения отдельных признаков результата, полученного при выполнении различных арифметических и логических операций в ариф

Мнемонические обозначения
  Каждая архитектура микроконтроллера имеет собственную систему команд. Система команд микроконтроллера описывается на специальном языке символического кодирования. При этом каждая ин

Адресация данных
  Адреса операндов, задействованных в выполнении любой инструкции программы, в явном или в неявном виде должны быть указаны в коде этой инструкции. Операнды могут находиться в ячейках

Косвенная адресация
  Косвенным образом могут адресоваться ячейки памяти данных или памяти программ.   · Операции с памятью данных   Операнд содержитс

ЯЗЫК АССЕМБЛЕРА
  Язык ассемблера (assembler language) - язык программирования микропроцессорных систем, ориентированный на определенную архитектуру системы. Программа, написанная на языке асс

Выражения
  Программа на языке ассемблера состоит из отдельных строк. Строка кода не должна быть длиннее 120 символов. Ассемблер Atmel AVR не различает строчные и заглавные буквы. Люба

Операнды
  Операндами языка ассемблера могут быть:   0 Определяемые пользователем метки. Метка может располагаться перед командой/директивой и

Функции
  Функции, определенные в языке ассемблера 0 low(expression) возвращает младший байт выражения; 0 high(expression) возвращает второй байт выраж

Директивы
  Директивы ассемблера не транслируются в коды операций, они используются для размещения программы в памяти, определяют макрокоманды, инициализируют память данных и выполняют ещё целы

ТАКТОВЫЙ ГЕНЕРАТОР
  Работа процессорного ядра синхронизируется тактовым генератором. Именно период работы генератора определяет время, необходимое для выполнения элементарных операций в ядре. Простейши

Источники сброса
  Причинами (источниками) сброса могут являться различные воздействия: включение питания и кратковременные его изменения, сигналы формируемые аппаратно вне и внутри микроконтроллера,

Сторожевой таймер
  Сторожевой таймер (Watchdog) синхронизирован от отдельного внутреннего генератора на кристалле, работающего с частотой 1 МГц (при напряжении питания Vcc=5 В). Задерж

Алгоритм обработки прерываний
  Сигнал запроса на прерывание вырабатывается периферийным устройством при его готовности к обмену информацией. Сигнал может появиться в произвольный момент времени. Процессо

Вектора прерываний
  Идентификация источника прерывания в системе может выполняться как программными, так и аппаратными средствами. В первом случае, источник прерывания фиксируется установкой ф

ЭНЕРГОНЕЗАВИСИМАЯ ПАМЯТЬ ДАННЫХ
  Энергонезависимая память типа EEPROM отличается от памяти данных типа SRAM существенно большим временем чтения и записи информации. Время обращения при записи обычно составляет неск

ПОРТЫ ВВОДА-ВЫВОДА
9.1. Организация ввода/вывода   Порты ввода-вывода обеспечивают ввод и вывод данных в параллельном формате. Обычно порты ввода-вывода выполняются 8-разряд

Алгоритмы обмена данными
  Порты ввода-вывода предназначены для связи микроконтроллера с различными объектами и могут реализовывать различные алгоритмы обмена данными: 0 асинхронный программный обм

Принципы аналого-цифрового преобразования
Параллельный преобразователь   В параллельном преобразователе (рис. 10.1) входной сигнал подается сразу на множество компараторов, осуществляющих сравнение сигн

Управление аналого-цифровым преобразователем
  В состав микроконтроллеров обычно включают 8 - 16-битные многоканальные преобразователи с большим набором встроенных функций. При этом все функции преобразователя программируются и

АНАЛОГОВЫЕ КОМПАРАТОРЫ
Аналоговые компараторы осуществляют сравнение двух напряжений. Результатом сравнения является логический сигнал, фиксирующий момент равенства входных сигналов. Выход компаратора может быть использо

ТАЙМЕРЫ-СЧЕТЧИКИ
  Большинство задач управления решаются в реальном времени. При этом микроконтроллер должен в определенные моменты времени выполнять определенные действия с объектом. Типовыми задачам

Простейший 8-битный счетчик
  8-разрядный таймер/счетчик 0 (Timer/Counter0) тактируется сигналом синхронизации процессорного ядра (СК) или от встроенного предделителя (Preskaller), или от внешнего контакт

Захват, сравнение и широтно-импульсная модуляция
  16-битный таймер/счетчик Timer/Counter1 микроконтроллера ATmega163 доступен процессорному ядру для чтения и записи, он может считать импульсы синхронизации CK, импульс

Интерфейс UART
  Асинхронный последовательный интерфейс UART (Universal Asynchronous Receiver Transmitter - универсальный асинхронный приемопередатчик) обеспечивает полудуплексный режим обмен

Интерфейс SPI
  Последовательный периферийный интерфейс SPI (Serial Peripheral Interface) предложен фирмой Motorola. Он обеспечивает полный дуплексный обмен данными между двумя контроллерами

РЕЖИМЫ ЭНЕРГОСБЕРЕЖЕНИЯ
  Одним из основных показателей микроконтроллера является энергопотребление. Величина энергопотребления характеризуется напряжением питания микроконтроллера и потребляемым током.

Режим Idle
  Если биты SM1/SM0 находятся в состоянии 00, то команда SLEEP переводит микроконтроллер в режим ожидания Idle. В этом режиме его ток потребления уменьшается примерно в 2,5 раз

Режим ADC Noise Reduction
  Когда SM1/SM0 биты установлены в 01, команда SLEEP заставит микроконтроллер ввести режим шумоподавления ADC Noise Reduction. В этом режиме процессорное ядро останавливается,

Способы программирования энергонезависимой памяти
  В процессе программирования микроконтроллеров разработанная пользователем программа заносится в энергонезависимую память. При этом выполняются операции по стиранию, чтению и записи

Программно-аппаратные средства поддержки программирования
  Подготовка программ для микроконтроллера выполняется на персональном компьютере и состоит из следующих этапов: 0 создание текста программы; 0

ПРИЛОЖЕНИЯ
Приложение 1. Корпуса микроконтроллера ATmega163 Корпус DIP (Dual In Line pin Package)    

ГЛОССАРИЙ ТЕРМИНОВ И СОКРАЩЕНИЙ
  ALU Arithmetic Logic Unit Арифметико-логическое устройство   AND AND

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги