Формат регистров модуля Менеджера Событий
Регистр счетчика GP таймера (TхCNT)
15 0 |
TхCNT |
R/W - x |
Биты | Название | Описание |
15:0 | T1CNT | Мгновенное значение таймера-счетчика 1 |
Рис. 4.6. Формат регистра счетчика GP таймера.
Регистр сравнения GP таймера (TхCMPR)
T1CMPR | ||
R/W - x |
Биты | Название | Описание |
15:0 | T1CMPR | Хранимое значение сравнения таймера-счетчика 1 |
Рис. 4.7. Формат регистра сравнения GP таймера
Регистр периода GP таймера (TхPR)
T1PR | ||
R/W - x |
Биты | Название | Описание |
15:0 | T1PR | Хранимое значение периода таймера-счетчика 1 |
Рис. 4.8. Формат регистра периода GP таймера
Рис. 4.9 Регистры управления таймером (TхCON)
Рис. 4.10. Регистр А управления GP таймером (GPTCONA)
Рис. 4.11. Формат регистра А маски прерываний (EVAIMRA)
Рис. 4.12. Формат регистра B маски прерываний (EVAIMRB)
Рис. 4.13. Формат регистра C маски прерываний (EVAIMRC)
Рис. 4.14. Формат регистров флагров прерываний
Прерывания Менеджера Событий
Если от какого-либо периферийного устройства пришло прерывание, то в регистрах EVxIFRA, EVxIFRB или EVxIFRC (x=A или B) устанавливается соответствующий флаг.
Прерывания Менеджера Событий могут быть индивидуально разрешены/ запрещены с помощью маскирования прерываний в регистрах EVxIMRA, EVxIMRB или EVxIMRC. Бит, установленный в 1 разрешает (не маскирует) прерывания, сброшенный в 0 – запрещает (маскирует). Если установлены биты флага и маскирования прерывания, то в модуль PIE (Peripheral Interrupt Expansion) отправляется запрос на прерывание. Логика PIE записывает все запросы прерывания и вырабатывает прерывание CPU.
При получении от INT 1, 2, 3, 4 или 5 запроса прерывания, устанавливается соответствующий бит в регистре флага прерывания CPU (IFR). Если соответствующий бит регистра маскирования прерываний (IER) установлен и сброшен бит INTM, то CPU признает прерывание. Далее CPU завершает выполнение текущей инструкции и переходит на адрес вектора прерываний соответственно INT 1.y, 2.y, 3.y, 4.y, 5.y в таблице вектора PIE. В это время сбрасывается бит IFR и устанавливается бит INTM, запрещая очередное прерывание.
Вывод и прерывание PDP (power drive protect) предназначены для защиты внешнего силового преобразователя от перегрузок, в т.ч. от коротких замыканий. Функция PDP позволяет защитить внешние силовые устройства при системных сбоях.
Примеры использования менеджера событий.
Менеджер событий предназначен для формирования управляющих сигналов и для определения временных характеристик внешних информационных сигналов. Наличие специализированного аппаратного модуля позволяет разгрузить ЦПУ для других задач. Одно из применений TMS320F2812 - системы электропривода. Для формирования ШИМ – сигналов специальной формы (например, синусоидального) используют один из двух методов.
Первый метод предполагает вычисление функции синуса, которая входит в библиотеку «math.lib». Для этого в проект включается заголовочный файл «math.h», который позволяет обратиться к библиотеке математических функций. Но функция синуса в библиотеке «math.lib» – это функция с плавающей запятой и для её реализации на процессоре F2812, работающего с фиксированной запятой, потребуется много времени.
Второй метод основан на работе с таблицей, в которую предварительно занесены рассчитанные значения функции. Этот метод еще называют «доступ к поисковой таблице» («Lookup Table Access»). Электронные устройства контроля используют такие таблицы не только для вычисления тригонометрических функций, но и для определения параметров управления. Доступ ячейкам таблицы осуществляется быстро, всего за несколько тактов можно определить требуемое значение функции. Увеличить точность вычисления функций можно, применив аппроксимацию. Таблица может быть как одномерной (выходная величина зависит от одного параметра), так и многомерной (выходная величина - функция двух и более переменных). Чем больше число ячеек таблицы, тем точнее аппроксимация исходной функции. В ПЗУ процессора TMS320F2812 уже “зашита” таблица синуса. Таблица использует дробно-целочисленный формат с фиксированной запятой IQ, или Q. Таблица представлена в формате Q30. Это означает, что 30 младших бит представляют дробную часть числа, один – целую и старший – знак числа.