Как стать автором
Обновить

Почему аналоговая электроника такая сложная. Часть 2. R2R ЦАП

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров11K

В первой части я подробно рассмотрел устройство делителя напряжения, который уже обладает нелинейностью, , являясь при этом простейшей аналоговой цепью. Использовать такой делитель напряжения можно только, если крайне малый ток будет утекать в нагрузку из-за ее сравнительно большого сопротивления.

В этой статье мы рассмотрим одну широко известную аналоговую схему, которая полностью составлена из делителей напряжения. Да еще и с фиксированными номиналами напряжений и сопротивлений. Разве это может быть сложным? Еще как!

Схема эта называется R2R ЦАП и все знают, каков ее принцип работы, но при этом мало кто может ее рассчитать. Вот этим мы и займемся, рассчитаем R2R ЦАП.

Если вы еще не пробовали, то попробуйте рассчитать R2R ЦАП самостоятельно. А уже потом возвращайтесь к этой статье. Вы получите достаточный контекст для ее восприятия.

Сразу скажу, что цель статьи не в том, чтобы продемонстрировать навыки решения систем линейных уравнений. В этой статье мы увидим, как теоретические знания реально помогают легко делать то, что ранее казалось магией.

База

Схема мультибитного R2R ЦАПа довольно проста и изображена на рисунке.

6-бит ЦАП
6-бит ЦАП

Он состоит из n-каскадов с одинаковыми (внутри касакада) номиналами сопротивлений. Сколько бит - столько и каскадов. К входам вы прикладываете цифровые напряжения (0 или 1), а на выходе получаете одно из 2^n аналоговых уровней напряжения

в диапазоне от 0 до \frac{2^n - 1}{2^n}V с шагом \frac{V}{2^n}.

К примеру, максимальное напряжение, которое может выдать 8-бит ЦАП (255/256)V

Основная сложность в изготовлении такого ЦАПа на практике заключается в том, что необходимо соблюсти высокую точность всех сопротивлений. Если вы хотите сделать 16-битный ЦАП, то сопротивления должны иметь погрешность в районе \frac{1}{65536}, что на несколько порядков меньше 1%.

В этой статье я буду рассчитывать идеальный R2R ЦАП, поэтому и сопротивления я буду использовать идеальные.

1-бит

Однобитный ЦАП прост для понимания. Это делитель напряжения с плечами 2R и 2R.

Он способен сгенерировать 2^1 уровней напряжения:

V_0 = 0, V_{out} = 0

V_0 = V, V_{out} = \frac{V}{2}

Почему плечи не R и R, а 2R и 2R? Мы пока не задаемся этим вопросом, а просто пытаемся рассчитать известную схему.

Также мы считаем, что нагрузка, подключенная к этому ЦАПу буферизованная, то есть вообще не потребляет ток, а значит и не перекашивает выходное напряжение. Этого эффекта можно добиться, подключив операционный усилитель по неинвертирующей схеме. Подробней об операционниках было в моей статье об обратных связях. Так что и далее мы будем считать, что никакой ток из ЦАПа не уходит в нагрузку.

2-бит

Подключим к однобитному ЦАПу следущий бит.

Схема усложнилась не очень сильно, а вот вычисление выходного напряжения усложнилось радикально.

Давайте увидим, что V_{out} это функция от V_0 и V_1, которые могут принимать только цифровые значения 0 или 1. Все остальные элементы цепи не меняются. Достаточно каждой комбинации входных напряжений поставить в соответствие выходное напряжение и можно считать, что схема рассчитана.

Звучит, как простой план, однако для каждой комбинации входных напряжений мы имеем уникальную цепь, для которой необходимо вычислить эквивалентные сопротивления, чтобы в итоге вычислить напряжение выхода.


Если проделать это, то в результате будет видно, что значения получаются верные, а схема работает.

V_0 = 0\space V_1 = 0\space \to Vout = 0

V_0 = 1\space V_1 = 0\space \to Vout = 1/4

V_0 = 0\space V_1 = 1\space \to Vout = 1/2

V_0 = 1\space V_1 = 1\space \to Vout = 3/4

Однако, если добавить еще один бит, то количество вариантов удвоится, схема снова будет работать, но понимания, почему так получается, не прибавится. Поэтому я не буду идти по этому пути.

Предлагаю найти способ аналитически выразить выходное напряжение через входные. Для этого у нас есть всеми любимые правила Кирхгофа, которые в мире аналоговой электроники являются лобовым методом решения задачи.

Я переименовал точки схемы 2-бит ЦАПа, так как нам нужно будет обозначать силы тока на участках цепи. Запишем систему уравнений.

6 уравнений и 6 неизвестных. Найдем ее решение. Нас больше всего интересует значение V_D, которое соответствует напряжению выхода.

Скрытый текст

Кто-то очень внимательный может заменить, что не обязательно записывать настолько большую систему уравнений. Ток I_{CD} всегда равен сумме токов двух ветвей цепи, которые приходят от V_A и V_B. Запишем одно уравнение, из него найдем Vc, а потом через делитель напряжения найдем V_D. В итоге удается обойтись системой из двух уравнений.

