ЛР6(в) > Дополнительные возможности TMS320F2812 по сравнению с TI С2000 семейством

Тема: Пример рассчета значения регистра периода и регистра-компаратора для получения сигнала на выходе таймера с заданным периодом. Дополнительные возможности процессора по сравнению с семейством С2000

Скачать Материалы к лабораторной работе по ЦСП ТМS320F2812 №6.

Теперь, в качестве примера, попробуем рассчитать значения для регистра периода и регистра-компаратора чтобы получить на выходе таймера Т1 сигнал с периодом, равным 100 мс и активным высоким уровнем, равным 75% от длительности периода. Допустим, входная тактовая частота процессора равна 30 МГц. Управляющий регистр блока формирования тактовой частоты (PLL control register, PLLCR) настроен таким образом, что входная тактовая частота умножается на 5, т.е. SYSCLCOUT соответствует 150 МГц. Делитель частоты для быстродействующих устройств (High-speed Clock Pre-scaler, HISPCP) настроен по умолчанию, т.е. частота SYSCLCOUT делится на 2. Таким образом, значение внутренней тактовой частоты событийного устройства HSPCLK равно 75МГц, что соответствует периоду 13,3 нс (смотри урок 3). Установим в регистре T1CON значение делителю входной частоты, равное 128 (биты 10, 9 и 8). Значит величина входной тактовой частоты таймера Т1 будет равна 75\128 = 585 937,5 Гц (период = 1,7 мкс). Тогда в регистр периода необходимо записать значение, равное отношению 100 мс\ 1,7 мкс = 58 824. Активный уровень сигнала на выходе T1PWM установится после совпадения значения регистра-счетчика таймера со значением регистра-компаратора и будет держаться на выходе до конца периода. Значит, в регистр-компаратор мы должны записать величину равную 58 824 \ 4 = 14706.

Процессор TMS320F2812 является дальнейшим развитием процессоров семейства С2000 фирмы Texas Instruments. Поэтому, он обладает рядом дополнительных возможностей, по сравнению с процессорами предыдущих семейств. Для применения этих расширенных функций используется дополнительный регистр управления таймерами событийного устройства EXTCONА\B. Структура этого регистра показана на рисунке 8.

 


Рисунок 8. Структура дополнительного регистра управления таймерами событийного устройства EXTCONA [1].

 

Назначение бит в этом регистре следующее:

бит 3 EVSOCE – бит разрешения формирования сигнала запуска на преобразование для внешнего АЦП. Установка этого бита в состояние логического «0» запрещает формирование управляющего сигнала (выходы EVASOCA\B находятся в высокоимпедансном состоянии). Установка этого бита в состояние логической «1» позволяет формировать управляющий сигнал. В этом случае, при наступлении соответствующего события, на выходе EVASOCA\B формируется импульсный сигнал низкого логического уровня, длительностью 32 х HSPCLK.

бит 2 QEPIE – бит разрешения использования входа CAP3\QEPI1 процессора для приема сигнала, соответствующего нулевому градусу угла поворота ротора. Если данный бит установлен в состояние логического «0», то обработка признака нулевого градуса таймером запрещена, т.е. изменения сигнала на этом входе не влияют на работу таймера. Если этот бит установлен в состояние логической «1», то обработка признака нулевого градуса разрешена. Появление фронта сигнала (перехода из низкого логического уровня к высокому) на входе CAP3\QEPI1 процессора приведет к обнулению (сбросу) таймера, работающего от сигналов квадратурного импульсного шифратора QEP.

бит 1 QEPIQUAL – бит включения распознавания признака нулевого градуса на входе CAP3\QEPI1 процессора. Если данный бит установлен в состояние логического «0», то модуль распознавания признака нулевого градуса будет отключен. Сброс таймера в нулевое состояние будет происходить при появлении фронта сигнала на входе CAP3\QEPI1 процессора. Если этот бит установлен в состояние логической «1», то сигнал сброса таймера будет формироваться при условии появления фронта сигнала на входе CAP3\QEPI1 процессора и наличия высоких логических уровней на входах CAP1\QEP1 и CAP2\QEP2.

