Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С
Шрифт:
Логика работы компараторов, которые участвуют в формировании импульса, длительность которого пропорциональна коду регистра коэффициента заполнения, полностью аналогична рассмотренной ранее. В результате, при фронтовой ШИМ импульс будет сформирован в начале периода сигнала, начиная с кода счетчика $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) x fx]
Коэффициент заполнения в этом же режиме равен
=(PWPERx – PWDTYx)/[(PWPERx + 1) x fx] x 100%
• Длительность импульса с высоким активным уровнем при PPOLx = 0 равна
TIMP =(PWPERx – PWDTYx) / [(PWPERx + 1) x fx]
Коэффициент
= (PWDTYx + 1)/[(PWPERx + 1) x fx] x 100%,
где PWPERx — десятичный эквивалент кода в регистре периода PWPERx, PWDTYx — десятичный эквивалент кода в регистре коэффициента заполнения PWDTYx, PPOLx — бит выбора полярности сигнала канала в регистре конфигурации PWPOL, CENTR — бит выбора формы сигнала в регистре управления PWCTL, fx — частота тактирования счетчика канала с номером «x».
Для центрированной ШИМ (CENTR = 1) расчет временных параметров выходного сигнала следует производить по формулам:
• Период ШИМ–сигнала равен
TPWM = 2 x (PWPERx + 1)/fx
• Длительность импульса с высоким активным уровнем при PPOLx = 1 равна
TIMP = 2 x (PWDTYx + 1) / [(PWPERx + 1) x fx]
Коэффициент заполнения в этом же режиме равен
= (PWPERx – PWDTYx)/[(PWPERx + 1) x fx] x 100%
• Длительность импульса с высоким активным уровнем при PPOLx = 0 равна
TIMP = 2 x (PWPERx – PWDTYx) / [(PWPERx + 1) x fx]
Коэффициент заполнения в этом же режиме равен
= [(PWDTYx + 1)/(PWPERx + 1)] x 100%,
Обратите внимание, что при одинаковой частоте тактирования и одинаковых кодах в регистрах периода и коэффициента заполнения длительность импульса и период формируемого сигнала центрированной ШИМ будет в два раза больше, чем при фронтовой ШИМ. А коэффициент заполнения при этом остается одинаковым, поскольку является величиной относительной.
4.24.3. Система тактирования
Структурная схема системы тактирования модуля PWM представлена на рис. 4.100. Первичным генератором для тактирования счетчиков каналов модуля PWM служит импульсная последовательность E_CLOСK. На выходе программируемого делителя формируются две импульсные последовательности CLOСK_A и CLOСK_B. Причем сигнал CLOСK_A используется для тактирования каналов 0 и 1, а CLOСK_B — каналов 2 и 3. Коэффициенты деления для последовательностей CLOСK_A и CLOСK_B задаются битами PCKA[2:0] и PCKB[2:0] регистра конфигурации PWCLK. Возможные значения коэффициентов деления приведены в таблице рис. 4.101.
Рис. 4.100. Структурная схема системы тактирования модуля PWM
PCKA2 (PCKB2) | PCKA1 (PCKB1) | PCKA0 (PCKB0) | Частота CLOСK_A, CLOСK_B |
---|---|---|---|
0 | 0 | 0 | E |
0 | 0 | 1 | E + 2 |
0 | 1 | 0 | E + 4 |
0 | 1 | 1 | E + 8 |
1 | 0 | 0 | E + 16 |
1 | 0 | 1 | E + 32 |
1 | 1 | 0 | E + 64 |
1 | 1 | 1 | E + 128 |