ЛР6(б) > Принцип работы событийного устройства цифрового сигнального процессора TMS320F2812
Статьи по теме
- ЛР6(доп.) > Модуль обработки событий Event Manager процессора TMS320F2812: блок встроенных компараторов
- ЛР6(г) > Формирование сигнала типа «меандр» с изменяемой частотой на TMS320F2812
- ЛР6(в) > Дополнительные возможности TMS320F2812 по сравнению с TI С2000 семейством
- ЛР6(a) > Модуль обработки событий Event Manager процессора TMS320F2812. Базовая структура
- ЛР5 > Аналогово-цифровой преобразователь процессора TMS320F2812
Тема: Назначение устройства сравнения процессора TMS320F2812. Режимы работы таймеров событийного устройства
Теперь более подробно рассмотрим принцип работы блоков, входящих в состав событийного устройства. Центральным устройством в блоке таймера общего назначения является устройство сравнения (Compare Logic). На рисунке 2 представлена структурная схема таймера событийного устройства.
Скачать Материалы к лабораторной работе по DSP ТМS320F2812 №6.
Рисунок 2. Структурная схема таймера событийного устройства [1]
Устройство сравнения постоянно сравнивает текущее значение 16-разрядного регистра-счетчика таймера TxCNT с содержимым двух регистров – регистра-компаратора TxCMPR и регистра периода TxPR, причем для таймера Т2 может использоваться либо свой регистр периода T2PR, либо регистр периода таймера Т1 T1PR (на рисунке эта возможность изображена с помощью мультиплексора MUX). При совпадении значений регистра-компаратора и регистра-счетчика происходит изменение состояния соответствующего выходного сигнала TxPWM, устанавливается соответствующий флаг прерывания, и если данное прерывание разрешено – формируется запрос на обработку прерывания. При совпадении значений регистра периода и регистра-счетчика, таймер изменяет направление счета или сбрасывает регистр-счетчик в нулевое значение (в зависимости от выбранного режима работы). Активный уровень выходного сигнала TxPWM устанавливается соответствующими настройками в общем регистре управления таймерами GPTCONA (для EVA) или GPTCONB (для EVB).
Тактирующим сигналом для таймера может служить внутренняя тактовая частота процессора HSPCLK, внешняя тактовая частота TCLKINA\B (должна быть, как минимум, в четыре раза ниже внутренней тактовой частоты процессора) или тактовая частота, формируемая квадратурным импульсным шифратором QEP. Выбор источника тактовой частоты определяется настройками управляющего регистра таймера TxCON (бит 5 и 4). Если в качестве источника тактовой частоты выбрана внутренняя частота процессора, то ее период определяется настройками регистра-делителя частоты для быстродействующих устройств (High-speed Clock Pre-scaler, HISPCP), расположенного по адресу 0х701А области памяти данных (смотри урок 3). Каждый таймер имеет дополнительный делитель входной частоты TPS, который настраивается на восемь фиксированных значений в диапазоне от 1 до 128 (биты 10 – 8 управляющего регистра таймера TxCON). Направление счета таймера определяется выбранным режимом работы и состоянием внешнего сигнала TDIRA\B.
Дополнительной особенностью событийного устройства процессора TMS320F2812, повышающей его функциональные возможности, является наличие «теневых» (“shadow”) или буферных регистров-компараторов и регистров периода в дополнение к основным. В некоторых приложениях существует необходимость изменения значений регистра периода и/или регистра-компаратора в каждом периоде формируемого выходного сигнала. В этом случае, наличие буферных регистров позволяет записывать новое значение параметров для следующего периода до окончания текущего, т.е. исключить задержку на изменение параметров.
Любой из таймеров событийного устройства может работать в одном из четырех режимов:
- останов/удержание (Stop\Hold mode);
- непрерывный прямой счет (Continuous Up-Counting mode);
- управляемый прямой/реверсивный счет (Directional Up-\Down-Counting mode);
- непрерывный прямой/реверсивный счет (Continuous Up-\Down-Counting mode).
Выбор режима работы таймера осуществляется соответствующими установками битов 12 и 11 управляющего регистра таймера TxCON. Бит разрешения работы таймера (бит 6 регистра TxCON) разрешает/запрещает работу таймера.
В режиме останова/удержания таймер прекращает счет. Регистр-счетчик таймера, выходной сигнал устройства сравнения и дополнительный делитель входной частоты TPS не изменяют своего значения.
В режиме непрерывного прямого счета таймер увеличивает свое значение на единицу с каждым периодом входного тактового сигнала до тех пор, пока значение регистра-счетчика не совпадет со значением регистра периода. При совпадении этих значений, при поступлении следующего тактового импульса, регистр-счетчик таймера обнуляется и таймер снова начинает насчитывать входные импульсы. На рисунке 3 показан пример работы таймера в этом режиме.
Рисунок 3. Работа таймера в режиме непрерывного прямого счета [1]
Видно, что при смене значения в регистре периода (вместо 3 установили 2) потери периода тактовой частоты таймера не происходит. В этом режиме таймер игнорирует значение внешнего сигнала TDIRA\B.
В режиме управляемого прямого/реверсивного счета таймер насчитывает входные тактовые импульсы (инкрементируя или декриментируя значение регистра-счетчика) в зависимости от состояния внешнего сигнала TDIRA\B. Если сигнал TDIRA\B установлен в состояние логической «1», то регистр-счетчик увеличивает свое значение (прямой счет). Если сигнал TDIRA\B установлен в состояние логического «0», то регистр-счетчик уменьшает свое значение (реверсивный счет). В прямом направлении счета при совпадении значения регистра-счетчика таймера со значением регистра периода, регистр-счетчик обнуляется и таймер начинает счет с нулевого значения. В реверсивном направлении счета, при достижении регистром-счетчиком нулевого значения в него переписывается значение регистра периода, и таймер продолжает счет с этого значения. Работа таймера в этом режиме показана на рисунке 4. Задержка на изменение направления счета, при изменении значения внешнего управляющего сигнала TDIRA\B, составляет один период входной тактовой частоты таймера. Этот режим используется для таймеров Т2 и Т4 событийного устройства при их совместной работе с квадратурным импульсным шифратором QEP. Сигнал тактовой частоты и направления счета поступает с выхода шифратора на таймер.
Рисунок 4. Работа таймера в режиме управляемого прямого/реверсивного счета [1]
Режим непрерывного прямого/реверсного счета напоминает режим управляемого прямого/реверсного счета, за исключением того, что в этом режиме внешний сигнал TDIRA\B не влияет на направление счета. В этом режиме направление счета с прямого на реверсивное меняется в момент совпадения значения региста-счетчика со значением регистра периода. При достижении регистром-счетчиком нулевого значения, направление счета меняется с реверсивного на прямое. В этом случае, период выходного сигнала в два раза больше значения, хранящегося в регистре периода
(т.е. Т = 2*TxPR). Работа таймера в этом режиме показана на рисунке 5.
Рисунок 5. Работа таймера в режиме непрерывного прямого/реверсного счета [1]
Режим непрерывного прямого/реверсного счета используется для формирования симметричного ШИМ-сигнала.
Каждый из таймеров, входящих в состав событийного устройства, способен формировать четыре типа запросов на прерывание:
- при обнулении региста-счетчика таймера (timer underflow);
- при совпадении значения регистра-счетчика со значением регистра-компаратора (timer compare);
- при совпадении значения регистра-счетчика со значением регистра периода (timer period);
- при переполнении регистра-счетчика таймера (timer overflow).
Флаг запроса на прерывание устанавливается в момент появления следующего входного тактового импульса сразу после наступления соответствующего события.
Выбор режима работы и управление таймерами общего назначения событийного устройства осуществляется с помощью набора регистров (смотри таблицу 1).
Таблица 1. Регистры таймеров событийного устройства EVA и EVB [1].
Наименование |
Адрес |
Назначение |
GPTCONA |
0×7400 |
Общий регистр управления таймерами событийного устройства EVA |
T1CNT |
0×7401 |
Регистр-счетчик таймера Т1 |
T1CMPR |
0×7402 |
Регистр-компаратор таймера Т1 |
T1PR |
0×7403 |
Регистр периода таймера Т1 |
T1CON |
0×7404 |
Регистр управления таймера Т1 |
T2CNT |
0х7405 |
Регистр-счетчик таймера Т2 |
T2CMPR |
0×7406 |
Регистр-компаратор таймера Т2 |
T2PR |
0×7407 |
Регистр периода таймера Т2 |
T2CON |
0×7408 |
Регистр управления таймера Т2 |
EXTCONA |
0×7409 |
Дополнительный регистр управления таймерами событийного устройства EVA |
GPTCONB |
0×7500 |
Общий регистр управления таймерами событийного устройства EVB |
T3CNT |
0×7501 |
Регистр-счетчик таймера Т3 |
T3CMPR |
0×7502 |
Регистр-компаратор таймера Т3 |
T3PR |
0×7503 |
Регистр периода таймера Т3 |
T3CON |
0×7504 |
Регистр управления таймера Т3 |
T4CNT |
0х7505 |
Регистр-счетчик таймера Т4 |
T4CMPR |
0×7506 |
Регистр-компаратор таймера Т4 |
T4PR |
0×7507 |
Регистр периода таймера Т4 |
T4CON |
0×7508 |
Регистр управления таймера Т4 |
EXTCONB |
0×7509 |
Дополнительный регистр управления таймерами событийного устройства EVB |
Структура общего регистра управления таймерами событийного устройства EVA представлена на рисунке 6. Этот регистр доступен для чтения и записи. Назначение бит в этом регистре следующее:
- бит 14 T2STAT – бит статуса таймера Т2. Если этот бит установлен в состояние логического «0» – таймер Т2 находится в режиме реверсивного счета. Если этот бит установлен в состояние логической «1» – таймер Т2 находится в режиме прямого счета. Бит доступен только для чтения.
Рисунок 6. Структура общего регистра управления таймерами событийного устройства EVA [1]
- бит 13 T1STAT – бит статуса таймера Т1. Если этот бит установлен в состояние логического «0» – таймер Т1 находится в режиме реверсивного счета. Если этот бит установлен в состояние логической «1» – таймер Т1 находится в режиме прямого счета. Бит доступен только для чтения.
- бит 12 T2CTRIPE – бит разрешения отключения выхода таймера Т2 по внешнему сигналу T2CTRIP. Используется в том случае, когда разрешено применение расширенных функций событийного устройства EVA (в дополнительном регистре управления EXTCONA нулевой бит установлен в состояние логической «1»). Если этот бит установлен в состояние логического «0», то изменение внешнего сигнала T2CTRIP не приводит ни к каким последствиям. Если этот бит установлен в состояние логической «1», то появление низкого уровня сигнала на входе T2CTRIP приводит к переводу выходного сигнала таймера Т2 T2PWM в высокоимпедансное состояние и установки флага запроса на прерывание PDPINT (защита от перегрузки по силовым цепям).
- бит 11 T1CTRIPE – бит разрешения отключения выхода таймера Т1 по внешнему сигналу T1CTRIP. Используется в том случае, когда разрешено применение расширенных функций событийного устройства EVA. Если этот бит установлен в состояние логического «0», то изменение внешнего сигнала T1CTRIP не приводит ни к каким последствиям. Если этот бит установлен в состояние логической «1», то появление низкого уровня сигнала на входе T1CTRIP приводит к переводу выходного сигнала таймера Т1 T1PWM в высокоимпедансное состояние и установки флага запроса на прерывание PDPINT (перегрузка по силовым цепям).
- биты 10 и 9 T2TOADC – выбор способа запуска встроенного АЦП по сигналам от таймера Т2:
00 – запуск АЦП по сигналам от таймера Т2 не происходит;
01 – запуск АЦП при появлении флага запроса на прерывание после обнуления регистра-счетчика таймера Т2;
10 – запуск АЦП при появлении флага запроса на прерывание после совпадения значения регистра-счетчика таймера Т2 со значением регистра периода;
11 – запуск АЦП при появлении флага запроса на прерывание после совпадения значения регистра-счетчика таймера Т2 со значением регистра-компаратора.
- биты 8 и 7 T1TOADC – выбор способа запуска встроенного АЦП по сигналам от таймера Т1:
00 – запуск АЦП по сигналам от таймера Т1 не происходит;
01 – запуск АЦП при появлении флага запроса на прерывание после обнуления регистра-счетчика таймера Т1;
10 – запуск АЦП при появлении флага запроса на прерывание после совпадения значения регистра-счетчика таймера Т1 со значением регистра периода;
11 – запуск АЦП при появлении флага запроса на прерывание после совпадения значения регистра-счетчика таймера Т1 со значением регистра-компаратора.
- бит 6 TCMPOE – бит разрешения выходов компараторов таймеров Т1 и Т2. Используется в том случае, когда запрещено применение расширенных функций событийного устройства EVA (в дополнительном регистре управления EXTCONA нулевой бит установлен в состояние логического «0»). Установка в состояние логического «0» этого бита переводит в высокоимпедансное состояние выходы T1PWM\T1CMP и T2PWM\T2CMP. Установка этого бита в состояние логической «1» – нормальный режим работы.
- бит 5 T2CMPOE - бит разрешения выхода компаратора таймера Т2. Используется в том случае, когда разрешено применение расширенных функций событийного устройства EVA (в дополнительном регистре управления EXTCONA нулевой бит установлен в состояние логической «1»). Установка в состояние логического «0» этого бита переводит в высокоимпедансное состояние выход T2PWM\T2CMP. Установка этого бита в состояние логической «1» – нормальный режим работы.
- бит 4 T1CMPOE - бит разрешения выхода компаратора таймера Т1. Используется в том случае, когда разрешено применение расширенных функций событийного устройства EVA (в дополнительном регистре управления EXTCONA нулевой бит установлен в состояние логической «1»). Установка в состояние логического «0» этого бита переводит в высокоимпедансное состояние выход T1PWM\T1CMP. Установка этого бита в состояние логической «1» – нормальный режим работы.
- биты 3 и 2 T2PIN – выбор активного уровня выходного сигнала компаратора таймера Т2:
00 – принудительно низкий уровень;
01 – активный низкий уровень;
10 – активный высокий уровень;
11 – принудительно высокий уровень.
- биты 1 и 0 T1PIN – выбор активного уровня выходного сигнала компаратора таймера Т1:
00 – принудительно низкий уровень;
01 – активный низкий уровень;
10 – активный высокий уровень;
11 – принудительно высокий уровень.
Назначение бит в регистрах GPTCONB и GPTCONA полностью совпадает. 16-разрядный регистр-счетчик таймера TxCNT (доступен по записи и чтению) содержит текущее значение счетчика соответствующего таймера. 16-разрядный регистр-компаратор TxCMPR (доступен по записи и чтению) содержит значение, с которым происходит сравнение регистра-счетчика таймера. 16-разрядный регистр периода TxPR (доступен по записи и чтению) содержит значение, задающее период выходного сигнала таймера. Структура регистра управления таймера TxCON представлена на рисунке 7.
Рисунок 7. Структура регистра управления таймера TxCON [1]
Назначение бит в этом регистре следующее:
- бит 15 FREE и бит 14 SOFT – определяют режимы работы таймера. Если бит 15 установлен в состояние логического «0», то таймер работает в одном из отладочных режимов (определяется состоянием бита 14). Если бит 15 установлен в состояние логической «1», то таймер работает в нормальном режиме;
- бит 12 TMODE1 и бит 11 TMODE0 – выбор режима работы таймера:
00 – останов/удержание (Stop\Hold mode);
01 – непрерывный прямой/реверсивный счет (Continuous Up-\Down-Counting mode);
10 – непрерывный прямой счет (Continuous Up-Counting mode);
11 – управляемый прямой/реверсиный счет (Directional Up-\Down-Counting mode).
- бит 10 TPS2, бит 9 TPS1 и бит 8 TPS0 – выбор коэффициента деления входной тактовой частоты:
000 – HSPCLK\1;
001 – HSPCLK\2;
010 – HSPCLK\4;
011 – HSPCLK\8;
100 – HSPCLK\16;
101 – HSPCLK\32;
110 – HSPCLK\64;
111 – HSPCLK\128.
- бит 7 T2SWT1\T4SWT3 – бит выбора режима запуска для таймера Т2 (T2SWT1) и таймера Т4 (T4SWT3). Для таймера Т1 (регистр T1CON) и таймера Т3 (регистр T3CON) этот бит не используется, зарезервирован. Установка в состояние логического «0» этого бита говорит о том, что для запуска каждого таймера используется свой собственный бит разрешения счета TENABLE. Установка этого бита в состояние логической «1» говорит о том, что запуск таймеров Т2 и Т4 осуществляется установкой бита TENABLE таймеров Т1 и Т3 соответственно, т.е. пары таймеров Т1 и Т2, а также Т3 и Т4, запускаются одновременно.
- бит 6 TENABLE – бит разрешения работы таймера. Установка этого бита в состояние логического «0» запрещает работу таймера. Установка этого бита в состояние логической «1» разрешает работу таймера.
- бит 5 TCLKS1 и бит 4 TCLKS 0 – выбор источника тактовой частоты таймера:
00 – внутренняя тактовая частота HSPCLK;
01 – внешняя тактовая частота TCLKINA\B;
10 – зарезервировано;
11 – тактовая частота с выхода квадратурного импульсного шифратора QEP.
- бит 3 TCLD1 и бит 2 TCLD0 – выбор условия перезаписи значения в регистр-компаратор:
00 – когда значение регистра-счетчика равно 0;
01 – когда значение регистра-счетчика равно 0 или совпадает со значением регистра периода;
10 – немедленная перезапись;
11 – зарезервировано.
- бит 1 TECMPR – бит разрешения работы компаратора таймера (выполнения операции сравнения значения регистра-счетчика со значением регистра-компаратора). Установка этого бита в состояние логического «0» запрещает работу компаратора. Установка этого бита в состояние логической «1» разрешает работу компаратора.
- бит 0 SELT1PR\SELT3PR – бит выбора регистра периода для таймеров Т2 (SELT1PR) и Т4 (SELT3PR). Для таймера Т1 (регистр T1CON) и таймера Т3 (регистр T3CON) этот бит не используется, зарезервирован. Установка этого бита в состояние логического «0» говорит о том, что для каждого таймера используется свой собственный регистр периода TxPR. Установка этого бита в состояние логической «1» говорит о том, что для пары таймеров Т1 и Т2 используется один регистр периода T1PR ( соответственно – для пары таймеров Т3 и Т4 используется регистр периода T3PR).