бит 0 INDCOE – бит разрешения индивидуального управления выходами компараторов таймера. Установка данного бита в состояние логического «0» запрещает индивидуальное управление выходами компаратора таймера, т.е. оба выхода компараторов таймера разрешаются/запрещаются одновременно установкой/снятием бита 6 в регистре GPTCONA\B. Установка этого бита в состояние логической «1» разрешает индивидуальное управление выходами компаратора таймера, т.е. каждый из выходов компараторов таймера разрешается/запрещается установкой/снятием индивидуальных пар битов (12, 11 и 5, 4) в регистре GPTCONA\B.

 

Все источники запросов на прерывание событийного устройства сгруппированы в три группы. Соответственно, для каждой из групп существует свой регистр масок прерываний и регистр флагов прерываний (смотри таблицу 2). От каждой группы поступает несколько запросов на прерывание в контроллер управления прерываниями от периферии (PIE), которые, затем, попадают на соответствующую линию запроса на прерывание процессорного ядра.

 

Таблица 2. Перечень регистров флагов прерывания и регистров масок прерываний событийных устройств EVA и EVB [1].

Наименование

Адрес 

Назначение

EVAIFRA

0x742F

Регистр А флагов прерывания событийного устройства EVA

EVAIFRB

0x7430

Регистр B флагов прерывания событийного устройства EVA

EVAIFRC 

0x7431 

Регистр C флагов прерывания событийного устройства EVA

EVAIMRA 

0x742C 

Регистр А масок прерываний событийного устройства EVA

EVAIMRB

0x742D 

Регистр B масок прерываний событийного устройства EVA

EVAIMRC 

0x742E 

Регистр C масок прерываний событийного устройства EVA

EVBIFRA

0x752F

Регистр А флагов прерывания событийного устройства EVB

EVBIFRB 

0x7530 

Регистр B флагов прерывания событийного устройства EVB

EVBIFRC 

0x7531 

Регистр C флагов прерывания событийного устройства EVB

EVBIMRA 

0x752C 

Регистр А масок прерываний событийного устройства EVB

EVBIMRB

0x752D 

Регистр B масок прерываний событийного устройства EVB

EVBIMRC 

0x752E 

Регистр C масок прерываний событийного устройства EVB

 

Структура регистров флагов прерывания и регистров масок прерываний событийного устройства совпадают. Отличие – в назначении бит. В регистре флагов прерывания отображается наличие или отсутствие запроса на прерывание от данного источника, а в регистре масок прерываний – устанавливается разрешение или запрет обработки прерывания от этого источника. На рисунке 9 показана структура регистра А флагов прерывания событийного устройства EVA. Регистр доступен по чтению и записи.


Рисунок 9. Структура регистра А флагов прерывания событийного устройства EVA [1].

    Назначение бит в этом регистре следующее:

    – бит 10 T1OFINT – флаг запроса на прерывание по переполнению таймера Т1. Если этот бит установлен в состояние логической «1», то произошло переполнение таймера Т1. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 9 T1UFINT – флаг запроса на прерывание по обнулению таймера Т1. Если этот бит установлен в состояние логической «1», то произошло обнуление таймера Т1. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 8 T1CINT – флаг запроса на прерывание по совпадению значения регистра-счетчика таймера Т1 с регистром-компаратором. Если этот бит установлен в состояние логической «1», то произошло совпадение значений регистра-счетчика таймера Т1 и регистра-компаратора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 7 T1PINT – флаг запроса на прерывание по совпадению значения регистра-счетчика таймера Т1 с регистром периода. Если этот бит установлен в состояние логической «1», то произошло совпадение значений регистра-счетчика таймера Т1 и регистра периода. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 3 CMP3INT – флаг запроса на прерывание по срабатыванию компаратора CMP3 (Full Compare 3) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло совпадение значения регистра-счетчика таймера Т1 со значением соответствующего регистра (CMPR3) блока компаратора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 2 CMP2INT – флаг запроса на прерывание по срабатыванию компаратора CMP2 (Full Compare 2) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло совпадение значения регистра-счетчика таймера Т1 со значением соответствующего регистра (CMPR2) блока компаратора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 1 CMP1INT – флаг запроса на прерывание по срабатыванию компаратора CMP1 (Full Compare 1) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло совпадение значения регистра-счетчика таймера Т1 со значением соответствующего регистра (CMPR1) блока компаратора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 0 PDPINTA – флаг запроса на прерывание по срабатыванию защиты от перегрузки по силовым цепям (внешний сигнал). Если этот бит установлен в состояние логической «1», то на процессор поступил один из сигналов перегрузки, вызывающий срабатывания защиты по силовым цепям. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

 

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

