48450 (Работа периферийных устройств), страница 4
Описание файла
Документ из архива "Работа периферийных устройств", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48450"
Текст 4 страницы из документа "48450"
Тактовый сигнал микроконтроллера СК поступает в пересчетную схему ПС, где частота сигнала делится на 8, 64., 256 и 1024. Сигналы с четырех выходов пересчетной схемы поступают в схему управления СУ1 и в таймер-счетчик Т/С1 типа Е. В схему управления СУ1 поступают также тактовый сигнал СК и сигнал из внешнего источника, принимаемый на вход Т2 (вывод порта PD7). При выполнении функции сравнения/PWM вывод порта РВ7 используется в качестве выхода OC2/PWM2 для выдачи сигнала, формируемого при совпадении сравниваемых кодов или сигнала PWM2.
Схема управления СУ1 в зависимости от комбинации состоянии разрядов CS20, CS21 и CS22 регистра управления TCCR2 передает на счетный вход базового счетчика TCNT2 одни из поступающих сигналов в соответствии с табл.8 (при X = 2).
При переполнении базового счетчика устанавливается в единичное состояние разряд TOV2 регистра TIFR и при единичном состоянии разряда TOIE2 регистра TIMSK в блок прерываний поступает запрос прерывания Т/С2 OVF.
Режим работы таймера-счетчика определяется комбинацией состояний разрядов PWM2, СОМ21 и СОМ20 регистра TCCR2. При нулевом состоянии трех названных разрядов формируется только запрос прерывания Т/С2 OVE При PWM2 = 0 и других комбинациях состояний разрядов СОМ21 и СОМ20 выполняется функция сравнения. Код, формируемый в базовом счетчике TCNT2, с помощью компаратора К сравнивается с кодом, записанным в регистре OCR2. При совпадении кодов устанавливается определенное значение сигнала на выходе ОС2 (вывод порта РВ7), переводится в единичное состояние разряд OCF2 регистра TIFR и при единичном состоянии разряда OCIE2 регистра T1MSK в блок прерываний поступает запрос прерывания Т/С2 СОМР. Значение сигнала, устанавливаемого на выходе ОС2 при совпадении кодов, определяется комбинацией состояний разрядов СОМ20 и С0М21 регистра TCCR2 в соответствии с табл.9.
Таблица 9
СОМ21 | СОМ20 | Значение сигнала |
0 1 1 | 1 0 1 | Изменяется 0 1 |
Работа базового счетчика при выполнении функции сравнения зависит от состояния разряда СТС2 регистра TCCR2. При СТС2 = 0 базовый счетчик после совпадения кодов продолжает счет до переполнения и далее выполняет счет, начиная с 0. При СТС2 = 1 базовый счетчик при совпадении кодов сбрасывается в пулевое состояние и продолжает счет, начиная с 0. При PWM2 = 1 и СОМ21 = 1 выполняется функция PWM. Базовый счетчик ведет счет на сложение до получения кода максимального числа (255), переводится в режим счета на вычитание и в этом режиме ведет счет до получения кода минимального числа (0) и далее вновь переходит в режим счета на сложении. Акт переполнения (переход от кода числа 255 к коду числа 0) в данном случае отсутствует.
Запрос прерывания Т/С2 OVF формируется при переходе от числа 0 к числу 1.
Состояние разряда СОМ20 определяет вид изменения выходного сигнала при совпадении кодов в счетчике и регистре сравнения. На изображены графиках изменения числа в счетчике TCNT2 и временные диаграммы сигнала PWM на выходе ОС2 при заданном коде числа в регистре сравнения (OCR2) при разных состояниях разряда СОМ20.
Период сигнала PWM (T) в 510 раз больше периода сигнала, поступающего на счетный вход базового счетчика.
При записи байта в регистр OCR2 (по команде с мнемокодом операции OUT) байт принимается в регистр временного хранения, из регистра второго переписывается в регистр OCR2 при появлении в базовом счетчике кода числа 255.
При этом исключается появление в сигнале PWM импульса со случайной длительностью.
а) C0M20=0 б) С0М20=1
Рис.1
Таймер-счетчик типа В в микроконтроллере типа t15 имеет имя Т/С1 (Х = 1). Исходный сигнал для работы таймера-счетчика (РСК) имеет частоту 25,6 МГц при частоте тактового сигнала микроконтроллера 1,6 МГц (1/16 РСК). В регистре управления имеется дополнительный разряд CS1 Выбор сигнала для передачи на счетный вход базового счетчика определяется комбинацией состояний разрядов CS13, CS12, CS11 и CS10 в соответствии с табл.10. Вход для приема сигнала из внешнего источника отсутствует.
Таблица 10
CS13 | CS12 | CS11 | CS10 | Сигнал |
0 | 0 | 0 | 0 | нет |
0 | 0 | 0 | 1 | РСК (16СК) |
0 | 0 | 1 | 0 | РСК/2 (8 СК) |
0 | 0 | 1 | 1 | РСК/4 (4 СК) |
0 | 1 | 0 | 0 | РСК/8 (2 СК) |
0 | 1 | 0 | 1 | РСКЛб (СК) |
0 | 1 | 1 | 0 | СК/2 |
0 | 1 | 1 | 1 | СК/4 |
1 | 0 | 0 | 0 | СК/8 |
1 | 0 | 0 | 1 | СК/16 |
1 | 0 | 1 | 0 | СК/32 |
1 | 0 | 1 | 1 | СК/64 |
1 | 1 | 0 | 0 | СК/128 |
1 | 1 | 0 | 1 | СК/256 |
1 | 1 | 1 | 0 | СК/512 |
1 | 1 | 1 | 1 | СК/1024 |
В состав таймера-счетчика входят два регистра сравнения - OCR10 и OCR11. Регистр OCR10 используются при выполнении функции сравнения. Регистр OCR11 используется совместно с регистром OCR10 при выполнении функции PWM. Базовый счетчик работает в режиме счета на сложение и ведет счет от 0 до числа, код которого записан в регистре OCR11. Сигнал 0C1/PWM выдается на вывод порта РВ1.
В микроконтроллере типа tl5 в работе таймера-счетчика Т/С1 участвуют разряды FOC1A и PSR1 регистра SFIOR (№ $2С).
В режиме сравнения при установке в единичное состояние разряда FOC1A на выходе ОС1 устанавливается требуемое значение сигнала немедленно, не дожидаясь совпадения кодов в базовом счетчике и регистре сравнения. При этом запрос прерывания Т/С1 СОМР не формируется и базовый счетчик не сбрасывается в нулевое состояние при СТС1 = 1. Разряд FOC1A сбрасывается в нулевое состояние аппаратно. В режиме PWM он не используется.
При установке в единичное состояние разряда PSR1 сбрасывается в исходное (нулевое) состояние пересчетная схема ПС. Разряд сбрасывается в нулевое состояние аппаратно.
5.3 Таймер-счетчик типа С
Таймер-счетчик типа С входит в состав периферийных устройств микроконтроллеров типа 8535 и ml63 (Т/С2) и типа ml03 (Т/СО). Он формирует запрос прерывания Т/СХ OVF при переполнении восьмиразрядного базового счетчика TCNTX, может выполнять функцию сравнения/PWM и работать в режиме счета реального времени. В структуру таймера-счетчика типа С входят все элементы таймера-счетчика типа В и, кроме того, регистр ASSR (№ $30), мультиплексор М и внутренний генератор G.
В качестве исходного сигнала для работы базового счетчика TCNT0 может использоваться тактовый сигнал микроконтроллера СК или сигнал TOSC1 из дополнительного внутреннего генератора G, к которому через выводы TOSC1 и TOSC2 подключен кварцевый резонатор КР2.
При частоте резонатора 32768 Гц ("часовой" кварц) параметры процессов в таймере-счетчике с высокой точностью привязаны к единице измерения реального времени - секунде.
При нулевом состоянии разряда AS0 регистра ASSR используется тактовый сигнал СК, при единичном состоянии - сигнал генератора G (режим реального времени). Выбранный сигнал РСКО с выхода мультиплексора М поступает в пересчетную схему ПС, в которой выполняется деление частоты на 8, 32, 64, 128, 256 и 1024.
Сигналы с шести выходов пересчетной схемы и сигнал с выхода мультиплексора поступают в схему управления СУ1. Выбор сигнала для передачи на счетный вход базового счетчика определяется комбинацией состояний разрядов CSOO, CS01 и CS02 регистра управления TCCR0 в соответствии с табл.11.
Таблица 11
CS02 | CS01 | CS00 | Сигнал |
0 | 0 | 0 | нет |
0 | 0 | 1 | РСКО |
0 | 1 | 0 | РСКО/8 |
0 | 1 | 1 | РСКО/32 |
1 | 0 | 0 | РСКО/64 |
1 | 0 | 1 | РСКО/128 |
1 | 1 | 0 | PC КО/256 |
1 | 1 | 1 | РСКО/1024 |
При работе в режиме реального времени (AS0 = 1) процесс счета в базовом счетчике привязан к сигналу TOSC1, а запись в регистры TCCR0 и OCR0 п в счетчик TCNT0 - к сигналу СК. Для исключения конфликтных ситуаций в счетчике TCNT0 в режиме реального времени используются регистры временного хранения. При записи кода (но команде OUT) байт принимается в соответствующий регистр временного хранения, при этом устанавливается в единичное состояние соответствующий разряд регистра ASSR - TCN0UB при записи в счетчик TCNTO, OCR0UB при записи в регистр OCRO, TCR0UB при записи в регистр TCCR0. Перепись байта из регистра временного хранения в основной регистр или счетчик привязана к сигналу TOSC1, при этом соответствующий разряд регистра ASSR сбрасывается в нулевое состояние. Очередная запись в регистр пли счетчик по команде OUT может производиться при нулевом состоянии соответствующего разряда регистра ASSR.
У микроконтроллеров топа 8535 и ml63 для подключения кварцевого резонатора КР2 используются выводы порта РС6 п РС7, а у микроконтроллеров типа ml03 - специальные выводы корпуса.
В таймере-счетчике типа С в микроконтроллере тина т163 (X = 2) в регистре TCCR2 имеется дополнительный разряд FOC2 и в регистре SF1OR - дополнительный разряд PSD2.
В режиме сравнения при установке в единичное состояние разряда FOC2 сигнал па выходе ОС2 принимает требуемое значение немедленно, не дожидаясь совпадения сравниваемых кодов. При этом запрос прерывания Т/С2 СОМР не формируется и базовый счетчик не сбрасывается. Сброс разряда FOC2 в нулевое состояние выполняется аппаратно. В режиме PWM разряд FOC2 не используется.
При установке в единичное состояние разряда PSR2 сбрасывается в исходное (нулевое) состояние пересчетная схема ПС.
Сброс разряда PSR2 в нулевое состояние выполняется аппаратно.
5.4 Таймер-счетчик типа D
Таймер-счетчик тина D входит в состав периферийных устройств микроконтроллеров типа 2313 и 4433, п имеет имя Т/С1. Он содержит шестнадцатиразрядный базовый счетчик и выполняет функции захвата и сравнения/PWM. .
На счетный вход шестнадцатиразрядного базового счетчика TCNT1H, L с выхода схемы управления СУ1 может поступать тактовый сигнал микроконтроллера СК, или один из четырех сигналов из пересчетной схемы, которая является общей для таймеров-счетчиков Т/СО и Т/С1, или сигнал из внешнего источника, принимаемый на вход Т1.
В качестве входа Т1 используется вывод порта PD5. Выбор сигнала определяется комбинацией состояний разрядов CS10, CS11 и CS12 регистра управления TCCR1B в соответствии с табл.8 (X = 1, Т0 = Т1). При переполнении базового счетчика устанавливается в единичное состояние разряд TOV1 регистра TIFR и при единичном состоянии разряд TOIE1 регистра TIMSK в блок прерываний поступает запрос прерывания T/Cl OVF.
Схема управления СУ2 управляет выполнением функции захвата, которая заключается в передаче кода, сформированного в базовом счетчике, через ключевую схему КС в шестнадцатиразрядный регистр захвата 1CR1H, L. При этом устанавливается в единичное состояние разряд ICF1 регистра TIFR и при единичном состоянии разряда TICIE1 регистра TIMSK в блок прерываний поступает запрос прерывания Т/С1 СAPT.