![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Режимы центрированной и фронтовой ШИМ
Каждый из каналов может работать в режиме фронтовой ШИМ или в режиме центрированной ШИМ. В режиме фронтовой ШИМ счетчик текущего кода канала работает только в режиме инкрементирования. Его код изменяется от $00 до кода в регистре периода PWPERx. Далее счетчик сбрасывается, и процесс счета повторяется с кода $00. В режиме центрированной ШИМ счетчик сначала считает от $00 до кода регистра периода, далее направление счета изменяется, и в вычитающем режиме код счетчика доходит до $00. Далее процесс повторяется. Логика работы компараторов, которые участвуют в формировании импульса, длительность которого пропорциональна коду регистра коэффициента заполнения, полностью аналогична рассмотренной ранее. В результате, при фронтовой ШИМ импульс будет сформирован в начале периода сигнала, начиная с кода счетчика $00 (рис. 4.98). При центрированной ШИМ импульс с регулируемой длительностью будет формироваться в начале и в конце периода сигнала, в то время как в середине периода на выходе будет формироваться низкий логический уровень (рис. 4.99).
Рис. 4.98. Модуль PWM в режиме фронтовой ШИМ
Рис. 4.99. Модуль PWM в режиме центрированной ШИМ
Для каждого из режимов работы (фронтовая или центрированная ШИМ) имеется возможность выбора активного уровня модулированного по длительности импульса ШИМ-сигнала. Длительность импульса с высоким логическим уровнем пропорциональна коду в регистре коэффициента заполнения PWDTYx при PPOL = 1. При PPOL = 0 аналогичным образом регулируется длительность временного интервала с низким логическим уровнем, как показано на рис. 4.98 и 4.99. При одинаковой частоте тактирования и одинаковых кодах в регистрах периода и коэффициента заполнения длительность импульса и период формируемого сигнала для фронтовой и центрированной ШИМ будут различаться. Для фронтовой ШИМ (CENTR = 0) расчет временных параметров выходного сигнала следует производить по следующим формулам: • Период ШИМ-сигнала равен TPWM = (PWPERx + 1)/fx • Длительность импульса с высоким активным уровнем при PPOLx = 1 равна TIMP = (PWDTYx + 1) / [(PWPERx + 1) & #215; fx] Коэффициент заполнения в этом же режиме равен & #947; =(PWPERx – PWDTYx)/[(PWPERx + 1) & #215; fx] & #215; 100% • Длительность импульса с высоким активным уровнем при PPOLx = 0 равна TIMP =(PWPERx – PWDTYx) / [(PWPERx + 1) & #215; fx] Коэффициент заполнения в этом же режиме равен & #947; = (PWDTYx + 1)/[(PWPERx + 1) & #215; fx] & #215; 100%, где PWPERx — десятичный эквивалент кода в регистре периода PWPERx, PWDTYx — десятичный эквивалент кода в регистре коэффициента заполнения PWDTYx, PPOLx — бит выбора полярности сигнала канала в регистре конфигурации PWPOL, CENTR — бит выбора формы сигнала в регистре управления PWCTL, fx — частота тактирования счетчика канала с номером «x». Для центрированной ШИМ (CENTR = 1) расчет временных параметров выходного сигнала следует производить по формулам: • Период ШИМ–сигнала равен TPWM = 2 & #215; (PWPERx + 1)/fx • Длительность импульса с высоким активным уровнем при PPOLx = 1 равна TIMP = 2 & #215; (PWDTYx + 1) / [(PWPERx + 1) & #215; fx] Коэффициент заполнения в этом же режиме равен & #947; = (PWPERx – PWDTYx)/[(PWPERx + 1) & #215; fx] & #215; 100% • Длительность импульса с высоким активным уровнем при PPOLx = 0 равна TIMP = 2 & #215; (PWPERx – PWDTYx) / [(PWPERx + 1) & #215; fx] Коэффициент заполнения в этом же режиме равен & #947; = [(PWDTYx + 1)/(PWPERx + 1)] & #215; 100%, Обратите внимание, что при одинаковой частоте тактирования и одинаковых кодах в регистрах периода и коэффициента заполнения длительность импульса и период формируемого сигнала центрированной ШИМ будет в два раза больше, чем при фронтовой ШИМ. А коэффициент заполнения при этом остается одинаковым, поскольку является величиной относительной.
|