Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Ход работы. – добавьте время задержки для фронтов пары комплементарных сигналов на ePWM1A и ePWM1B;Задание: – добавьте время задержки для фронтов пары комплементарных сигналов на 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
|