Распределение бит в регистре масок прерываний EVAIMRA совпадает с битами в соответствующем регистре EVAIFRA. Запись логического «0» в один из битов регистра масок прерываний EVAIMRA запрещает обработку запроса на прерывание от данного источника, установка этого бита в состояние логической «1» – разрешает обработку запроса на прерывание.

Структура регистра В флагов прерывания событийного устройства EVA показана на рисунке 10. Регистр доступен для чтения и записи.

 


Рисунок 10. Структура регистра В флагов прерывания событийного устройства EVA [1].

Назначение бит в этом регистре следующее:

бит 3 T2OFINT – флаг запроса на прерывание по переполнению таймера Т2. Если этот бит установлен в состояние логической «1», то произошло переполнение таймера Т2. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 2 T2UFINT – флаг запроса на прерывание по обнулению таймера Т2. Если этот бит установлен в состояние логической «1», то произошло обнуление таймера Т2. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 1 T2CINT – флаг запроса на прерывание по совпадению значения регистра-счетчика таймера Т2 с регистром-компаратором. Если этот бит установлен в состояние логической «1», то произошло совпадение значений регистра-счетчика таймера Т2 и регистра-компаратора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

– бит 0 T2PINT – флаг запроса на прерывание по совпадению значения регистра-счетчика таймера Т2 с регистром периода. Если этот бит установлен в состояние логической «1», то произошло совпадение значений регистра-счетчика таймера Т2 и регистра периода. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

Распределение бит в регистре масок прерываний EVAIMRВ совпадает с битами в соответствующем регистре EVAIFRВ. Запись логического «0» в один из битов регистра масок прерываний EVAIMRВ запрещает обработку запроса на прерывание от данного источника, установка этого бита в состояние логической «1» – разрешает обработку запроса на прерывание.

    Структура регистра С флагов прерывания событийного устройства EVA показана на рисунке 11. Регистр доступен для чтения и записи.

 

 


Рисунок 11. Структура регистра С флагов прерывания событийного устройства EVA [1].

 

    Назначение бит в этом регистре следующее:

    – бит 2 CAP3FINT – флаг запроса на прерывание по срабатыванию детектора фронта сигнала CАP3 (Capture Units) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло обнаружение фронта сигнала на входе САР3 процессора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 1 CAP2FINT – флаг запроса на прерывание по срабатыванию детектора фронта сигнала CАP2 (Capture Units) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло обнаружение фронта сигнала на входе САР2 процессора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    – бит 0 CAP1FINT – флаг запроса на прерывание по срабатыванию детектора фронта сигнала CАP1 (Capture Units) событийного устройства EVA. Если этот бит установлен в состояние логической «1», то произошло обнаружение фронта сигнала на входе САР1 процессора. Запись в этот бит логической «1» сбрасывает флаг запроса на прерывание.

    Распределение бит в регистре масок прерываний EVAIMRС совпадает с битами в соответствующем регистре EVAIFRС. Запись логического «0» в один из битов регистра масок прерываний EVAIMRС запрещает обработку запроса на прерывание от данного источника, установка этого бита в состояние логической «1» – разрешает обработку запроса на прерывание.