Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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

Date: 2015-06-06; view: 452; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.004 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию