TMS320F28035. Состав периферийных устройств. Порты ввода/вывода. Менеджер прерываний

Содержание

Слайд 2

Memory Bus 64KW Flash + 2Kw OTP 4KW Boot ROM 10KW

Memory Bus

64KW Flash
+ 2Kw OTP

4KW
Boot ROM

10KW
RAM

Менеджер прерываний

ePWM 1

ePWM

6

2x12-Bit ADC

Watchdog

GPIO

Peripheral Bus

McBSP

CAN 2.0B

SCI

I2C

2 х SPI

Несколько стандартных интерфейсов
SPI, UART, CAN, I2C

Коммуникационные порты

Быстрое выполнение программы из ОЗУ или Флэш-памяти
60 MIPS по технологии акселерированной
Флеш-памяти

Состав периферийных устройств TMS320F28035

12-разрядный АЦП
12.5 MSPS (млн.выб./с)
Одновременная выборка двух сигналов

Control Peripherals

Порты управления реального времени

Применения

Управление двигателями, силовыми преобразователями, источниками питания, автоматизация технологических процессов

Ядро C28

eCAP

eQEP

Подсистема встроенной памяти

Слайд 3

Состав периферийных устройств TMS320F28035 Микроконтроллер TI F28035 может иметь до 80

Состав периферийных устройств TMS320F28035

Микроконтроллер TI F28035 может иметь до 80 выводов

в зависимости от выбранной модификации. Назначение выводов:
питание
тактирование
подключение эмулятора
ввод аналоговых сигналов
вводы/выводы общего назначения

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

Слайд 4

