
- •Цифрові пристрої, ч. 2
- •1. Компоненти мікропроцесорної техніки
- •2. Структура мпс
- •3 Архітектура ядра мк avr
- •3.1 Склад і принцип дії мк
- •3.2 Конвеєр команд
- •3.4 Формат команд і способи адресації
- •3.5 Пам'ять програм (Flash)
- •3.6 Регістр стану
- •3.7 Регістровий файл
- •4 Система команд мк avr
- •4.5 Стекова адресація
- •5 Eeprom
- •6. Напівпровідникові запам'ятовувальні пристрої
- •5.1. Загальні відомості
- •5.2. Класифікація зп
- •5.2. Структура запам’ятовувальних пристроїв
- •5.2. Оперативні запам’ятовувальні пристрої
- •7. Таймери-лічильники
- •7.1. Загальні відомості
- •7.3. Селектор синхроімпульсів
- •7.4. Блоки лічильників
- •Так само здійснюється керування також виводами ос1в і ос0. Докладніше застосування режимів виводів сигналів збігу обговорюються під час розгляду режимів т/л.
- •Pfcp: Phase and Frequency Correct pwm – шім із симетрією по фазі і періоду.
- •Де якщо використовується внутрішнє джерело синхросигналу (Kn – коефіцієнт поділу передподільника частоти).
- •Fast pwm – швидкодійна шім (б)
- •7.9. Переривання від таймерів-лічильників
- •Прапорів переривань (б) та приклад (в)
- •8. Аналогові компаратори
- •8.1. Загальні відомості
- •8.2. Детектори рівня
- •8.3. Підсилювачі-обмежувачі
- •8.4. Аналоговий компаратор з позитивним зворотним зв’язком
- •8.5. Інтегральний аналоговий компаратор у складі мк avr
- •8.6. Модуль аналогового компаратора
Так само здійснюється керування також виводами ос1в і ос0. Докладніше застосування режимів виводів сигналів збігу обговорюються під час розгляду режимів т/л.
7.7. Блок захоплення
Вимірювання у цифровий спосіб потребують зняття показів таймера-лічильника в деяких часових позначках, наприклад, між початком і кінцем півперіоду вхідного сигналу, і наступного підрахунку параметрів, наприклад, частоти цього сигналу. Блок захоплення (рис. 8,а) якраз і призначений для збереження в певні моменти часу стану лічильника Т/Л1 у регістрі захоплення ICR1, формат якого наведено на рис. 8,б. Крім того, як уже зазначалося, у певних режимах цей регістр може використовуватися також для того, щоб задати максимальний код лічильника ТОР.
Рис. 8. Блок захоплення (а) та формат РВВ захоплення (б)
Вхідний сигнал, який визначає моменти захоплення коду Т/Л1 до регістра ICR1, може надходити від зовнішнього виводу МК ІСР1 (Input Capture pin – вивід входу захоплення), якщо вивід порту РЕ.0 сконфігуровано як вхід. Альтернативним варіантом є сигнал з виходу аналогового компаратора (АК) АСО (Analog Comparator Output). Перемикання вхідного сигналу здійснюється мультиплексором, на адресний вхід якого надходить біт АСІС (Analog Comparator Input Capture – вхід захоплення АК) з РВВ ACSR (Analog Comparator Control and Status Register – регістр стану і керування АК). При АСІС = 0 АК відключений від блоку захоплення, вхід якого з'єднується із зовнішнім виводом, а при АСІС = 1, навпаки, зовнішній вивід виконує стандартну функцію порту і на вхід блоку надходить сигнал АСО з виходу АК.
Як із зовнішнього виводу ІСР1, так і з виходу АК АСО вхідний сигнал захоплення має бути прямокутним імпульсом. Його активний фронт, що визначає момент запису коду з Т/Л1 до регістра ICR1, формується в детекторі фронтів і задається бітом ICES1 з РВВ TCCR1B (див. табл. 7.2): імпульс запису вибирається за негативним перепадом напруги, якщо ICES1 = 0, і за позитивним перепадом, якщо ICES1 = 1. Одночасно встановлюється прапор ICF1 запиту на переривання, який сигналізує, що дані записано до регістра захоплення ICR1.
Інший біт ICNC1 з РВВ TCCR1B (див. табл. 7.2) керує схемою пригнічення завад. Якщо цей біт скинуто, то за умовчанням пригнічувач вимкнено, і захоплення відбувається першим імпульсом з детектора фронтів, що відповідає активному перепаду вхідного сигналу захоплення. Але внаслідок дії завад можливі сплески сигналу, зокрема деренчання фронтів, що може спричинити виникнення паразитних коротких імпульсів у детекторі фронтів. Встановленням біта ICNC1 вмикається схема пригнічення завад на основі простої цифрової фільтрації: з появою активного фронту робляться вибірки з частотою синхроімпульсів clk і, якщо протягом чотирьох тактів усі вибірки підтверджують вибраний активний рівень (лог. 0 або 1), захоплення виконується, інакше короткочасні завади ігноруються. Слід враховувати, що детектор фронтів разом із синхронізатором вносить затримку 2,5 … 3 такти, а за ввімкненого пригнічувача завад затримка збільшується ще на 4 такти.
Обмін інформацією між шиною даних з 16-розрядним регістром захоплення ICR1 здійснюється за допомогою тимчасового регістра ТЕМР у складі Т/Л1 і порядок обміну має бути таким самим, як описано в п. 7.4.
7.8. Режими таймерів-лічильників
Таймери-лічильники мають декілька різновидів режимів роботи, які задаються регістрами керування (див. табл. 7.2). Для Т/Л0 режими встановлюються бітами WGM0[1:0] регістра TCCR0 (табл. 7.3), а для Т/Л1 – бітами WGM1[3:0] регістрів TCCR1В, TCCR1А (табл. 7.4). Розглянемо типові режими роботи таймерів-лічильників.
а) Режим Normal – підсумовувальний лічильник (WGM0[1:0] = 0b00 = 0, WGM1[3:0] = 0b0000 = 0). У цьому режимі кожний Т/Л є звичайний підсумовувальний лічильник, тобто працює з інкрементом. З надходженням вхідних синхроімпульсів clkT0, clkT1 його вихідний код N (рис. 9) зростає від BOTTOM = 0 до максимально можливого значення МАХ = M – 1 (МАХ = $FF – для Т/Л0 та $FFFF – для Т/Л1, М – модуль лічби), після чого код N скидається до нуля і цикл лічби повторюється, як і в звичайного підсумовувального лічильника. Одночасно під час переходу Т/Л з МАХ до нуля генерується переривання за переповненням, яке фіксується прапором TOVn (n = 0 або 1). Якщо це переривання дозволене, прапор скидається, як тільки МК переходить до його обробки.
Таблиця 7.3 – Waveform Generation Mode: режими Т/Л0
Номер режима |
TCCR0 |
TCCR0 |
Режим Т/Л0 |
WGM01 |
WGM00 |
||
0 |
0 |
0 |
Normal – підсумовувальний лічильник |
1 |
0 |
1 |
Phase correct PWM – ШІМ із симетрією по фазі |
2 |
1 |
0 |
Clear Timer on Compare Match (CTC) – скидання Т/Л під час збігу |
3 |
1 |
1 |
Fast PWM – швидкодійна ШІМ |
Таблиця 7.4 – Waveform Generation Mode: режими Т/Л1
Номер режима |
TCCR1В |
TCCR1В |
TCCR1А |
TCCR1А |
Режим*) Т/Л1 |
TOP = = M - 1 |
WGM13 |
WGM12 |
WGM11 |
WGM10 |
|||
0 |
0 |
0 |
0 |
0 |
N, 16 біт |
$FFFF |
1 |
0 |
0 |
0 |
1 |
PCP, 8 біт |
$00FF |
2 |
0 |
0 |
1 |
0 |
PCP, 9 біт |
$01FF |
3 |
0 |
0 |
1 |
1 |
PCP, 10 біт |
$03FF |
4 |
0 |
1 |
0 |
0 |
CTC |
OCR1A |
5 |
0 |
1 |
0 |
1 |
FP, 8 біт |
$00FF |
6 |
0 |
1 |
1 |
0 |
FP, 9 біт |
$01FF |
7 |
0 |
1 |
1 |
1 |
FP, 10 біт |
$03FF |
8 |
1 |
0 |
0 |
0 |
PFCP |
ICR1 |
9 |
1 |
0 |
0 |
1 |
PFCP |
OCR1A |
10 |
1 |
0 |
1 |
0 |
PCP |
ICR1 |
11 |
1 |
0 |
1 |
1 |
PCP |
OCR1A |
12 |
1 |
1 |
0 |
0 |
CTC |
ICR1 |
13 |
1 |
1 |
0 |
1 |
– |
– |
14 |
1 |
1 |
1 |
0 |
FP |
ICR1 |
15 |
1 |
1 |
1 |
1 |
FP |
OCR1A |
*) Позначення: N: Normal – підсумовувальний лічильник;
CTC: Clear Timer on Compare Match – скидання Т/Л під час збігу;
FP: Fast PWM – швидкодійна ШІМ;
PCP: Phase correct PWM – ШІМ із симетрією по фазі;