Довольно недорогой способ реализации высокоточного цифро-аналогового преобразователя (digital-to-analog conversion, DAC) - скомбинировать выход ШИМ на микроконтроллере (pulse-width-modulate, PWM), точный источник опорного напряжения, ключи CMOS и аналоговый фильтр [2].
Однако в любом случае ЦАП на основе PWM создает большую проблему для разработчика: как адекватно подавить на выходе большую амплитуде пульсаций частоты импульсов ШИМ? Проблема подавления импульсов ШИМ особенно актуальна, когда используется 16-битный ШИМ микроконтроллера, потому что не получается становится трудным выбрать высокую частоту импульсов ШИМ, чтобы её можно было легко отфильтровать простым ФНЧ. Например, высокоточный 16-битный ШИМ требует от счетчика PWM обработки 216 отсчетов, и если частота тактирования счетчика периферийного устройства PWM 16 МГц, то максимальная частота импульсов ШИМ получится 16000000 / 216 = 244 Гц. При таких низких частотах пульсаций ШИМ, если их подавлять RC-цепочкой до уровня цены одного разряда 16-битного ЦАП (т. е. до -96 dB), то изменение уровня на выходе получится очень медленным - изменение полезного сигнала от минимального до максимального значения будет длиться порядка секунды, а то и больше.
Схема на рис. 1 позволяет избежать большинства проблем ФНЧ. Это достигается комбинации дифференциального интегратора A1 с усилителем выборки-хранения A2, которые встроены в петлю обратной связи, работающей синхронно с периодом PWM (T2 на рис. 2). Если сделать постоянную времени интегратора равной периоду PWM (R1 × C1 = T2). И если емкость конденсатора выборки C2 равна емкости конденсатора хранения C3, то фильтр может захватить и установить новое значение DAC ровно за 1 период PWM. Хотя этот способ не позволяет получить реально быстрый и "высокоскоростной" ЦАП, его время реакции 10 мс это все равно в 100 раз лучше, чем время реакции 1 секунда. Важный момент - повышение скорости работы происходит не в ущерб подавлению пульсаций. Подавление пульсаций синхронного фильтра практически бесконечно, единственным пределом на практике является ненулевое время заряда C3 через ключ S2. Если выбрать хороший ключ S2 и для C3 емкость примерно 1 мкФ, то амплитуда пульсаций будет порядка микровольт.
Рис. 1. Схема синхронного фильтра импульсов PWM.
Рис. 2. Диаграмма сигналов работы синхронного фильтра.
Опциональный делитель напряжения обратной связи R2/R3 предоставляет возможность подстройки диапазона выходного напряжения DAC по отношению к уровню опорного напряжения. Например, если R2=R3, то диапазон выходных уровней DAC составит 0 .. 10V при опорном напряжении 5V. Дополнительное достоинство этого метода регулирования выходного напряжения состоит в том, что пульсации на выходе не зависят от усиления уровня опорного напряжения.
[Ссылки]
1. Fast-settling synchronous-PWM-DAC filter has almost no ripple site:edn.com. 2. 16-битный ШИМ основе двух 8-битных. 3. Быстрый PWM DAC без выходных пульсаций. |