В первой части я подробно рассмотрел устройство делителя напряжения, который уже обладает нелинейностью, , являясь при этом простейшей аналоговой цепью. Использовать такой делитель напряжения можно только, если крайне малый ток будет утекать в нагрузку из-за ее сравнительно большого сопротивления.
В этой статье мы рассмотрим одну широко известную аналоговую схему, которая полностью составлена из делителей напряжения. Да еще и с фиксированными номиналами напряжений и сопротивлений. Разве это может быть сложным? Еще как!
Схема эта называется 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-го бита, для нас почти ничего не изменится. Напряжение на выходе равняется середине между и , а эквивалентное сопротивление аналогично будет равняться . Таким образом, мы можем повторять процедуру итеративно, чтобы получить ЦАП необходимой нам битности.
Заключение
Используя теорему Тевенина, мы получили решение задачи без необходимости решать СЛАУ и перебирать варианты входных напряжений.
Но для меня самое важное в этом то, что наличие хорошего примера создает правильный контекст для восприятия инструмента. Применить теорему Тевенина к делителю напряжения, как это сделали Хоровиц и Хилл, можно, но не ясно, какой в этом смысл.
С другой стороны смысл становится максимально понятен на контрасте. После решения нескольких систем уравнения без какой-то надежды на будущее, для любого станет очевидным мощь данной теоремы.
Если вам хочется закрепить навыки из этой статьи, я предлагаю самостоятельно рассчитать схему, построенную по такому же принципу, но с другими номиналами сопротивлений. Например:
Может, у кого-то получится открыть ЦАП с новыми интересными свойствами. Задача реально сложная, я и сам над ней начал думать.
Кто-то скажет, зачем об этом думать? Ответ очевиден: чтобы победить функциональную фиксацию.
Всем спасибо за внимание. Желаю удачи в ваших исследованиях!