34. Контроллер широтно-импульсной модуляции (ШИМ)
34.1 Обзор
Модуль ШИМ независимо управляет несколькими каналами. Каждый из каналов генерирует прямоугольные импульсы на одном своем выходе. Параметры прямоугольных импульсов, такие как период, заполнение импульсов и полярность конфигурируются через пользовательский интерфейс. Каждый канал использует один из сигналов синхронизации, генерируемых тактовым генератором (какой именно сигнал выбирается пользователем). Сигналы синхронизации, формируемые тактовым генератором, получаются в результате деления сигнала главной синхронизации модуля ШИМ.
Доступ к модулю ШИМ выполнен через регистры, связанные с шиной APB.
В целях генерации неперекрывающихся прямоугольных импульсов предусмотрена возможность синхронизации работы каналов. Все каналы интегрируют систему двойной буферизации, которая позволяет избежать генерацию нежелательных импульсов при изменении периода или заполнения импульсов ШИМ-сигнала.
34.2 Структурная схема
Рисунок 34.1. Структурная схема контроллера широтно-импульсной модуляции
34.3 Порты ввода-вывода, мультиплексированные с ШИМ контроллером
Каждый канал генерирует импульсы на одной внешней линии ввода-вывода.
Таблица 34.1. Описание линий ввода-вывода
Наименование |
Описание |
Тип |
PWMx |
Выход ШИМ канала х |
Выход |
34.4 Различия в реализации ШИМ контроллера в семействе AT91SAM7S
34.4.1 Линии ввода-вывода
Выводы, используемые для подключения ШИМ, могут быть мультиплексированы с портами ввода-вывода. Первоначально программист должен запрограммировать контроллер порта ввода-вывода, чтобы назначить желаемых ШИМ-выводам их периферийную функцию. Если линии ввода-вывода ШИМ не используются в приложении, то они могут использоваться в других целях контроллером ПВВ.
Пользователь может сам решать, какое количество выходов активизировать, а какое нет. Если в приложении требуется только четыре канала, то только четыре линии ввода-вывода могут использоваться в качестве ШИМ-выходов.
34.4.2 Управление потребляемой мощностью
Синхронизация ШИМ реализована не на постоянной основе. Перед использованием модуля ШИМ программист должен вначале разрешить синхронизацию ШИМ в контроллере управления потребляемой мощностью (PMC). Однако, если в приложении не требуется работа модуля ШИМ, то его синхронизация может быть остановлена, когда в ней нет необходимости и может быть перезапущена позже. В этом случае, модуль восстановит работу из того же состояния, в котором он был оставлен отключенным.
Для конфигурирования модуля ШИМ не требуется включение его синхронизации.
34.4.3 Источники прерываний
Линия прерывания модуля ШИМ подключена к одному из внутренних источников расширенного контроллера прерываний. Для использования прерывания ШИМ необходимо вначале запрограммировать контроллер прерываний AIC. Обратите внимание, что не рекомендуется использовать линию прерываний ШИМ в режиме, чувствительном к фронтам.
|