Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Регистр конфигурации PWPOL предназначен для задания активного уровня выходного сигнала каждого из четырех ШИМ-генераторов, а также для разрешения включения дополнительного делителя частоты для сигналов тактирования CLOСK_A и CLOСK_B. Формат регистра PWPOL приведен на рис. 4.103.

Рис. 4.103. Формат регистра конфигурации PWPOL


Каждому каналу поставлен в соответствие бит полярности сигнала PPOLx и бит выбора источника тактирования канала PCLKx (x — номер канала). Если бит PPOLx=1, то активный уровень ШИМ-сигнала — высокий логический (рис. 4.98). При PPOLx = 0 на выходе канала формируется ШИМ-сигнал с низким логическим уровнем на интервале T (рис. 4.98).

Если бит PCLKx равен 0, то для соответствующего канала в качестве источника тактирования назначается импульсная последовательность CLOСK_A (каналы 0 и 1) или CLOСK_B (каналы 2 и 3). При PCLKx = 0 соответствующий канал тактируется от дополнительного делителя частоты, который конфигурируется битами регистров PWSCNT0/PWSCNT1 и PWSCAL0/PWSCAL1.

Регистр разрешения работы каналов PWEN

Отдельные биты регистра конфигурации PWEN используются для активизации каналов модуля PWM. Формат регистра PWEN представлен на рис. 4.104. Если бит PWENx установлен в 1, то канал с номером «x» генерирует импульсную последовательность на соответствующем выводе порта PORT P. При PWENx = 0 канал находится в неактивном режиме, соответствующая линия порта PORT P может использоваться как линия ввода/вывода общего назначения.

Рис. 4.104. Формат регистра разрешения работы каналов PWEN


Регистр дополнительного делителя PWPRES

Этот регистр используется только в специальных режимах работы МК. Его формат представлен на рис. 4.105. Более подробно мы не будем его рассматривать.

Рис. 4.105. Формат регистра дополнительного делителя PWPRES


Прежде, чем приступить к рассмотрению двух следующих регистров, возвратимся к рис. 4.100 и вспомним, как организована система тактирования отдельных каналов модуля PWM. Источником тактирования каналов является импульсная последовательность E_CLOСK. Два программируемых делителя образуют из E_CLOСK сигналы тактирования CLOСK_A для каналов 0 и 1 и CLOСK_B для каналов 2 и 3. Причем каждый из каналов может тактироваться от указанного сигнала или напрямую, или через дополнительный делитель. Регистры PWSCNT0/PWSCNT1 и PWSCAL0/PWSCAL1 устанавливают режимы работы этих двух дополнительных делителей.

Регистры делителей PWSCNT0/PWSCNT1 и PWSCAL0/PWSCAL0

Делитель 0 обслуживает каналы 0 и 1 (рис. 4.100), он формирует свой выходной сигнал из импульсной последовательности CLOСK_A. Делитель 1 обслуживает каналы 2 и 3 (рис. 4.100) и формирует выходной сигнал из последовательности CLOСK_B. Коэффициент деления каждого из этих делителей определяет код в регистрах PWSCAL0 и PWSCAL1 соответственно. Коэффициент деления Kx (x — номер делителя) вычисляется по формуле:

Kx = (PWSCALx + 1)/2,

где PWSCALx — десятичный эквивалент кода в регистре PWSCALx.

Код из регистров PWSCAL0 и PWSCAL1 автоматически загружается в вычитающие счетчики PWSCNT0 и PWSCNT1, когда последние обнуляются. Таким образом, счетчики выполняют функцию делителей частоты с плавно изменяющимся коэффициентом деления. Регистры счетчиков PWSCNT0 и PWSCNT1 доступны только для чтения. Форматы регистров PWSCAL0/PWSCAL1 и PWSCNT0/PWSCNT1 приведены на рис. 4.106 и 4.107.

Рис. 4.106. Формат регистров делителей PWSCALx


Рис. 4.107. Формат регистров вычитающих счетчиков PWSCNTx


Регистры счетчика каналов PWCNTx

При рассмотрении принципа действия отдельного канала генератора ШИМ-сигнала мы выяснили, что в формировании сигнала участвует непрерывно считающий 8-разрядный двоичный счетчик, текущий код которого сравнивается с кодом коэффициента заполнения и кодом периода. В регистрах PWCNTx (x — номер канала 0…3) отображается текущий код счетчика каждого канала. Формат регистров PWCNTx представлен на рис. 4.108. Регистры PWCNT0… PWCNT3 доступны только для чтения, попытка записи в регистр счетчика текущего кода вызывает сброс счетчика.

Рис. 4.108. Формат регистров счетчика каналов PWCNTx


Регистры периода каналов PWPERx

Число регистров периода PWPERx равно числу каналов ШИМ в модуле PWM. Все регистры PWPER0…PWPER3 — 8-разрядные. Формат регистров PWPER0…PWPER3 приведен на рис. 4.109. Период следования ШИМ-сигнала каждого канала определяется кодом, который записан в соответствующем регистре периода PWPERx:

Рис. 4.109. Формат регистров периода каналов PWPERx


• для фронтовой ШИМ период сигнала равен

TPWM = (PWPERx + 1)/fx

• для центрированной ШИМ период сигнала равен

TPWM = 2 x (PWPERx + 1)/fx

где PWPERx — десятичный эквивалент кода в регистре периода PWPERx, fx — частота тактирования счетчика канала с номером «x».

Регистры коэффициента заполнения каналов PWDTYxФормат регистров коэффициента заполнения PWDTYx

Рис. 4.110.


Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже