13.2 Цифро-аналоговые преобразователи
==881
Основной задачей таких микросхем является преобразование числа в двоичной форме ( или в двоично-десятичной, см. §10.1.3.B ) в соответствующее ему напряжение или ток. Есть несколько основных методов:
- цепочка резисторов и набор МОП ключей;
- R-2R делитель;
- переключаемые источники тока и
- сигма-дельта ( и другие методы усреднения импульсной последовательности ).
Рассмотрим их подробнее.
13.2.1 ЦАПы на цепочке резисторов
Это самый примитивный метод из имеющихся. Цепочка из 2n одинаковых резисторов включается между источником опорного напряжения и землёй, образуя очень длинный делитель напряжения. Набор аналоговых ключей выбирает нужный отвод делителя и соединяет его с выходным буфером ( рис. 13.2 ). На рисунке показан счетверённый 16-разрядный ЦАП DAC8564 фирмы TI ( в одном корпусе - четыре независимых преобразователя ). В каждой секции имеется собственная цепочка из 216 резисторов ( т.е. 65536 ) между внутренним опорным источником +2.5 V и землёй. Цитата из немногословного справочного листка: «Код загружаемый в регистр ЦАПа выбирает с какого именно узла напряжение будет подаваться на выходной усилитель и замыкает соответствующий ключ между резистивной цепочкой и усилителем.» _5
Рис. 13.2 Простой для понимания ЦАП: цифровой код выбирает через соответствующий МОП ключ отвод на гигантском делителе напряжения. TI умудрилась втиснуть четыре таких устройства в DAC8564
==882
Положительной стороной такой конструкции является гарантия монотонности. О том же сообщает паспорт ( в ещё более лаконичной форме, чем раньше ): «Схема монотонна потому что это цепочка резисторов». У этого ЦАПа есть ещё несколько приятных особенностей. Низкая энергия переключательных помех ( энергия помех, появляющихся на выходе при смене кода ), отличная точность и стабильность ( 0.02% начальной точности для наихудшего случая и 5 ppm/°C ), RR выходы ( RRO ), одно питание от +2.7 V до +5.5 V и низкий потребляемый ток ( 1 mA , тип. ). Эта конфетка стоит около $12. Такой же подход применён в ЦАП с не столь замечательными характеристиками - DAC121 фирмы National: 12-разрядов, выход по напряжению, микропотребление ( 150 μA ), один источник питания и RR выходы. Внутренний опорный источник отсутствует, резисторов «всего» 4096 штук, стоит меньше $2. Обе модели ( как и большинство преобразователей в наши дни ) используют последовательный цифровой интерфейс: в данном случае - 3-проводный SPI ( см. §14.7.1 ). Дополнительный материал по теме цифровых потенциометров есть в §3.4.3.E .
13.2.2 ЦАП на R-2R делителе
Цепочка из 216 согласованных резисторов и ключей - пример высокого уровня разработчиков, но экспоненциальный рост числа элементов неизбежно превзойдёт инженерные таланты. Интересной альтернативой является R-2R делитель, сокращающий требования к числу резисторов до 2n согласованных элементов ( вместо 2n ) для n-разрядного ЦАПа.
Чтобы разобраться, как такое возможно, рассмотрим упрощённую схему 13.3 . В ней номиналы резисторов увеличиваются в соответствии со степенями двойки. Величины токов, текущих в суммирующую точку, соотносятся в той же пропорции и создают на выходе напряжения, пропорциональные входному двоичному коду. Просто, но ужасно непрактично, если речь идёт о сколь-нибудь заметном числе разрядов, потому что номиналы резисторов должны перекрывать широкий диапазон сопротивлений, причём, чем ниже номинал, тем выше должна быть требуемая точность. Ключи при низкоомных резисторах тоже должны иметь малое сопротивление \(R_{on}\) _6 .
Рис. 13.3 ЦАП, построенный по принципу суммирования масштабных токов. Его легко понять, но неудобно делать. На практике используется схема R-2R
Упражнение 13.1
Разработайте ЦАП с 2-х разрядной BCD-кодировкой ( 2 десятичных разряда ). Входы принимают значения 0 или +1V; напряжение на выходе должно меняться от 0 до 9.9V .
Вместо описанного используется вариант на рис. 13.4 . Легко убедиться, что эта красивая схема подаёт в суммирующую точку ОУ двоично взвешенные токи, а значит, и выходное напряжение соответствующее входному коду. Здесь, независимо от числа бит, требуется только два номинала ( \(R\) и \( 2R\) , которые легко делать в форме точного отношения 2:1 ).
Рис. 13.4 R-2R делитель подаёт в суммирующую точку операционного усилителя двоично взвешенные токи, превращая микросхему в ЦАП с выходом по напряжению
==883
Промышленность выпускает массу отличных R-2R ЦАПов. Например, TI DAC9881 - 18-разрядный ЦАП с выходом по напряжению, управлением по SPI, гарантированной монотонностью _7 и интегральной нелинейностью ±2 LSB . Требует подачи внешнего опорного напряжения \( V_{REF}\) , которое устанавливает напряжение полной шкалы. Отличная точность и низкий шум, цена около $30.
Упражнение 13.2
Докажите, что упомянутый R-2R делитель работает, как описано.
На самом деле большая часть R-2R ЦАПов использует другую конфигурацию ( рис. 13.5 ) в которой на выходе делителя - напряжение. Например, TI DAC7611 - 12-разрядный ЦАП ( +4.095 V полной шкалы, популярные в 5-вольтовых микросхемах ) с интерфейсом SPI и внутренним источником опорного напряжения, монотонный и линейный по всем 12 разрядам, выпускается в 8-ногом корпусе и стоит около $4.
Рис. 13.5 Наиболее распространённый вариант R-2R ЦАПа с выходом по напряжению
13.2.3 ЦАПы с переключением токов
Описанные схемы имеют выход по напряжению. Чаще всего это именно то, что нужно, но в итоге получается, что самым медленным элементом ИМС становится ОУ. Если есть возможность использовать ЦАП с выходом по току, за те же или меньшие деньги можно получить более быструю микросхему. Некоторые дополнительные преимущества ЦАПов с выходом по току:
- богатый выбор ОУ для перевода тока в напряжение, позволяющий увеличить диапазон выодного сигнала или снизить шум;
- возможность непосредственного суммирования выходов нескольких преобразователей;
- наличие умножающих ЦАП ( см. ниже ), в которых на выходе ток, равный произведению цифрового кода и аналогового напряжения на входе «Vref».
==884
На рис. 13.6 изображено устройство такого ЦАПа с «переключением токов» . Выходной сигнал можно получать, набирая его из токов от источников со «взвешенными» эмиттерными резисторами, но разработчики микросхем обычно используют в эмиттерах делители R-2R. Самые распространённые ЦАПы такого типа имеют постоянно включённые источники тока, но их выход переключается между суммирующей точкой и землёй в соответствии с кодом на входе. Следует иметь ввиду ограниченный диапазон рабочего напряжения на выходе таких ЦАПов: уровень сигнала на выходе должен находиться в диапазоне от полувольта до нескольких вольт.
Рис. 13.6 Классический ЦАП с переключением токов
К типичным представителям ЦАПов с переключением токов относятся: LTC1668 ( 16 разрядов, 20 ns время установления, на нагрузке 50 Ω создаётся «выход по напряжению» величиной ±1V , около $20 ); DAC5682 ( сдвоенный, 16 разрядов, время установления 10 ns , выход может подключаться к любому потенциалу в диапазоне аналогового напряжения питания, $45 ). Если хочется погорячее, можно взять AD9739 ( 14 разрядов, 2500 Msps ! ). В нижнем ценовом сегменте есть промышленный стандарт: последовательный DAC/LTC8043 ( внешний опорный источник, 12 разрядов, 0.25 μs время установления, около $6 ) или параллельный аналог AD/LTC7541.
13.2.4 Умножающие ЦАПы
Две описанных модели требуют внешнего источника опорного напряжения. Очевидный недостаток, который можно обратить в достоинство: на них можно подавать \( V_{REF}\) из довольно большого диапазона напряжений, причём любой полярности. Другими словами, выход ( токовый ) пропорционален произведению цифрового кода и аналогового опорного напряжения, т.е. речь идёт об «умножающем» ЦАП - MDAC . Более того, результат может быть как позитивный, так и негативный, и полное название - «четырёхквадрантный умножающий ЦАП». Примерами точных четырёхквадрантных ЦАПов могут служить 16-разрядные DAC8814 ( с последовательной шиной ) и аналогичный DAC8820 ( с параллельной ). В умножающих ЦАПах специфицируются и параметры преобразования ( линейность, монотонность ), и рабочая полоса аналогового умножающего входа ( «Vref» ). Для указанных преобразователей аналоговая полоса равна 10 и 8 MHz , а цена - $25 и $15 соответственно.
Отметим, что не все ЦАПы оптимизированы для таких задач, поэтому будет правильнее внимательно изучать справочные данные на выбранную микросхему. Все преобразователи, которые хорошо справляются с умножение ( имеют широкий диапазон аналогового сигнала, высокую скорость и т.д. ), обычно именуются «умножающими ЦАПами» где-то на видном месте ближе к началу. Некоторые такие ИМС перечислены в табл. 13.3 ( стр. 894 ).
Предупреждение: объявленная полоса может быть серьёзно испорчена из-за эффектов емкостного прохождения сигнала. Именно это явление искажает графики из справочных данных на рис. 13.7 .
Рис. 13.7 «Полоса пропускания по опорному напряжению» в умножающих ЦАПах обычно указывается только для максимального кода и для этих микросхем фирмы Analog Devices составляет 2 и 10 MHz . Полную картину раскрывают графики, которые можно найти в тех же справочных данных. Хотя конструкция AD5544 и AD5443 похожа и названия не сильно отличаются, но у последнего заметно лучше параметры ниже 10 MHz в зоне от 0 до -40 dB
Умножающие ЦАПы ( и их эквиваленты среди АЦП ) открывают возможности измерения и преобразования логометрическим методом . Если какой-либо датчик, например, резистивный сенсор ( терморезистор ) запитать от опорного напряжения АЦП, то изменения указанного напряжения не окажут влияния на результат. Это очень продуктивная идея, позволяющая выполнять измерения с большей точностью, чем параметры опорного источника или блока питания, или, иначе, такой подход снижает требования к точности и стабильности напряжения. В наиболее простой форме принцип относительного измерения используется в классической мостовой схеме. В ней сначала подстраивается равенство потенциалов средних точек двух делителей ( в одном из которых стоит датчик ), а затем эти потенциалы в виде дифференциального сигнала подаются на измеритель. Микросхемы, аналогичные классической 555 ( §7.1.3 ), достигают хорошей стабильности выходной частоты при больших изменениях питающего напряжения, фактически используя базовую разностную схему. Напряжение на конденсаторе в RC цепочке, подключённой к напряжению питания, сравнивается с уровнями того же питания ( 1/3 )\( V_{CC}\) и ( 2/3 )\( V_{CC}\) ). В результате выходная частота пропорциональна только постоянной времени \(RC\) _8 . Эта важная тема будет ещё раз затронута в приложении к АЦП далее в этой части.
==885
13.2.5 Получение выходного напряжения
Если используется ЦАП с выходом по напряжению, то всё, больше ничего делать не надо! Для токовых ЦАП нужно использовать схему преобразования. Некоторые идеи показаны на рис. 13.8 . Если ёмкость нагрузки мала и не требуется большой размах напряжения, хорошо работает простой резистор ( но следует учитывать предупреждения ниже в этом параграфе ). Подобная схема обычно используется в видео ЦАПах. Например, THS8133 - трёхканальный 10-разрядный видео-ЦАП - имеет ток полной шкалы 26.7 mA и создаёт напряжение 1V на согласованном с обоих концов 75-омном кабеле. Это универсальный метод: ток полной шкалы 1 mA создаст на 50-омном резисторе напряжение 50 mV . Если выходная ёмкость ЦАПа и нагрузки в сумме не превышает 100 pF , то в предыдущем примере время установления будет 50 ns ( предполагается, что микросхема быстрая ). Если нужна высокая точность, не следует забывать выдерживать необходимое время: для того, чтобы выходное напряжение 10-разрядного ЦАПа установилось с точностью ½LSB или ( 1/2048 ) вольта, требуется выдержать 7.6\(RC\) секунд.
Рис. 13.8 Способы получения выходного напряжения для ЦАПов с токовым выходом
Если нужен большой размах напряжения или нагрузка слишком мала, или её ёмкость слишком велика, потребуется выходной ОУ, включённый по трансрезистивной схеме ( преобразования тока в напряжение ). Конденсатор в параллель с резистором обратной связи может потребоваться для устойчивости, потому что выходная ёмкость ЦАПа в паре с сопротивлением обратной связи вызывает запаздывание по фазе. К сожалению, такой конденсатор ухудшает скоростные параметры ОУ, и, чтобы сохранить скоростные возможности даже дешёвых ЦАПов, могут потребоваться достаточно дорогие быстрые ОУ с малым временем установления _9 . Чуть лучше скоростные параметры имеет третья схема: ей не нужен конденсатор. Зато картину начинает портить напряжение смещения, потому что оно попадает на выход усиленным в \( G_V\) раз ( на схеме в 100 раз ).
Важное предупреждение : Начальная точность ( т.е. ток полной шкалы \(I_{out}\) ) и её стабильность по отношению к разрешению в токовых ЦАПах слишком часто бывает неправдоподобно плох. Разброс величины полного выходного тока 2:1 (!) от микросхемы к микросхеме не является чем-то необычным. Что с этим делать? Большинство ЦАПов с выходом по току имеет в своём составе резистор для цепи обратной связи хорошо согласованный с R-2R делителем ( рис. 13.9 ). Если его не использовать, можно получить ошибку ±25% , а то и больше, причём, даже если убрать её подстройкой, останется ещё дрейф усиления ( который в паспортных данных обычно не указывается ), каковой дрейф в случае использования внутреннего резистора будет на два порядка меньше.
Рис. 13.9 Включение R-2R ЦАПа с выходом по току с использованием внутреннего резистора обратной связи, согласованного по номиналу и температурному коэффициенту с основным делителем. За отказ от использования \(R_{FB}\) производитель ответственности не несёт!
==886
Примером может служить LTC8043. Это улучшенная версия ставшего промышленным стандартом DAC8043 - 12-разрядного умножающего ЦАПа. Для самой лучшей версии ( с суффиксом «-E» ) заявлена ошибка усиления на уровне ±1% для наихудшего случая и температурный коэффициент 5 ppm/°C (max) и, вдобавок, гарантируется максимальная интегральная и дифференциальная нелинейность ±0.5% , см. §13.4 . Очень впечатляющие характеристики. Следует, однако, обратить внимание на сноску, сообщающую, что указанные характеристики относятся к случаю «использования внутреннего резистора обратной связи». А если его не использовать? А спецификация ничего об этом не говорит! Но можно предположить, что она могла бы сказать. Входное сопротивление делителя R-2R ( которое можно увидеть на входе «Vref» ) равно 11 kΩ ( номинал) и может лежать в диапазоне от 7 kΩ (min) до 15 kΩ (max). Т.е. микросхема, гарантирующая исключительную точность усиления ( ±0.024% при использовании внутреннего согласованного резистора для организации обратной связи внешнего ОУ ), имеет на самом деле совершенно непристойные 10 ±35% абсолютной ошибки усиления с токовым выходом ( или, что одно и то же, с внешними и резистором обратной связи, и ОУ для выхода по напряжению ) 11 .
Итого: если производитель токового ЦАПа предлагает резистор обратной связи в составе микросхемы, требуются очень серьёзные основания его не использовать.
Ещё одно «итого»: если нужен биполярный выход, возникает соблазн взять ток из суммирующей точки [* т.е. с инвертирующего входа ОУ ] ( он получается из \( V_{REF}\) ) ( рис. 13.9 ). Так поступать не надо! Вместо этого надо подключить разностный усилитель к \( V_{out}\) , используя \( V_{REF}\)/2 в качестве опорного уровня для второго входа.
13.2.6 Шесть ЦАПов
Чтобы лучше разобраться со всем, изложенным выше, рассмотрим несколько относительно простых ЦАПов со средними параметрами. Под «средними» понимается то, что производитель не пытается с их помощью подобраться поближе к пределам скорости и точности, вместо этого пытается снизить цену и размеры и упростить использование. Их достаточно просто поставить на плату и они, считай, уже работают. Далее, в §13.3 , будут рассматриваться схемы, чувствительные к высоким параметрам используемых преобразователей. Такие задачи требуют аккуратной проработки схемы, чтобы реализовать все возможности ИМС.
Обратимся к рис. 13.10 и сопровождающей его табл. 13.1 . Микросхемы были выбраны почти случайно из многих тысяч ( это не шутка! ) имеющихся ЦАПов, без привязки к конкретному производителю. Разрешение колеблется от 8 до 14 разрядов, время установления - от 4 до 10 μs . Все они, кроме E, относятся к ЦАПам с выходом по напряжению.
Рис. 13.10 Шесть образцов ЦАПов, параметры которых даны в табл. 13.1 . В верхнем ряду DAC7571, LTC2630 и MAX5222 - типичные недорогие конверторы с последовательным управлением в компактных корпусах ( SPI и I2C интерфейсы разбираются в §14.7 ). DAC7621 ( вариант D) имеет параллельную шину, а C8051 и вовсе микроконтроллер, включающий в дополнение к двум ЦАПам массу иной периферии
Рассмотрение начнём сверху: с _A по _C - микросхемы с однополярным питанием и последовательным интерфейсом, поэтому влезают в корпус SOT23 и даже SC70. Первыми идёт пара ЦАПов, использующих напряжение питания в качестве опорного, т.е. напряжение полной шкалы \( V_{FS}\) равно \( V_{DD}\) . Один управляется через SPI, другой - через I2C ( вывод «A0» выбирает десятичный адрес 76 или 77 ) 12 . Если нужно стабильное опорное напряжение, отличное от \( V_{DD}\) , хорошим выбором будет вариант _B - LTC2630. Его внутренний опорный источник имеет вполне достаточную для доступных разрешений стабильность ( ±10 ppm/°C , тип. ), хотя абсолютная точность средненькая ( полная шкала ±0.2% тип., ±0.8% max ). Серия LTC2630 включает «высоковольтный» вариант с опорой 4.096 V ( т.е. 1.0 mV/LSB ), у которого диапазон питания ограничен 4.5—5.5 V ( номинальное значение 5V ), и микросхемы с разрешением 8 и 10 разрядов.
==887
Засунуть ЦАП с последовательным интерфейсом I2C ( 2 вывода без выбора адреса ) в 6-ногий корпус можно, но в варианте _C предпочли добавить пару контактов - на внешнюю опору и «/CS» для 3-проводного SPI 13 . В SOT23-8 шаг выводов уменьшен с 0.95 до 0.65 mm , благодаря чему общие габариты корпуса не изменились.
В нижнем ряду ( вариант _D ) располагается конвертер с параллельной шиной, которая растеряла былую популярность ( исключая сверхскоростной сегмент, например AD9739 с 2500 Msps ). Единственным приложением, где параллельное соединение заменить нельзя, является прямое подключение преобразователя к счётчику: без микроконтроллеров, без программирования, только провода [* но и сами такие приложения остались уделом старых пердунов ] .
Наконец, «ЦАП» _E , который на самом деле просто один из периферийных модулей законченного микроконтроллера, имеющего на кристалле программную память, ОЗУ, таймеры, порты ввода-вывода, внешние интерфейсы ( параллельный, SPI, UART ), генератор и 12-разрядный 200 ksps АЦП с 24-канальным мультиплексором на входе. Два ЦАПа используют внутренний опорный источник и имеют токовый выход ( выходной ток от 0.25 до 2.0 mA ) и способны работать с потенциалами на выходе, не доходящими до уровня питания ( 2.0—5.25 V ) на 1.2 V . Там ещё и вычислительное ядро есть ( 50 миллионов инструкций в секунду ) и аппаратный отладчик, встроенный в микросхему. Всё это упаковано в корпус QFN-28 ( 5×5 mm ). Вот такие микросхемы продают нынче в магазинах.
==888
13.2.7 Сигма-дельта ЦАПы
Этот метод получения аналогового сигнала из цифрового кода довольно сложен и требует некоторых усилий для осознания всех предоставляемых возможностей ( см. табл. 13.11 на стр. 939 ). Детальный разбор отложим до §13.9 , а здесь только кратко опишем принцип действия. Метод состоит в создании потока импульсов, передаваемых на выход с высокой скоростью. Амплитуда импульсов и их ширина фиксированы, а входному коду соответствует наличие или отсутствие импульса в каждом промежутке битовой синхронизации. ( Можно вообразить последовательность импульсов со скважностью, пропорциональной входному коду, но сигма-дельта метод на самом деле гораздо сложнее ). После прохождения импульсной последовательностью ФНЧ с частотой среза, лежащей гораздо ниже тактовой частоты, получается аналоговый сигнал.
Иногда такую схему называют «однобитным ЦАПом». Название совершенно неправильное и дезориентирующее, потому что такие устройства создают фантастически линейный выходной сигнал с высоким разрешением. Он очень широко используется в профессиональной звуковой аппаратуре. Хорошим примером может служить AD1955 - сдвоенный ( стерео ) АЦП, имеющий разрешение 20 разрядов ( динамический диапазон 120 dB ) при тактировании частотой 12 MHz 14 .
13.2.8 ШИМ в качестве цифро-аналогового преобразователя
Ещё одним способом создания аналоговых величин из цифровых значений является широтно-импульсная модуляция ( PWM ). Метод качественно отличается от только что описанного настоящего ЦАПа, потому что не создаёт аналоговую величину прямо. Способ широко используется для работы с инерционной нагрузкой типа нагревателей. Основная идея: постоянный повтор цикла из N тактов, причём первые k тактов нагрузка включена, а следующие N–k тактов - выключена. Отношение k/N ( скважность ) пропорционально цифровому коду ( рис. 13.11 ). Такую систему легко делать с помощью счётчика. схемы сравнения битовых последовательностей и тактового генератора ( см. упражнение 13.3 ). Медленная [* по сравнению с частотой тактирования ] нагрузка проводит усреднение по всему циклу. Такой вариант гораздо эффективнее, нежели использование пропорционального аналогового сигнала с точно выверенной амплитудой, потому что в ШИМ управляющим элементом выступает ключ [* , работающий в режиме насыщения ] , с очень низким собственным тепловыделением и гораздо более простой конструкцией, чем линейный усилитель. Техника стала очень популярной с появлением звуковых усилителей «класса-D» ( §2.4.1.C ) и схем управления внешней нагрузкой типа шаговых двигателей или приводов постоянного тока ( §9.9 ). Многие микроконтроллеры имеют специальные режимы таймеров для работы с ШИМ, но даже при их отсутствии нужный сигнал легко получить программными методами.
Рис.13.11 Широтно-импульсная модуляция ( PWM ) - метод управления медленными устройствами, которые могут усреднять сигнал по времени. Для показанной на рисунке нагрузки переменного тока тактовый генератор полезно синхронизировать с частотой питающей сети
Чтобы получить напряжение, пропорциональное цифровому коду на входе ( т.е. пропорциональное среднему времени нахождения в состоянии «включено» ) PWM-сигнал можно пропустить через ФНЧ, но чаще такую модуляцию используют для прямого управления медленными системами. Фактически формируются точные порции энергии, которые усредняются уже в нагрузке. Например, нагрузка может быть емкостной ( как в ключевых источниках питания, см. Часть _9 ), резистивной ( нагреватели ), механической ( двигатели постоянного тока и шаговые ) или электромагнитные ( управление мощными электромагнитами ).
ШИМ привлекает своей простотой и естественной совместимостью с цифровыми устройствами типа счётчиков и мощных МОП ключей, но имеют несколько серьёзных недостатков. Скажем, если нужно иметь хорошее разрешение в отношении k/N , требуется большое N , но любой таймер имеет некоторую максимальную частоту счёта \( f_{clk} \) , которая определяет длительность цикла \( f_c=f_{clk}\) /N . Для ШИМ сигналов, охваченных обратной связью ( см., например, §15.6 ), такое условие влечёт за собой ограничение петлевого усиления и рабочей полосы.
В жизни с ШИМ чаще всего приходится сталкиваться в устройствах на микроконтроллерах. Иногда есть возможность выбрать нужную модель под заданные требования к ШИМ, иногда нет. Например, дальше в §13.9.11.B выбор был сделан в пользу TI MSP430F2101, потому что в нём есть аналоговый компаратор. Возникает вопрос, какие режимы ШИМ поддерживает данный процессор? Лаконичные паспортные данные объемом в жалкие 88 страниц этого не скажут, и за ответом придётся лезть в 693-страничный талмуд под названием «Руководство пользователя», где «таймеру_A» и «таймеру_B» отведено по 40 страниц каждому.
==889
На рис. 13.12 показан MSP430F2002 ( имеющий 10-разрядный АЦП вместо компаратора ), который управляет мощным двигателем постоянного тока. Для мостовой схемы управления взяты четыре МОП транзистора, а их ток устанавливается сигналом ШИМ. Неподготовленный разработчик ожидает получить в такой схеме нулевой ток при 50%-скважности управляющего сигнала, но такое положение верно только для заторможенного двигателя, потому что «обратная ЭДС» разрушает исходную простую концепцию. Приходится использовать два резистора, и два инструментальных усилителя с G =80 ( §5.15 ), чтобы измерять прямой и обратный токи с помощью имеющегося в µC АЦП и рассчитывать ток, требуемый для заданного крутящего момента 15 . Усилитель может работать от однополярного источника, если вывод опорного напряжения отстоит от земли как минимум на +0.8 V ( см. табл. 5.8 на стр. 363 ). В схеме использована МС опорного источника на 1.25 V .
Рис. 13.12 Управление крутящим моментом двигателя с помощью широтно-импульсной модуляции
В микроконтроллере есть пара 16-разрядных таймеров с возможностью выбора источника тактирования и коэффициента деления. Максимальная скорость счёта - 16 MHz , что определяет частоту сигнала ШИМ при полном 16-разрядном разрешении \( f_c \) =244 Hz . N можно установить и на меньшее, чем 216 , разрешение. Для этого «таймер_A» имеет два регистра захвата/сравнения (CCR1 и CCR2), которые могут использоваться для формирования двух независимых сигналов ШИМ ( но с одной длительностью цикла, определяемой числом N в CCR0). Если, скажем, требуется частота сигнала \( f_c \) =10 kHz , а тактируется система с \( f_{clk} \) =16 MHz , то N=\( f_{clk}\space/f_c\) =1600 отсчётов и разрешение ШИМ будет ограничено 10 разрядами или 1024 градациями [* ( 210 ) 1024 < 1600 < 2048 ( 211 ) ] . Да, всего 10 бит 16 .
Пример наглядно показывает, зачем могут понадобиться внешние микросхемы ЦАП микроконтроллеру, имеющему ШИМ режимы работы таймеров. Альтернативой внешним микросхемам может служить внутренний цифровой сигнал ( если он, конечно, есть ) сигма-дельта ЦАПа: его полоса и разрешение лучше, если сравнивать с \( f_c=f_{clk} \) /N для простого ШИМа 17 .
Упражнение 13.3
Спроектируйте схему, создающую поток импульсов частотой 10 kHz , ширина которых пропорциональна входному 8-разрядному коду. Необходимо использовать счётчик и цифровой компаратор, расширенные до нужной разрядности.
13.2.8.A Необычный ЦАП для ШИМ сигнала
Завершим тему ШИМ рассмотрением необычной микросхемы фирмы Linear Technology. Речь идёт о LTC2644 ( сдвоенном ) и LT2645 ( счетверённом ) аналого-цифровом преобразователе для входных сигналов в формате ШИМ. Каждый канал измеряет скважность ( часть цикла, приходящуюся на активный уровень сигнала ) для каждого цикла входного сигнала и превращает его в постоянное напряжение, которое выдаёт и удерживает на выходе. Имеются версии с 8-, 10- и 12-разрядным разрешением, все имеют встроенный опорный источник 10 ppm/°C и RR выход. Это очень сильное улучшение классической низкочастотной фильтрации для ШИМ. Возможности просто возмущают!
Табл. 13.1 Шесть Цифро-аналоговых преобразователей Notes: (a) 10 bit and 8 bits avail, $2.63. (b) 5V logic OK. (c) choice of ^dd or \( V_{REF}\) , 2.5 V or 4.096 V avail. (d) double buffered. (e) software select 0.25 mA to 2 mA, by factors of 2. ( f) compliance to VCC-1.2 V. (m) max.
==890
13.2.9 Преобразователи частота-напряжение
В реальных устройствах входные «цифровые» данные могут представлять собой последовательность импульсов или сигналов другой формы. В таком случае прямое преобразование частоты в напряжение иногда удобнее, чем расчёт параметров и преобразование по уже описанной схеме. В случае прямого F/V-преобразования для каждого входного цикла на выходе создаётся импульс стандартной длительности. Это может быть импульс напряжения или тока, т.е. фиксированная порция заряда.
Интегратор или простой RC фильтр сглаживает получившуюся последовательность, создавая напряжение, пропорциональное средней частоте. Некоторые пульсации на выходе, конечно, присутствуют, но задачей фильтра является просто доведение их до уровня, меньшего точности D/A-преобразования ( т.е. ½LSB ). Фильтрация неизбежно ухудшает отклик, и чтобы иметь уверенность, что борьба за точность не слишком замедляет реакцию, следует выбирать постоянную времени RC цепи так, чтобы \(τ\) ≥ 0.69(n+1) \( T_0\) , где \( T_0\) - период выходного цикла n-разрядного F/V-преобразователя, соответствующий максимальной входной частоте. Изменение сигнала от нуля до максимального значения ( оно занимает 0.69(n+1) от величины \( T_0\) ) приводит к установлению выхода до точности ½LSB ( выход, напомним, также требует 0.69(n+1) от постоянной времени фильтра, также равной \( T_0\) ) . В итоге время установления с точностью ½LSB равно \(τ\) = (0.69)2 (n+1)2 \( T_0\) . 10-разрядный преобразователь F/V с максимальной входной частотой 100 kHz , сглаженный RC фильтром, будет иметь время установления выходного напряжения 0.6 ms . Использование более сложных фильтров ( с более крутыми срезами ) улучшит положение. Но прежде, чем погружаться в удивительный мир фильтров, следует ещё раз вернуться к исходной цели: преобразование частоты в напряжение часто используется не для получения собственно напряжения. Задачу следует рассматривать во всей полноте, как это делалось в теме управления медленной нагрузкой с помощью ШИМ ( §13.2.8 ).
13.2.10 Прореживатель импульсов
Это несколько устаревший и редко ( очень редко! ) используемый метод. «Прореживатель импульсов» - синхронная логическая схема, которая получает на входе число в двоичной или двоично-десятичной форме, после чего пропускает ( или блокирует ) тактовые импульсы на выход с частотой пропорциональной в среднем заданному цифровому значению. Такие микросхемы имеются в известных логических семействах ( CD4089, CD4527 или SN7497 [* наконец-то я узнал, зачем делали К155ИЕ8 - умру просветлённым ] ), но можно собрать что-нибудь своё. Выходной сигнал усредняется как в F/V-преобразователях и превращается в постоянное напряжение, пропорциональное выходному коду. Данный способ имеет очень большую постоянную времени, потому что здесь усреднение происходит по самому большому промежутку времени ( т.е. 2n/\( f_{clk}\space\) для прореживателя импульсов n-разрядной длины ). Как и в случае ШИМ этот способ наиболее удобен при работе с инерционной нагрузкой.
Приложениями, для которых такой способ подходит в наибольшей мере, являются системы термоконтроля. Каждый цикл сетевого напряжения проходит через нагреватель, если на выходе прореживателя есть импульс. Для таких задач схема организуется таким образом, чтобы самая низкая частота была кратна сетевой частоте, а для переключения ( причём, при переходе сетевого напряжения через ноль ) используется тиристор или твердотельное реле с управлением от логического сигнала.
==891
Отметим, что четыре последних метода преобразования предполагают какую-то форму усреднения по времени, в то время как делитель и переключаемые источники тока «инерции» не имеют и действуют мгновенно. Такая же картина наблюдается в методах аналогово-цифровых преобразований, но там факт усреднения сигнала или отсутствия усреднения перед оцифровкой может иметь очень большое значение, что станет очевидно совсем скоро.
13.2.11 Выбор ЦАПа
Чтобы облегчить выбор микросхем под нужную задачу были составлены табл. 13.2 и 13.3 с ЦАПами различной точности и скорости. Список не претендует на исключительную точность, но включает как многие из наиболее популярных моделей, так и несколько свежих микросхем, претендующих на статус улучшенной замены.
В поисках ЦАПа надо учитывать следующие вопросы:
- разрешение;
- скорость ( время установления, скорость смены кода );
- точность ( линейность, монотонность, возможность внешней подстройки );
- интерфейс ( параллельный, последовательный, с буферированием, КМОП/ТТЛ/ЭСЛ? );
- опорное напряжение ( внутреннее, внешнее, умножающий ЦАП );
- выход ( по току, комплементарный, по напряжению, диапазон );
- напряжение питания, потребление;
- число преобразователей в корпусе;
- корпус;
- цена.
==891
5 Эти ребята не больно-то щедры на запятые. Был соблазн добавить парочку, чтобы слегка разрядить напряжённый строй предложения, но цитата - это цитата, верно ведь? <-
6 Зато данный метод позволяет использовать нестандартные значения токов. <-
7 Отметим, что, если учитывать допуски номиналов, R-2R, в отличие от ЦАПа на цепочке резисторов, не гарантирует монотонность. Тем не менее, промышленность много сделала, чтобы большинство моделей R-2R были монотонны на уровне 1 LSB . <-
8 Тот же принцип используется в схемах §4.3.5 , §4.6.4 , §7.1.3.D и §10.4.5.A . <-
9 Некоторые токовые ЦАПы имеют неожиданно большую выходную ёмкость \( C_{out}\) , например, для 12-разрядного MDAC LTC7541 она составляет 200 pF . В таком случае нужен стабилизирующий конденсатор \( C_1 \) величиной \( C_1>\sqrt{C_{out}/( 2πf_TR_f)}\) , см. §8.11.6 и §X4.3 . Для такого случая следует выбирать ОУ с достаточно высоким значением \( f_T \) , чтобы минимизировать ёмкость \( C_1 \) . В некоторых быстрых токовых ЦАПах имеются специальные конструктивные решения для удержания \( C_{out}\) в пределах 5 pF . <-
10 Да, непристойные! Очень, очень грустно обнаружить столь плохие цифры точности и дрейфа усиления в таком месте! <-
11 Можно, конечно, задать вопрос, почему производитель, чьи микросхемы знамениты выдающимися параметрами, не может сделать резисторы с хотя бы «неплохой» абсолютной точностью? Хороший вопрос. Похоже, производственный процесс оптимизирован для наилучшей согласованности, а абсолютные цифры стоЯт далеко не на первом месте. <-
12 Чуть более дешёвой заменой для 14-разрядного AD5641 являются AD5601/11/21 ( 8...12 бит ), а DAC7512 - SPI версия для DAC7571. <-
13 Единственным упущением является отсутствие двойного буферирования и 16-разрядный режим записи. Из-за особенностей управляющего слова оба канала могут обновляться строго по очереди. <-
14 На самом деле это т.н. «мультибитный» сигма-дельта АЦП, который занимается читерством и создаёт несколько параллельных однобитных потоков, см. §13.9 . <-
15 Можно использовать разницу напряжений между двумя резисторами, но тогда на АЦП будет приходит биполярный сигнал. <-
16 В сервоприводах очень часто присутствует требование держать частоту модуляции за пределами слышимого человеком диапазона частот. В данном примере придётся использовать N = 800 , т.е. \( 2\space^9\) =512 . Ещё один бит потерян. <-
17 Есть специальные ИС, предназначенные для мощных звуковых выходных каскадов, нагруженных на динамики. Они принимают цифровой поток в специальном звуковом формате ( например, I2S ) и формируют сигнал управления мостом на МОП транзисторах. Некоторые из них даже содержат такой мост внутри: это так называемые «однокристальными решениями для PCM-управления» динамиками. <-