Широтно-импульсная модуляция (ШИМ) является великолепной основой для цифро-аналогового преобразования. Это заслуга таких характеристик, как простота и (теоретически) идеальная дифференциальная и интегральная линейность. К сожалению, необходимость фильтрации пульсаций ШИМ делает ее медленной, особенно если требуется высокое разрешение (более 8 бит).
На Рисунке 1 предложен обходной путь для устранения заторможенности ШИМ путем использования ее только для получения старших 8 бит ЦАП высокого разрешения (16 бит), тогда как младшие 8 бит обеспечивает другая технология (цифровой потенциометр, ЦП). Затем два выходных сигнала пассивно суммируются в простом резистивном делителе напряжения с отношением сопротивлений 256:1. Результатом является скорость установления, выросшая в 256 раз (по сравнению с использованием ШИМ для полного 16-битного счета), в сочетании с 16-битными значениями разрешения, монотонности, линейности (как интегральной, так и дифференциальной) и стабильностью нуля на уровне микровольт. Схема питается всего несколькими миллиамперами от одной шины 5 В, имея при этом довольно хороший источник опорного напряжения. И она дешева.
Рисунок 1. | Старший байт ШИМ объединяется с младшим байтом ЦП, чтобы обеспечить 16-битные точности разрешения, монотонности и линейности. |
Входной сигнал ШИМ логического уровня от 3 до 5 В с разрешением 8 бит инвертируется и сдвигается по уровню с помощью цепочки R5C7 и быстродействующего инвертора U1 семейства AC, преобразуясь в точные прямоугольные импульсы размахом от 0 до 2.50 В благодаря источнику опорного напряжения LM4040 и внутренним свойствам КМОП-логики при использовании ее в качестве точных аналоговых ключей. Сигнал еще раз инвертируется и буферизуется другими пятью элементами U1, превращаясь на низкоимпедансном выходе (порядка 5 Ом) в высококачественные выходные импульсы ШИМ с коэффициентом заполнения от 0 до 100%. Превосходная симметрия переходов (времена распространения при переходе от низкого уровня к высокому и от высокого к низкому отличаются менее чем на 100 пс) способствует повышению точности и линейности, в то время как положительная обратная связь через резистор R5 обеспечивает фиксацию статических состояний 0% (0 В) и 100% (2.5 В) коэффициента заполнения.
Активная низкочастотная аналоговая фильтрация пульсаций и вычитание выполняются цепью R1C1 + R2C2, как описано в статье «Подавитель пульсаций ШИМ ЦАП с аналоговым вычитанием» (1). Показанная на схеме постоянная времени RC 4.99 кОм × 0.1 мкФ = 499 мкс соответствует 16-битному (96 дБ) ослаблению пульсаций, если принять, что период ШИМ 256/32 МГц = 8 мкс. Разумеется, для разных тактовых частот ШИМ потребуется пропорциональное изменение емкостей.
Между тем, управляемый по SPI ЦП U2 формирует импульсы младшего байта с 8-битным разрешением и размахом от 0 до 2.5 В, который суммируется с выходным сигналом ШИМ микросхемы U1 с соотношением 256:1, задаваемым делителем напряжения R2R3. Соотношение сопротивлений R2:R3 должно быть точным и стабильным, лучше, чем 0.5%. Сопротивление резистора R3 настолько больше меняющегося сопротивления потенциометра (2.5 кОм максимум), что его вклад в нелинейность составляет менее ±½ единицы младшего разряда.
При этом влияние сопротивления движка настолько мало, что представляет чисто академический интерес.
Ссылка
- Stephen Woodward. Подавитель пульсаций ШИМ ЦАП с аналоговым вычитанием