Программируемый генератор пилообразного напряжения (Programmable Ramp Generator, PRG, ПГПН), входящий в состав некоторых 8-разрядных микроконтроллеров PIC от Microchip Technology, является универсальным аналоговым периферийным устройством, которое упрощает проектирование приложений с линейно меняющимся напряжением. Как следует из названия этого устройства, на выходе ПГПН под управлением программного обеспечения генерируются восходящие, нисходящие или перемежающиеся восходящие и нисходящие сигналы. Однако сконфигурированное периферийное устройство может работать независимо от процессорного ядра, освобождая ресурсы ЦП для выполнения других задач и управляющих функций или вхождения в режим пониженного энергопотребления.
Время нарастания и спада импульсов динамически регулируется путем управления встроенным источником постоянного тока. Универсальные функции входов и выходов обеспечивают свободу проектирования, позволяя подключать друг к другу источники сигнала вне кристалла или подавать сигналы с других периферийных устройств микроконтроллера. В результате появляется возможность реализовать быстро реагирующую систему, минимизировав возможные источники шума и размер приложения за счет меньшего числа внешних компонентов. На рисунке 1 представлена структурная схема рассматриваемого генератора.
Рис. 1. Упрощенная структурная схема ПГПН
Весьма полезным средством настройки программируемого генератора пилообразного напряжения является конфигуратор MPLAB Code Configurator (MCC) – встраиваемый модуль интегрированной среды разработки MPLAB X IDE (см. рис. 2). Этот модуль генерирует драйверы для контроля и управления периферией, в которой используются микроконтроллеры PIC, и, в частности, для ПГПН. Наряду с этим генератором можно реализовать разные функции, сконфигурировав их с помощью модуля MCC.
Рис. 2. Аппаратные настройки модуля ПГПН в окне конфигуратора MPLAB Code Configurator
Генератор треугольных импульсов
Генератор треугольных импульсов (TWG, ГТИ) создает периодические несинусоидальные сигналы треугольной формы с равным временем нарастания и спада импульсов. Чтобы ПГПН выдавал сигналы треугольной формы, его необходимо сконфигурировать в режиме перемежения восходящих и нисходящих фронтов линейного напряжения. Конфигуратор MCC позволяет выбирать источники входных восходящих и нисходящих тактовых импульсов. ПГПН определяет частоту выходных колебаний с помощью этих двух источников опорного напряжения (ИОН), что позволяет установить время нарастания и спада сигналов. Эти ИОН также определяют минимальные и максимальные значения пиков напряжения сигнала треугольной формы.
Если выходное напряжение ПГПН меньше величины напряжения, заданного ЦАП, вывод RS подает команду на зарядку внутреннего конденсатора от источника тока (см. рис. 3). Если же выходное напряжение ПГПН превышает напряжение ИОН, с вывода FS подается команда на зарядку этого конденсатора от источника втекающего тока.
Рис. 3. Интеграция периферийных устройств генератора треугольной формы
Поскольку у ПГПН отсутствует выделенный вывод для выходного напряжения, оно буферизуется с помощью операционного усилителя (ОУ) с единичным коэффициентом усиления. Значение выходной частоты можно рассчитать, но на точность полученного результата влияют разные факторы, в т.ч. паразитное сопротивление конденсатора, шум, вариации производственного процесса и температура.
Величина частоты изменяется в зависимости от выходного напряжения ЦАП или крутизны ПГПН (slope rate, SR). Крутизна пилообразного сигнала задается с помощью настроек ПГПН. На рисунке 4 показана идеальная характеристика рассматриваемой схемы. Вообще говоря, генерируемый сигнал треугольной формы состоит из периодических и симметрично перемежающихся восходящих и нисходящих пилообразных сигналов.
Рис. 4. Временная диаграмма генератора сигналов треугольной формы
Максимальная и минимальная величины напряжения определяются значениями VИОН и VЦАП, соответственно. Команды на генерацию восходящих и нисходящих сигналов подаются в зависимости от того, какого уровня напряжения достигает сигнал – максимального или минимального. Для регулировки частоты можно использовать крутизну характеристики. Частота также меняется с помощью напряжения VЦАП, но при этом, соответственно, увеличивается или уменьшается минимальное напряжение.
Частота генерации рассматриваемого усилителя зависит от выбранного источника втекающего тока, источника тока, собственной емкости и настроек, определяющих генерацию восходящих и нисходящих сигналов. Дополнительная емкость на выходе ПГНП позволяет уменьшить диапазон рабочей частоты.
С помощью конфигурируемой логической ячейки (Configurable Logic Cell, CLC) и внешнего конденсатора С1 точки переключения напряжения, задаваемые ЦАП и ИОН, запускают команды на генерацию восходящих и нисходящих сигналов, соответственно (см. рис. 5). Конденсатор С1 устанавливается на выходе операционного усилителя параллельно собственному конденсатору ПГПН. Дополнительная емкость увеличивает время между событиями запуска, уменьшая выходную частоту FВЫХ сигнала.
Рис. 5. Чтобы уменьшить диапазон рабочей частоты, в схему добавляются блок CLC и конденсатор
Логическая ячейка CLC, установленная на выходе компараторов, позволяет генератору создавать прямоугольные сигналы и импульсы. Эта ячейка конфигурируется как защелка SR, а частота FВЫХ определяется по частоте выходного сигнала. Как и при использовании ПГПН, по опорному напряжению определяется состояние «1» или «0» для входов сигнала установки. Частота FВЫХ задается, если напряжение на C1 (ОУВЫХ) становится ниже напряжения ЦАП. Если уровень ОУВЫХ превышает значение на ИОН, частота FВЫХ сбрасывается.
Генератор, управляемый напряжением
Генератор, управляемый напряжением (ГУН), – электронное устройство, у которого входное напряжение задает частоту колебаний. Мгновенная частота ГУН, как правило, прямо пропорциональна мгновенному напряжению: чем выше уровень входного напряжения, тем больше частота генерации. Принцип работы ПГПН в качестве ГУН схож с генератором треугольных импульсов, но отличается тем, что значение выходной частоты определяется уровнем срабатывания защелки блока CLC, а регулируемое напряжение VУПР задает напряжение входа RS ПГПН (см. рис. 6).
Рис. 6. Конфигурация ГУН
Чем выше уровень входного напряжения VУПР, тем меньше времени требуется на перезапуск восходящего сигнала. Следовательно, переключение между источниками тока и втекающего тока убыстряется, что приводит к увеличению частоту колебаний.
Взаимосвязь между управляющим напряжением и частотой выходного сигнала показана на рисунке 7 в зависимости от трех разных значений крутизны ПГПН. Величина SR может меняться, что определяется заданным частотным диапазоном. При меньших значениях SR генерируются сигналы с частотой в диапазоне от нескольких Гц до 500 кГц. При больших значениях SR диапазон частот достигает нескольких МГц.
Рис. 7. Частота выходного сигнала ГУН в зависимости от управляющего напряжения
С помощью двух значений управляющего напряжения и постоянной крутизны можно уменьшать частоту ГУН, снижая величину VУПР и не используя конфигурируемую логическую ячейку.
Генератор коэффициентов заполнения, управляемый напряжением
Стандартная схема ГУН позволяет изменять частоту генерируемого сигнала. У генератора VCDCO (Voltage—Controlled Duty Cycle Oscillator, или ГКЗУН) напряжение управляет коэффициентом заполнения выходных импульсов (см. рис. 8).
Рис. 8. Схема запуска позволяет ГУН генерировать коэффициенты заполнения
Схема ГКЗУН отличается от ГУН тем, что пусковая схема задает начало выходного сигнала. Модули ШИМ и TMR определяют период и частоту генератора, а ПГПН – коэффициент заполнения с помощью напряжения VУПР.
Нарастающий фронт ШИМ-сигнала запускает вход PRG RS и задает значение CLC. Если выходное напряжение ПГПН превышает VУПР, запускается вход FS, конденсатор ПГПН закорачивается, и значение CLC сбрасывается. Выходное напряжение ПГПН и CLC остается низким до следующего переполнения таймера TMR и положительного фронта ШИМ-сигнала.
Увеличение напряжения VУПР продлевает время нарастания пилообразного сигнала и ширину выходного положительного импульса. Коэффициент заполнения рассчитывается как VУПР/VМАКС. Чтобы увеличить диапазон значений коэффициента заполнения, период таймера должен быть равен времени нарастания пилообразного сигнала, когда он достигает значения VМАКС. при заданной крутизне.
При использовании двух разных значений VУПР последовательность триггера RS может быть однородной при обоих условиях благодаря постоянному периоду таймера и ШИМ-сигнала. Однако может возникнуть дополнительная задержка до срабатывания триггера FS, что обусловлено постоянной крутизной и более высоким значением VУПР.
Крутизна ПГПН и период таймера TMR2 зависят от заданной частоты и диапазона значений коэффициента заполнения ГКЗУН. Коэффициент заполнения ШИМ можно установить достаточно малым, чтобы запускать вход RS программируемого генератора пилообразных сигналов. Величина выходной частоты FВЫХ. по-прежнему берется из защелки SR конфигурируемой логической ячейки. Выходные напряжения ШИМ-сигнала и компаратор определяют запуск и сброс входов блока логики.
Асинхронный генератор импульсов на одном выходе
Асинхронный генератор AOS (Asynchronous One—Shot) генерирует импульсы на одном выходе при внешнем запуске. У этого мультивибратора – одно устойчивое состояние. Если оно имеет низкий уровень, выход внешнего триггера устанавливается на высокий уровень в течение определенного периода времени (см. рис. 9), в конце которого этот генератор возвращается в устойчивое состояние в ожидании следующего запуска.
Рис. 9. Для генерации импульсов на одном выходе используется внешний триггер
Состояние сброса логики является устойчивым у рассматриваемого асинхронного генератора. Внешний триггер задает напряжение на входе RS ПГПН и выходное напряжение асинхронного генератора; при этом логическая ячейка не требуется. Если напряжение ПГПН достигает величины ИОН, запускается источник на входе FS, собственный конденсатор программируемого генератора пилообразного напряжения закорачивается, а выходной сигнал логической ячейки сбрасывается. Ширина импульсов зависит от напряжения ИОН и крутизны ПГПН.
Модули ШИМ и таймера можно заменить внешним триггером напряжения, чтобы устранить периодическую последовательность запуска входа RS программируемого генератора пилообразного напряжения и исключить использование задающих источников логической ячейки. Выходные импульсы при этом поступают с выхода ячейки.
Генератор импульсов на одном выходе, управляемый напряжением
Генератор импульсов на одном выходе, управляемый напряжением, представляет собой усовершенствованную схему асинхронного генератора AOS (см. рис. 10). Один вход такой схемы работает как триггер, а дополнительный вход определяет период импульсов на одном выходе. Например, этот генератор управляет временем включенного состояния контроллера коэффициента мощности (ККМ) в режиме граничной проводимости.
Рис. 10. Конфигурация генератора импульсов на одном выходе, управляемого напряжением
Входное напряжение VУПР. определяет период импульсов на одном выходе, или время включенного состояния. При более высоком напряжении VУПР. время включенного состояния увеличивается. Если восходящий пилообразный сигнал ПГПН достигает значения VУПР., конденсатор ПГПН закорачивается, и завершается цикл нагрузки генератора с комплементарными выходами (COG). Выходное напряжение остается в низком логическом состоянии, пока сигнал не перезапустит восходящий пилообразный сигнал и не начнется период COG.
В контроллере в режиме граничной проводимости генератор COG управляет коммутацией силового MOSFET-ключа. Сигнал обратной связи (ОС) от усилителя сигнала ошибки подается на вход VУПР. Постоянный сигнал ОС позволяет установить фиксированное время включенного состояния (см. рис. 11). В состояниях включения и выключения ток индуктивности достигает величины входного опорного напряжения и спадает до нуля, соответственно. На рисунке 11 показана типовая характеристика тока индуктивности при использовании контроллера в режиме граничной проводимости.
Рис. 11. Ток индуктивности контроллера в режиме граничной проводимости при фиксированном времени включенного состояния
Чтобы сконфигурировать периферийные устройства, следует заменить модуль ШИМ и таймер вторым компаратором. При этом в списке входных источников положительного и отрицательного сигналов выбираются выводы CINx+ и FVR (ИОН), соответственно. Вместо конфигурируемой логической ячейки выбирается модуль COG, а компараторы устанавливаются как источники событий, срабатывающие при поступлении восходящего и нисходящего сигналов. В приложениях с использованием силовых преобразователей предпочтительно использовать периферийные устройства COG в качестве выходного драйвера.
Выводы
Очевидно, что ПГПН очень удобно применять при необходимости обеспечить генерацию пилообразных сигналов в качестве опорных или источников тактовой частоты. Эти функции легко конфигурируются с помощью дружественного интерфейса конфигуратора MCC. Наряду с некоторыми другими периферийными устройствами, которыми оснащены микроконтроллеры PIC от компании Microchip, разработчики получают достаточно большую свободу проектирования других приложений на основе этих генераторов.
Литература
1. Sample Functions Implemented with the Programmable Ramp Generator Application Note//ww1.microchip.com/downloads/cn/AppNotes/cn587053.pdf.
2. Microchip MPLAB Code Configurator (MCC) graphical programming environment//www.microchip.com/mplab/mplab-code-configurator.