- •Содержание
- •1.6 Регистровый файл……………………….………………………...……13
- •Введение
- •1 Микроконтроллеры msp430
- •1.1 Архитектура msp430
- •1.2 Семейство микроконтроллеров msp430f5хх
- •1.3 Адресное пространство
- •1.4 Системный сброс
- •1.5 Прерывания
- •1.6 Регистровый файл
- •1.7 Режимы работы
- •1.8 Цифровые входы/выходы
- •1.9 Функционирование цифровых портов входов/выходов
- •1.10 Сторожевой таймер
- •1.11 Регистры сторожевого таймера
- •1.12 Таймер а
- •1.13 Режим прямого счёта
- •1.14 Модуль вывода таймера в режиме прямого счёта
- •1.15 Режим непрерывного счёта
- •1.16 Режим реверсивного счёта
- •1.17 Модуль вывода таймера в режиме непрерывного счёта
- •1.18 Модуль вывода таймера в режиме реверсивного счёта
- •1.19 Прерывания Таймера а
- •1.20 Регистры Таймера а
- •1.21 Лабораторный практикум
- •1.21.1 Лабораторная работа 1
- •1.21.2 Лабораторная работа 2
- •1.21.3 Лабораторная работа 3
- •1.21.4 Лабораторная работа 4
- •1.21.5 Лабораторная работа 5
- •2 Сигнальные контроллеры
- •2.1 Типовые алгоритмы dsp
- •2.2 Цифровой сигнальный контроллер tms320f2833x
- •2.2.1 Центральный Процессор (цп)
- •2.2.2 Шинная система
- •2.2.3 Структура памяти контроллера
- •2.2.4 Конвейер команд
- •2.2.5 Прямой доступ в память
- •2.2.6 Сброс – загрузка
- •2.2.7 Режимы работы f2833x
- •2.2.8 Модуль защиты кода
- •2.2.9 Подсистема цифрового ввода – вывода
- •2.2.10 Входной фильтр
- •2.2.11 Модуль тактового генератора
- •2.2.12 Сторожевой таймер
- •2.2.13 Подсистема прерываний f2833x
- •Регистр флагов прерываний (ifr)
- •Регистр разрешения прерываний (ier)
- •2.2.14 Таймеры cpu f2833x
- •2.2.15 Модули ePwm (шим)
- •2.3 Лабораторный практикум
- •2.3.1 Лабораторная работа 2.1
- •2.3.2 Лабораторная работа 2.2
- •2.3.3 Лабораторная работа 2.3
- •2.3.4 Лабораторная работа 2.4
- •2.3.5 Лабораторная работа 2.5
- •2.3.6 Лабораторная работа 2.6
- •2.3.7 Лабораторная работа 2.7
- •2.3.8 Лабораторная работа 2.8
- •2.3.9 Лабораторная работа 2.9
- •2.3.10 Лабораторная работа 2.10
- •2.3.11 Лабораторная работа 2.11
- •2.3.12 Лабораторная работа 2.12
- •2.3.13 Лабораторная работа 2.13
- •10/2012. Формат 60 х 84/16. Ум. Друк. Арк. .
- •84313, М. Краматорськ, вул. Шкадінова, 72.
2.3.12 Лабораторная работа 2.12
Тема: модуль Dead Band для ePWM1A и ePWM1B.
Цель: ввести время задержки фронтов в паре комплементарных сигналов PWM в ePWM1A и ePWM1B. Желаемый режим – «Active High Complementary» (AHC)) и два выходных сигнала генерируются с входного сигнала ePWM1A – в устройстве классификатора действия.
Ход работы.
Задание:
– добавьте время задержки для фронтов пары комплементарных сигналов на ePWM1A и ePWM1B;
– режим – Active High Complementary (AHC);
– входной сигнал для мертвой зоны из ePWM1A;
– сгенерируйте сигналы на ePWM1A и ePWM1B с мертвой зоной;
– используйте Lab 2.10 как основу.
Задействованные новые регистры:
– DBRED: Dead Band модуль задержка фронта;
– DBFED: Dead Band модуль задержка среза;
– DBCTL: Dead Band регистр управления.
Порядок выполнения.
Откройте Файл Проекта.
Откройте Lab7.pjt в «C/C++» вкладке Code Composer Studio .
Откройте файл «Lab7_4.c» и сохраните его как «Lab7_6.c»
Исключите файл «Lab7_5.c» из build. Используйте правое нажатие мыши в файле «Lab7_5.c», и разрешите «Exclude File(s) from Build».
Отредактируйте в файле «Lab7_6.c» функцию «cpu_timer0_isr()». Удалите все инструкции для изменения ширины импульса регистром CMPA. Мы будем использовать фиксированную ширину импульса 50% для этого упражнения, как для ePWM1A так и ePWM1B.
В функции «Setup_ePWM1()», инициализируйте ширину импульса на 50% TBPRD:
EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD / 2;
Затем, в функции «Setup_ePWM1()», удалите инструкцию инициализации регистра AQCTLB. Используйте модуль зоны нечувствительности, оба выхода ШИМ ePWM1A и ePWM1B синхронизируются от единственного входного сигнала, обычно с внутреннего сигнала ePWM1A модуля классификатора действия.
В функции «Setup_ePWM1()», добавьте строки, чтобы проинициализировать устройство зоны нечувствительности. Время задержки вычисляется в периодах TBCLK, период которого мы вычислили в начале Lab7_1 непосредственно от SYSCLKOUT, с CLKDIV установленным в 1 и HSPCLKDIV установленным на 2. В случае работы F28335ControlCard на 150MHz, TBCLK равны 13.33334 ns. В нашем примере мы установим время задержки 10 микросекунд, пример,
EPwm1Regs.DBRED = 750;
EPwm1Regs.DBFED = 750;
Чтобы проинициализировать регистр DBCTL, мы должны принять во внимание ключи S0 – S5:
– установим S4 и S5 на 0: в этом режиме мы будем использовать входной сигнал ePWM1A с устройства AQCTL, чтобы сгенерировать два выходных сигнала ePWM1A и ePWM1B;
– установим S2 = 0 и S3=1, чтобы инвертировать полярность сигнала ePWM1B относительно ePWM1A;
– установим S0 = 1 и S1 = 1, чтобы включить задержку времени для двух точек переключения.
Скомпилируйте, загрузите и протестируйте.
Теперь скомпилируйте, загрузите и протестируйте модифицированный проект. Осциллограммы сигналов ePWM1A и ePWM1B (рисунок 2.57) отображают синхронизацию от переднего фронта канала 1 (ePWM1A).
Рисунок 2.57 – Осциллограммы сигналов ePWM1A и ePWM1B с синхронизацией от переднего фронта канала 1
Если Вы запускаете развертку от среза канала 1 , Вы должны увидеть задержанный фронт, теперь на сигнале ePWM1B (рисунок 2.58).
Рисунок 2.58 – Осциллограммы сигналов ePWM1A и ePWM1B с задержкой по фронту на сигнале ePWM1B