Менеджер событий TMS320F28035 Состав модулей, выходы, входы 6 модулей ePWM (Enhanced

Менеджер событий TMS320F28035
Состав модулей, выходы, входы

6 модулей ePWM (Enhanced Pulse-Width Modulator)

для генерации ШИМ-сигнала
1 модуль eCAP (Enhanced Capture) для обработки датчиков Холла
1 модуль eQEP (Enhanced Quadrature Encoder Pulse) для обработки квадратурных энкодеров
1 модуль ADC (Analog-to-Digital Converter) для обработки аналоговых сигналов
Модули связи: 2 x SPI (Serial Peripheral Interface), I2C (Inter-Integrated Circuit), SCI (Serial Communications Interface), LIN (Local Interconnect Network), eCAN (Controller Area Network)
1 сопроцессор CLA (Control Law Accelerator) для параллельных вычислений
3 процессорных таймера общего назначения (32-разряда)
45 GPIO (General Purpose Input-Output) – выводы общего назначения
Слайд 5

TMS320F28035 Порты ввода/вывода

TMS320F28035
Порты ввода/вывода

Слайд 6

Регистр GPAMUX1

Регистр GPAMUX1

Слайд 7

Регистр GPAMUX2

Регистр GPAMUX2

Слайд 8

Регистр GPBMUX1

Регистр GPBMUX1

Слайд 9

Регистры для настройки GPIO

Регистры для настройки GPIO

Слайд 10

Основные настройки GPIO Настройка выполняется через отдельные регистры группы «GpioCtrlRegs». Регистр

Основные настройки GPIO

Настройка выполняется через отдельные регистры группы «GpioCtrlRegs».
Регистр GPxMUX выбирает

функцию вывода путём записи значения в соответствующее битовое поле:
0 – GPIO является вводом/выводом общего назначения и управляется программой
1/2/3 – GPIO является вводом/выводом периферийного устройства и управляется этим устройством
Регистр GPxDIR выбирает направление вывода, если он сконфигурирован как GPIO (GPxMUX = 0) путём записи значения в соответствующий бит:
0 – GPIO является вводом (можно только прочитать состояние GPIO)
1 – GPIO является выводом (можно изменить состояние GPIO)
Слайд 11

Пример настройки GPIO // Сконфигурировать GPIO0...6 как выводы модуля ШИМ GpioCtrlRegs.GPAMUX1.bit.GPIO0

Пример настройки GPIO

// Сконфигурировать GPIO0...6 как выводы модуля ШИМ
GpioCtrlRegs.GPAMUX1.bit.GPIO0

= 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1;
// Сконфигурировать GPIO34 как вывод
GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0;
GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1;
Слайд 12

Способы управления выводом Управление осуществляется через отдельные регистры группы «GpioDataRegs». Регистр

Способы управления выводом

Управление осуществляется через отдельные регистры группы «GpioDataRegs».
Регистр GPxSET устанавливает

на выводе выводе высокий уровень сигнала, при записи значения «1» в соответствующий бит.
Регистр GPxCLEAR устанавливает на выводе выводе низкий уровень сигнала, при записи значения «1» в соответствующий бит.
Регистр GPxTOGGLE изменяет уровень вывода при записи значения «1» в соответствующий бит: если вывод имел высокий уровень, то запись «1» в этот регистр переведёт его в низкий уровень. И наоборот – если вывод имел низкий уровень, то запись «1» в этот регистр переведёт его в высокий уровень.
Запись числа «0» в регистры GPxSET и GPxCLEAR не имеет никакого эффекта. При чтении эти регистры всегда имеют значение «0».
Регистр GPxDAT позволяет прочитать или изменить состояние GPIO:
Чтение: 0 означает, что GPIO имеет низкий сигнал (UGPIO = 0V)
Чтение: 1 означает, что GPIO имеет высокий сигнал (UGPIO = 3,3V)
Запись 0 или 1 присваивает соответствующий сигнал выводу, но только если он сконфигурирован как ввод/вывод общего назначения и является выводом через регистр (GPxMUX = 0 и GPxDIR = 1)
Слайд 13

Пример управления выводом // Функция включения реле // Задаёт на GPIO34

Пример управления выводом

// Функция включения реле
// Задаёт на GPIO34 высокий уровень

сигнала
void relayOn (void) {
GpioDataRegs.GPBSET.bit.GPIO34 = 1;
}
// Функция выключения реле
// Задаёт на GPIO34 низкий уровень сигнала
void relayOff (void) {
GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;
}
Слайд 14

Фильтрация сигнала GPIO Все порты ввода/вывода могут быть предварительно зафильтрованы, чтобы

Фильтрация сигнала GPIO

Все порты ввода/вывода могут быть предварительно зафильтрованы, чтобы исключить

«дребезжание» сигнала
Каждая «ножка» микроконтроллера может работать как ввод/вывод общего назначения или управляться периферийным модулем
Сигнал вывода может быть синхронизирован с тактовой частотой процессора
Выводы имеют настраиваемую внутреннюю привязку
Слайд 15

Фильтрация сигнала GPIO Чтобы избежать приём ложного сигнала (дребезг или помеха)

Фильтрация сигнала GPIO

Чтобы избежать приём ложного сигнала (дребезг или помеха) можно

настроить фильтрацию сигнала на GPIO. Например, считать сигнал истинным, только если он не меняет своего уровня в течение шести тактов.
Слайд 16

Синхронизация сигнала GPIO Для вводов GPIO можно настроить синхронизацию с тактовой

Синхронизация сигнала GPIO

Для вводов GPIO можно настроить синхронизацию с тактовой частотой

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

Асинхронный приём сигнала возможен только если GPIO настроен настроены под определённую периферию

Слайд 17

TMS320F28035 Менеджер прерываний (краткий обзор)

TMS320F28035
Менеджер прерываний
(краткий обзор)

Слайд 18

Таблица периферийных прерываний

Таблица периферийных прерываний

Слайд 19

Мультиплицирование прерываний При возникновении прерывания y в группе x, в регистре

Мультиплицирование прерываний

При возникновении прерывания y в группе x, в регистре PIExIFR

возводится соответствующий флаг. Если в регистре PIExIER установлен бит, разрешающий прерывание y в группе x, то в регистре процессора IFR взводится флаг соответствующей группы y. Если в регистре процессора IER установлен бит, разрешающий прерывание y, и регистр INTM глобально разрешает прерывания, то сигнал поступает на процессор и вызывается процедура обработки прерывания.