Скрытый текст

Чтож, мы показали, что 2-бит ЦАП работает. Двигаемся дальше.

3-бит

Обновим схему для 3-битного ЦАПа. Чтобы рассчитать его, необходимо найти напряжения V_D, V_E и V_F.

Воспользуемся предыдущим способом и запишем систему уравнений. Ток в участок DO втекает из двух ветвей. Ток в учаток ED втекает из двух других ветвей. Этих двух уравнений достаточно, чтобы найти V_E и V_D. Уравнение для делителя напряжения потребуется, чтобы найти напряжение выхода V_F.

Скрытый текст

В результате мы получим заветную формулу, которая показывает, что 3-бит ЦАП работает. Но желания двигаться дальше не возникает. Почему?

Потому что известно, что R2R ЦАП работает для любого числа разрядов. А текущий метод позволяет нам найти решение только для текущей битности. Конечно, можно составить систему уравнений в общем виде и найти ее решение.

Но встает другой вопрос. Человек, который разрабатывал R2R ЦАП, сидел и наудачу решал системы уравнений? Или он знал какой-то секрет, который многократно упрощал решение этой задачи.

Секрет

Если вы читали легендарное руководство по схемотехнике Хоровица и Хилла, то вспомните, что изложение там начинается с исследования делителя напряжения.

Дальше авторы переходят к теореме Тевенина. Они зачем-то применяют эту теорему к делителю напряжения. Лично мне после этого примера стало еще менее понятно зачем эта теорема нужна. Разве не существует какого-то более яркого примера схемы, на котором будет "легко видно" преимущество использования этой теоремы?

Я вспомнил о теореме Тевенина, только когда пытался рассчитать R2R ЦАП. Напомню условия теоремы.

Любая схема с двумя терминалами, внутри которой постоянные источники тока, источники напряжения и импедансы, может быть представлена в виде последовательно соединенного источника напряжения Uth и эквивалентного сопротивления Rth.
Uth равно напряжению на выходах схемы без нагрузки.

Rth это сопротивление источника напряжения, которое обеспечивает такой же ток, как и в исходной схеме, терминалы которой замкнуты накоротко.

Проще показать на примере.

Начнем с 1-бит ЦАПа. Это тот самый делитель напряжения.

Если к нему не приложена нагрузка, то напряжение выхода

V_{th}^0 = V \frac{2R}{2R+2R}

Замкнем терминалы. Проверьте себя, какие у этой схемы терминалы?

Замкнем выход на землю.

\frac{V_{th}^0}{R_{th}^0} = \frac{V}{2}\frac{1}{R_{th}^0} = \frac{V}{2R} \to R_{th}^0 = R.

Сейчас мы сделали очень большое дело - избавились от делителя напряжения. Мы убрали соединение с общим проводом. Сейчас выход этого ЦАПа связан с напряжением на источнике. Это нам поможет в будущем, когда мы добавим каскад 2-го бита.

Напряжение Vth1 это напряжение выхода делителя напряжения.

V_{th}^1 = V_{th}^0 + \frac{2R}{4R}(V_1 - V_{th}^0).

Если упростить, то это будет ровно середина между уровнем V_1 и V_0/2

Эквивалентное сопротивление находим через сумму токов с обоих источников напряжения

\frac{V_{th}^1}{R_{th}^1} = \frac{V_1/2 + V_0/4}{R_{th}^0} = \frac{V_0/2}{2R} + \frac{V_1}{2R} \to R_{th}^1 = R

Теперь, когда мы добавим каскад 3-го бита, для нас почти ничего не изменится. Напряжение на выходе равняется середине между V_2 и V_{th}^1, а эквивалентное сопротивление R_{th}^2 аналогично будет равняться R. Таким образом, мы можем повторять процедуру итеративно, чтобы получить ЦАП необходимой нам битности.

Заключение

Используя теорему Тевенина, мы получили решение задачи без необходимости решать СЛАУ и перебирать варианты входных напряжений.

Но для меня самое важное в этом то, что наличие хорошего примера создает правильный контекст для восприятия инструмента. Применить теорему Тевенина к делителю напряжения, как это сделали Хоровиц и Хилл, можно, но не ясно, какой в этом смысл.

С другой стороны смысл становится максимально понятен на контрасте. После решения нескольких систем уравнения без какой-то надежды на будущее, для любого станет очевидным мощь данной теоремы.

Если вам хочется закрепить навыки из этой статьи, я предлагаю самостоятельно рассчитать схему, построенную по такому же принципу, но с другими номиналами сопротивлений. Например:

Может, у кого-то получится открыть ЦАП с новыми интересными свойствами. Задача реально сложная, я и сам над ней начал думать.

Кто-то скажет, зачем об этом думать? Ответ очевиден: чтобы победить функциональную фиксацию.

Всем спасибо за внимание. Желаю удачи в ваших исследованиях!

Теги:
Хабы:
Всего голосов 19: ↑18 и ↓1+24
Комментарии21

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань