ЦАП: R-2R, ШИМ и аналоговый выход
Цель: Понять преобразование цифрового кода в аналоговый сигнал на примере R-2R ЦАП и PWM с фильтром, а также роль опорного напряжения и разрядности.
3 часа короткая теория, самостоятельная практика, проверка результата и тест.
Суть темы
Цифро-аналоговый преобразователь связывает двоичное число с аналоговым напряжением или током. Идеальный N-битный ЦАП имеет 2^N дискретных уровней, а величина одного младшего разряда определяется диапазоном опорного сигнала.
R-2R лестница формирует взвешенную сумму с использованием только двух номиналов сопротивлений. PWM сам по себе является цифровым импульсным сигналом, но его среднее значение после низкочастотной фильтрации может использоваться как недорогой аналоговый выход.
- Разрядность определяет количество кодов и идеальный шаг квантования.
- Опорное напряжение Vref задаёт масштаб аналогового выхода и должно быть достаточно стабильным и малошумящим.
- R-2R обеспечивает бинарные веса без набора резисторов R,2R,4R,8R с огромным диапазоном номиналов.
- В реальном ЦАП важны INL, DNL, offset, gain error, settling time и выходная нагрузка.
- PWM→analog требует фильтра: частота PWM должна быть значительно выше полезной полосы сигнала.
Ключевые связи и параметры
Для униполярного идеального ЦАП код 0 соответствует нижнему уровню, а максимальный код 2^N−1 приближается к full-scale, но конкретная передаточная функция зависит от архитектуры. Ошибочно автоматически считать максимальный код точно равным Vref без чтения техническое описание.
В PWM среднее напряжение идеального прямоугольника 0…VDD равно примерно D·VDD. RC-фильтр уменьшает несущую PWM, но создаёт задержку; выбор частоты и постоянной времени является компромиссом между ripple и быстродействием.
levels = 2^Nideal LSB ≈ VFS / 2^NPWM average ≈ D · VDDРазбор примера
8-битный диапазон 0…3,3 В имеет идеальный шаг около 3,3/256≈12,9 мВ. Код 128 соответствует приблизительно середине диапазона, но точное значение определяется формулой конкретного ЦАП.
PWM 100 кГц, VDD=5 В и duty=30% имеет среднее около 1,5 В. После RC-фильтра на выходе будет постоянная составляющая около этого уровня плюс остаточные пульсации.
Практическая работа и проверка
Сравните настоящий ЦАП и PWM-выход на осциллографе и мультиметре: одинаковое среднее напряжение не означает одинаковый спектр.
- Рассчитайте LSB для 8- и 12-битного диапазона 0…3,3 В.
- Подайте несколько кодов на учебный ЦАП и измерьте выход.
- Постройте таблицу code→voltage и оцените отклонение от идеала.
- Сформируйте PWM с 25/50/75% duty и измерьте среднее.
- Добавьте RC-фильтр и сравните ripple и время установления при двух значениях RC.
Типичные ошибки и диагностика
- Считать максимальный цифровой код обязательно равным Vref.
- Сравнивать ЦАП только по числу бит без INL/DNL и settling time.
- Использовать PWM как «чистое постоянное напряжение» без фильтра для чувствительной аналоговой цепи.
- Игнорировать шум и точность опорного напряжения.
Ступенчатый или нелинейный выход проверяют по reference, питанию, коду и нагрузке. В PWM-выходе высокочастотная пульсация является ожидаемой составляющей, если фильтр недостаточен.
Связь с реальным устройством
ЦАП преобразует код в физическую величину с конечной точностью; разрядность, reference и аналоговая выходная цепь одинаково важны.
Что нужно запомнить
- N бит дают 2^N кодовых уровней.
- Vref определяет масштаб преобразования.
- R-2R использует два номинала сопротивлений.
- PWM требует фильтра для получения гладкого analog level.
- Точность ЦАП не равна его разрядности.