Большинство интегральных ЦАП построено на основе описанного принципа суммирования взвешенных токов или напряжений, хотя есть, конечно, и другие способы. Получив таким способом аналоговое напряжение из цифрового значения, мы можем теперь перейти к рассмотрению аналого-цифровых преобразователей (АЦП), один из распространенных классов которых содержит указанные ЦАП.
Номенклатура аналого-цифровых преобразователей существенно больше, чем ЦАП. Однако все разнообразие их типов можно свести к трем разновидностям: это АЦП параллельного действия, последовательного приближения и интегрирующие. Все эти типы АЦП встречаются на практике, т. к. обладают разными свойствами, и потому применимы в разных областях.
АЦП параллельного действия
АЦП параллельного действия — это зеркально отраженный простейший ЦАП на основе дешифратора, о котором шла речь ранее. В таких АЦП имеется делитель из
АЦП последовательного приближения
АЦП последовательного приближения как раз и относятся к тем, что используют рассмотренные ранее ЦАП с коммутируемыми резисторами. Хотя самим в настоящее время такие АЦП строить не приходится, но для успешного их использования следует хорошо понимать, как они работают. Именно такого типа АЦП встроены в микроконтроллеры семейства AVR (см.
АЦП последовательного приближения работает по следующему принципу. Берется ЦАП нужной разрядности (именно поэтому мы рассматривали ЦАП раньше, чем АЦП). На его цифровые входы подается с некоего регистра код по определенному правилу, о котором далее. Выход ЦАП соединяется с одним из входов компаратора, на другой вход которого подается преобразуемое напряжение. Результат сравнения подается на схему управления, которая связана с этим самым регистром — формирователем кодов.
Есть несколько вариантов алгоритма преобразования. Самый простой выглядит следующим образом: сначала все разряды кода равны нулю. В первом такте самый старший разряд устанавливается в единицу. Если выход ЦАП при этом превысил входное напряжение, т. е. компаратор перебросился в противоположное состояние, то разряд возвращается в состояние логического нуля, в противном же случае он остается в состоянии логической единицы. В следующем такте процедуру повторяют для следующего по старшинству разряда. Такой метод позволяет за число тактов, равное числу разрядов, сформировать в регистре код, соответствующий входному напряжению. Способ довольно экономичен в смысле временных затрат, однако имеет один существенный недостаток: если за время преобразования входное напряжение меняется, то схема может «ошибаться», причем иногда вплоть до полного сбоя. Поэтому в такой схеме обязательно приходится предусматривать устройство выборки-хранения (УВХ), о которых далее.
В другой модификации этой же схемы формирование кодов осуществляет реверсивный счетчик, подобный 561ИЕ11, с нужным числом разрядов. Выход компаратора попросту подключают к выводу переключения направления счета. Изначально счетчик полностью сбрасывают, после чего подают на него тактовые импульсы. Как только счетчик досчитает до соответствующего значения кода, и выход ЦАП превысит входное напряжение, компаратор переключает направление счета, и счетчик отрабатывает назад. После окончания этого периода установления, в идеале, если напряжение на входе меняется мало, величина кода все время колеблется в пределах младшего разряда. Здесь выбросы не так страшны, но большое время установления и неизвестное заранее время реакции на быстрые изменения входного сигнала являются недостатком такого АЦП, получившего название