В первой части я подробно рассмотрел устройство делителя напряжения, который уже обладает нелинейностью, , являясь при этом простейшей аналоговой цепью. Использовать такой делитель напряжения можно только, если крайне малый ток будет утекать в нагрузку из-за ее сравнительно большого сопротивления.
В этой статье мы рассмотрим одну широко известную аналоговую схему, которая полностью составлена из делителей напряжения. Да еще и с фиксированными номиналами напряжений и сопротивлений. Разве это может быть сложным? Еще как!
Схема эта называется R2R ЦАП и все знают, каков ее принцип работы, но при этом мало кто может ее рассчитать. Вот этим мы и займемся, рассчитаем R2R ЦАП.
Если вы еще не пробовали, то попробуйте рассчитать R2R ЦАП самостоятельно. А уже потом возвращайтесь к этой статье. Вы получите достаточный контекст для ее восприятия.
Сразу скажу, что цель статьи не в том, чтобы продемонстрировать навыки решения систем линейных уравнений. В этой статье мы увидим, как теоретические знания реально помогают легко делать то, что ранее казалось магией.
База
Схема мультибитного R2R ЦАПа довольно проста и изображена на рисунке.
Он состоит из n-каскадов с одинаковыми (внутри касакада) номиналами сопротивлений. Сколько бит - столько и каскадов. К входам вы прикладываете цифровые напряжения (0 или 1), а на выходе получаете одно из аналоговых уровней напряжения
в диапазоне от 0 до с шагом .
К примеру, максимальное напряжение, которое может выдать 8-бит ЦАП
Основная сложность в изготовлении такого ЦАПа на практике заключается в том, что необходимо соблюсти высокую точность всех сопротивлений. Если вы хотите сделать 16-битный ЦАП, то сопротивления должны иметь погрешность в районе , что на несколько порядков меньше 1%.
В этой статье я буду рассчитывать идеальный R2R ЦАП, поэтому и сопротивления я буду использовать идеальные.
1-бит
Однобитный ЦАП прост для понимания. Это делитель напряжения с плечами 2R и 2R.
Он способен сгенерировать уровней напряжения:
,
,
Почему плечи не R и R, а 2R и 2R? Мы пока не задаемся этим вопросом, а просто пытаемся рассчитать известную схему.
Также мы считаем, что нагрузка, подключенная к этому ЦАПу буферизованная, то есть вообще не потребляет ток, а значит и не перекашивает выходное напряжение. Этого эффекта можно добиться, подключив операционный усилитель по неинвертирующей схеме. Подробней об операционниках было в моей статье об обратных связях. Так что и далее мы будем считать, что никакой ток из ЦАПа не уходит в нагрузку.
2-бит
Подключим к однобитному ЦАПу следущий бит.
Схема усложнилась не очень сильно, а вот вычисление выходного напряжения усложнилось радикально.
Давайте увидим, что это функция от и , которые могут принимать только цифровые значения 0 или 1. Все остальные элементы цепи не меняются. Достаточно каждой комбинации входных напряжений поставить в соответствие выходное напряжение и можно считать, что схема рассчитана.
Звучит, как простой план, однако для каждой комбинации входных напряжений мы имеем уникальную цепь, для которой необходимо вычислить эквивалентные сопротивления, чтобы в итоге вычислить напряжение выхода.
Если проделать это, то в результате будет видно, что значения получаются верные, а схема работает.
Однако, если добавить еще один бит, то количество вариантов удвоится, схема снова будет работать, но понимания, почему так получается, не прибавится. Поэтому я не буду идти по этому пути.
Предлагаю найти способ аналитически выразить выходное напряжение через входные. Для этого у нас есть всеми любимые правила Кирхгофа, которые в мире аналоговой электроники являются лобовым методом решения задачи.
Я переименовал точки схемы 2-бит ЦАПа, так как нам нужно будет обозначать силы тока на участках цепи. Запишем систему уравнений.
6 уравнений и 6 неизвестных. Найдем ее решение. Нас больше всего интересует значение , которое соответствует напряжению выхода.
Скрытый текст
Кто-то очень внимательный может заменить, что не обязательно записывать настолько большую систему уравнений. Ток всегда равен сумме токов двух ветвей цепи, которые приходят от и . Запишем одно уравнение, из него найдем Vc, а потом через делитель напряжения найдем . В итоге удается обойтись системой из двух уравнений.
Скрытый текст
Чтож, мы показали, что 2-бит ЦАП работает. Двигаемся дальше.
3-бит
Обновим схему для 3-битного ЦАПа. Чтобы рассчитать его, необходимо найти напряжения , и .
Воспользуемся предыдущим способом и запишем систему уравнений. Ток в участок DO втекает из двух ветвей. Ток в учаток ED втекает из двух других ветвей. Этих двух уравнений достаточно, чтобы найти и . Уравнение для делителя напряжения потребуется, чтобы найти напряжение выхода .
Скрытый текст
В результате мы получим заветную формулу, которая показывает, что 3-бит ЦАП работает. Но желания двигаться дальше не возникает. Почему?
Потому что известно, что R2R ЦАП работает для любого числа разрядов. А текущий метод позволяет нам найти решение только для текущей битности. Конечно, можно составить систему уравнений в общем виде и найти ее решение.
Но встает другой вопрос. Человек, который разрабатывал R2R ЦАП, сидел и наудачу решал системы уравнений? Или он знал какой-то секрет, который многократно упрощал решение этой задачи.
Секрет
Если вы читали легендарное руководство по схемотехнике Хоровица и Хилла, то вспомните, что изложение там начинается с исследования делителя напряжения.
Дальше авторы переходят к теореме Тевенина. Они зачем-то применяют эту теорему к делителю напряжения. Лично мне после этого примера стало еще менее понятно зачем эта теорема нужна. Разве не существует какого-то более яркого примера схемы, на котором будет "легко видно" преимущество использования этой теоремы?
Я вспомнил о теореме Тевенина, только когда пытался рассчитать R2R ЦАП. Напомню условия теоремы.
Любая схема с двумя терминалами, внутри которой постоянные источники тока, источники напряжения и импедансы, может быть представлена в виде последовательно соединенного источника напряжения Uth и эквивалентного сопротивления Rth.
Uth равно напряжению на выходах схемы без нагрузки.Rth это сопротивление источника напряжения, которое обеспечивает такой же ток, как и в исходной схеме, терминалы которой замкнуты накоротко.
Проще показать на примере.
Начнем с 1-бит ЦАПа. Это тот самый делитель напряжения.
Если к нему не приложена нагрузка, то напряжение выхода
Замкнем терминалы. Проверьте себя, какие у этой схемы терминалы?
Замкнем выход на землю.
Сейчас мы сделали очень большое дело - избавились от делителя напряжения. Мы убрали соединение с общим проводом. Сейчас выход этого ЦАПа связан с напряжением на источнике. Это нам поможет в будущем, когда мы добавим каскад 2-го бита.
Напряжение Vth1 это напряжение выхода делителя напряжения.
Если упростить, то это будет ровно середина между уровнем и
Эквивалентное сопротивление находим через сумму токов с обоих источников напряжения
Теперь, когда мы добавим каскад 3-го бита, для нас почти ничего не изменится. Напряжение на выходе равняется середине между и , а эквивалентное сопротивление аналогично будет равняться . Таким образом, мы можем повторять процедуру итеративно, чтобы получить ЦАП необходимой нам битности.
Заключение
Используя теорему Тевенина, мы получили решение задачи без необходимости решать СЛАУ и перебирать варианты входных напряжений.
Но для меня самое важное в этом то, что наличие хорошего примера создает правильный контекст для восприятия инструмента. Применить теорему Тевенина к делителю напряжения, как это сделали Хоровиц и Хилл, можно, но не ясно, какой в этом смысл.
С другой стороны смысл становится максимально понятен на контрасте. После решения нескольких систем уравнения без какой-то надежды на будущее, для любого станет очевидным мощь данной теоремы.
Если вам хочется закрепить навыки из этой статьи, я предлагаю самостоятельно рассчитать схему, построенную по такому же принципу, но с другими номиналами сопротивлений. Например:
Может, у кого-то получится открыть ЦАП с новыми интересными свойствами. Задача реально сложная, я и сам над ней начал думать.
Кто-то скажет, зачем об этом думать? Ответ очевиден: чтобы победить функциональную фиксацию.
Всем спасибо за внимание. Желаю удачи в ваших исследованиях!
Комментарии (18)
Jury_78
22.08.2024 11:10+2устройство делителя напряжения, который уже обладает нелинейностью
Так написано, что можно подумать, что передаточная хар-ка нелинейна, но это ж не так.
DamonV79
22.08.2024 11:10Эм... Почему же? Если нагрузка обладает конечным сопротивлением, мы получаем нелинейность передаточной характеристики. Чем меньше сопротивление нагрузки, тем дальше от линейности. Мы же рассматриваем реально работающую где-то схему, а не делитель напряжения с никуда не подключенным выходом, в сферическом вакууме с бесконечным сопротивлением.
Jury_78
22.08.2024 11:10Если нагрузка обладает конечным сопротивлением, мы получаем нелинейность передаточной характеристики.
Если нагрузка постоянна, то и передаточная хар-ка будет линейна. Я имею ввиду зависимость тока от напряжения. Может вы что то другое имели ввиду?
chnav
22.08.2024 11:10+1Очень интересная статья. Что касается схем на ОУ - сдаётся мне, что R2R ЦАП был изобретён задолго до появления ОУ. Отсюда простота и сложность одновременно.
vdvvdv
22.08.2024 11:10Мне понадобился делитель напряжения на потенциометре, но с ограничением напряжений сверху и снизу, а не от нуля до Vin. То есть нужно было поставить сопротивления сверху и снизу потенциометра . Пришлось решать систему уравнений в общем виде. На бумаге пару раз ошибался и решил в конце концов эту систему через сервис Wolfram Alpha.
gena_k
22.08.2024 11:10+2сопротивления должны иметь погрешность в районе , что на несколько порядков меньше 1%.
Подскажите, как это можно доказать и ко всем ли разрадам это применяется?
Когда моделировал r2r из минимального набора резисторов с равномерно распределённой ошибкой, на несколько порядков большей, чем относительная величина младшего разряда, то стабильно удавалось путём перебора всех перестановок получить несколько комбинаций с максимальной абосолютной ошибкой сильно меньше значения сигнала младшего разряда, не говоря о дифференциальной нелинейности, которая получалась просто ничтожной.
amartology
то просто не пытайтесь делать его как R2R матрицу, для таких задач есть совершенно другие схемы.
R2R-ЦАПы с плюс-минус произвольными размерами резисторов не надо открывать, они и так хорошо известны и широко применяются. Особенно в случаях, когда матрица не одиночная, а сдвоенная.
vadjuse Автор
покидайте ссылок, пожалуйста, мне интересно
amartology
Ссылок на что именно? На схемы ЦАП на переключаемых конденсаторах? Или на статьи про хитрые матрицв вместо R2R и C2C?
vadjuse Автор
и на то, и на другое. Чем хитрее схемы, тем лучше
vadjuse Автор
Статья не о том, как сделать цап, а о том, что аналоговая электроника довольно сложна даже в своих относительно простых проявлениях.
Очевидно, что нельзя просто так взять и сделать не то что 24-бит, но даже 16 или 8 бит цап.
amartology
Сложность аналоговой электроники сильно переоценена. Особенно там, где вместо систем сложных уравнений можно просто применить теорему Тевенина)
Восьмибитный ЦАП, кстати, скорее всего получится не совсем плохо, если его просто взять и сделать по картинкам из учебника. Особенно если топология нормально сделана. То есть это прямо уровень крепкого университетского диплома, не более того.
Bagatur
М-да... Помнится, из пригорошни сопротивлений и LPT разъёма получили ЦАП, называемый Covox. Ну, просто в середине 90-х купить звуковую карту на зарплату инженера кафедры было, мягко говоря, малореально. А так - вполне, даже игрушки были, поддерживающие такую конструкцию, вполне весело было.