Страница 1 из 1
Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 09:54:20
Штабскапитан Овечкин
Кто подскажет наиболее изящное решение?
Мои расмышлизмы не идут дальше вот такой схемы:
1. Берём с одного ЦАПа полный выход.
2. Берём со втогого выход, поделенный на 256
3. Складываем напряжения на сумматоре на базе операционника.
Вроде бы, всё просто и очевидно. Загвоздка, однако, в делителе. Как построить достаточно точный делитель? Не набирать же батарею из 256 штук прецизионных резюков!
Хотелось бы каких-то свежих мыслей, или, может быть, примеров из букваря.
Может быть, есть решение, как ловчее можно сморозить прецизионный делитель на 256.
Или, возможно, есть какая-то хрестоматийная концепция объединения ЦАПов.
Тут сразу должен оговориться - имеющиеся в наличии ЦАПы не имеют внешнего входа опорного напряжения, поэтому просто каскадировать их не представляется возможным.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 11:03:05
Meteor
Загвоздка, однако, в делителе. Как построить достаточно точный делитель?
А если выход "точного" ЦАПа пропустить через операционник с коэффициентом усиления 1/256? (Правда их придется ставить 2 последовательно, у каждого будет КУ "отрицательный")
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 11:54:28
gregor
А на кой пес 256 резисторов? Достаточно двух. Т.е. обычный делитель. Рассчитать совершенно не проблема под любой коэффициент. Прецизионные резисторы бывают разных номиналов. После делителя повторитель на опере - и все!
Правда, я не знаю - может у вашего ЦАПа 128 выходов? Тогда, конечно - 256 резисторов, плюс сумматор - ой, мама!
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 12:33:04
Штабскапитан Овечкин
Meteor писал(а):А если выход "точного" ЦАПа пропустить через операционник с коэффициентом усиления 1/256? (Правда их придется ставить 2 последовательно, у каждого будет КУ "отрицательный")
Ну так это же то же самое, что сделать резистивный делитель. Тут пять без резюков 1/256 не обойтись.
Meteor писал(а):А на кой пес 256 резисторов? Достаточно двух. Т.е. обычный делитель. Рассчитать совершенно не проблема под любой коэффициент.
Да конечно же, не проблема! Когда прецизионных резюков под руками как грязи. Любых номиналов. У нас в городе я нашёл только 1 номинал, 417 ом 0.1%. Думаю, на этом форуме нет таких людей, которым надо объяснять, как построить резистивный делитель напряжения! И что
в принципе-то для этого достаточно двух сопротивлений!
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 15:23:23
gregor
Ну, встречаются и такие люди, которым нужно объяснять что такое делитель вообще.
Кроме того, далеко не каждый участник форума знаком с ситуацией о наличии радиоэлекронных компонентов в Великом Новгороде, а вы эту проблему сразу не обозначили, поэтому соответствующая реакция.
Но и в этой ситуации можно обойтись меньшей кровью, если сделать многоступенчатый делитель - каждая ступень делит на два. Понадобится всего 8 ступеней и 16 резисторов. Правда, погрешность будет накапливаться. Кроме того резисторы можно подобрать и из обычных - если есть измерительные приборы соответствующего класса. Только вот ваших требований по допустимой погрешности мы не знаем.
ПС Да, кстати, вы еще и не указали минимальное сопротивление нагрузки вашего ЦАПа.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 15:34:03
Meteor
Штабскапитан Овечкин писал(а):Ну так это же то же самое, что сделать резистивный делитель. Тут пять без резюков 1/256 не обойтись.
Ну это как подходить. Во всяком случае думаю найти три резистора, например 1 Ом, 240 Ом и 16 Ом проще. И сделать каскад с ними с КУ равным - 256. Не самый лучший способ - поставить "корректирующий" резистор.
На выходе ОУ будете иметь ослабленный сигнал в 256 раз
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 15:44:06
Штабскапитан Овечкин
Штабскапитан Овечкин писал(а): Понадобится всего 8 ступеней и 16 резисторов.
Ну вот! Уже теплее. Ступенчатый делитель это уже мне, пожалуй, подойдёт. Я очень предусмотрительно закупил 40 штук вышеназванных прецизионных резюков. Батарею из 16 штук соорудить - не проблема.
Надо же, как просто всё оказалось. И чево это я сам не додумался?! Остановлюсь, пожалуй, на этом варианте.
Душевно благодарю за идею.
В пердыдущем посте выступил резковато и не совсем по делу. Каюсь.

Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 16:25:26
Meteor
Батарею из 16 штук соорудить - не проблема.
А не боитесь с такими погрешностями, набрать и исказить суммарное сопротивление за счет большой батареи?(На каждой точке будет не нулевое сопротивление и не приведи господи набегут ваши 0,417 Ом на пайках..)
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пт май 18, 2012 17:20:52
avreal
gregor писал(а):Но и в этой ситуации можно обойтись меньшей кровью, если сделать многоступенчатый делитель - каждая ступень делит на два. Понадобится всего 8 ступеней и 16 резисторов.
Да? А нельзя ли схемку?
А то у меня меньше 23
одинаковых резистров никак для восьмиступенчатого делителя на 256 не получается.
gregor писал(а):Кроме того резисторы можно подобрать и из обычных - если есть измерительные приборы соответствующего класса
Эт врядли. «обычные» и дрейф (температурный и временной) имеют «обычный». Сегодня подобрали делитель, а завтра он уже и не такой.
И вообще из всей этой затеи врядли что-то выйдет.
Для того, чтобы вышло, ЦАП «грубо» (который не делится) должен иметь точность/линейность такую, чтобы в ЦАП-е «точно» был смысл. Т.е. все его погрешности плюс интегральная и дифференциальная нелинейности должны быть на уровне, меньшем 1/256 единицы младшего разряда. Иначе у результата дифференциальная нелинейность будет больше едииницы ожидаемого 16-битного результата (т.е он будет немонотонный!). Скорее всего — до сотни единиц. На границах переключения ЦАП-а «грубо»).
«не верю»™.
Шары на шару не бывает, шару нужно заработать.
Штабскапитан Овечкин, каковы нелинейности у этих ЦАП-ов?
Осторожно поверил бы в 12-разрядный, сделанный из двух 8-разрядных таким образом:
ЦАП «точно» делится на 16.
В ПЗУ того, что будет выдавать коды, создаётся таблица из 4К 16-разрядных слов, в которых записана калибровка этих двух ЦАП-ов. Чтобы ЦАП «точно» выбирал нелинейность ЦАП-а «грубо» и добавлял ещё 4 бита разрешения.
И то неизвестно, как это себя с температурой и во времени поведёт. Особенно если у каждого ЦАП-а опорник свой внутренний и дрейфует по-своему.
p.s. Делитель_не_на_2 из
одинаковых резисторов из одной коробки имеет смысл. Одинаковые резисторы, прошедшие вместе технологический цикл, разницу между собой имеют гораздо меньшую, чем их отклонение от номинала. И температурные дрейфы у них близки, дрейфовать будут вместе.
В результате делитель на 5 лучше сделать из 4 одинаковых резисторов — двух последовательно в верхнем плече и двух параллельно в нижнем.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 00:54:22
eufs
Делал когда-то такой узел на двух AD5300. Поделил обычными 1% резисторами и поставил СП5-2 в подгонку. Далее по схеме ОУ. В тестовой программе дал пилу и подгоночным резистором по осцилу ее выровнял. До сих пор работает. Уже лет пять,наверное. Никто не жаловался на температурную нестабильность и нелинейность.
Кстати, на AD5300 в pdf есть рекомендованная схема подключения для увеличения разрядности. В ней принципиальная ошибка. А ну, специалисты по DACам, скажите, почему так нельзя делать? Точнее, можно, только работать как надо не сможет. Я полдня убил, пока понял, в чем меня писатели pdf обманули. Часть потерянных волос на моей лысине на их совести. Пришлось дорожки резать...

Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 17:20:20
Штабскапитан Овечкин
Таки в чём же тут засада, раскройте глаза. Я сколько голову ни ломал, не могу в этой схеме увидеть никакого косяка. Возможно, если бы до дела дошло, на живом материале оно бы вылезло наружу. Но я, каюсь, бросил эту затею со спариванием ЦАПов. Взял один 16-битный и на этом успокоился. Пришлось, правда, подождать недельку, пока привезут из Москвы.
ЗЫ: У меня, к стати, именно этот ЦАП и был в руках первоначально. И схему эту я в дадашите, конечно, видел. Однако, не хотелось терять один разряд. Потому и начал колдовать.
ЗЗЫ: Немножко наврал. Жаба, конечно, душила - терять один разряд. Однако, главное - мне надо сделать ослабление входного сигнала амплитудой 1.8 вольта от 0 до 80 дб. По такой схеме пришлось бы ставить на выходе точный делитель и модулировать полученное после него напряжение входным сигналом. Это уже просто совсем уродливо получается.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 17:24:56
Штабскапитан Овечкин
Вообще - вот же гады, эти буржуи!!! На кой хрен надо было опорное объединять с питаловом внутри чипа?! Ног же хватает за глаза и за уши! Вот уж тогда бы никакой проблемы не было с каскадированием - хоть десяток друг за другом ставь (утрирую, конечно). Вот что за зуд такой - сделать хорошую вещь и самим же испакостить!
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 19:06:11
Meteor
eufs писал(а):скажите, почему так нельзя делать? Точнее, можно, только работать как надо не сможет. Я полдня убил, пока понял, в чем меня писатели pdf обманули. Часть потерянных волос на моей лысине на их совести. Пришлось дорожки резать...
Похоже в том, что "точный" ЦАП имеет в качесте опоры выход "грубого" ЦАПа.
Предположим что ЦАП имеет 8 бит. Первый формирует 2,5В в качесте опоры. Второй будет иметь разрешение 2,5/255 ~0,01 В. Что может является заявлеными разрешением 15 бит. Но при большем опорном - разрешение сразу же падает (точнее ступенька растет)
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 19:58:56
eufs
N1 и N2 числа в ЦАП. Vref1 = Vdd.
На выходе верхнего ЦАП напряжение формируется из формулы Vout1=(N1/256)*Vdd.
Выходное напряжение первого является опорным для второго, тогда Vout2=(N2/256)*((N1/256)*Vdd) Все так?
Теперь внимание!
16 битное число для загрузки в ЦАП можно представить в виде N1*256+N2 или N1+N2/256, то есть СУММА. Именно для того,чтобы это получилась надо делить выходное напряжение младшей части на 256 и СУММИРОВАТЬ с выходным напряжением старшей части. Именно для этого ТС искал прецизионные делители.
А в формуле для приведенной схемы они участвуют в виде ПРОИЗВЕДЕНИЯ. Если таким образом соединять ЦАПы, то никаких 15бит мы не получим, потому как не все числа можно разложить на простые множители.
Можете проверить:
Я хочу получить на выходе напряжение 0.103V. Если питание 5В, тогда 0.103/(5/65536)=1350 или 0х546
В случае с правильным ЦАП я пишу в старшую часть High(1350)=0x5 И в младшую часть low(1350)=0x46=70
Тогда получается: 5*(5/256)+(70*5/256)/256=0.098+1.367/256=0.098+0.005=0.103 и это правильно!
А в случае с ЦАПом на рисунке: (упустим на время, что AD5300 не работает меньше чем 2.5В)
тогда попробуйте подставить числа в приведенную для этой схемы формулу. Что будет на выходе? Между коэфициентами стоит ПРОИЗВЕДЕНИЕ, а не СУММА.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 23:09:08
avreal
eufs писал(а):подгоночным резистором по осцилу ее выровнял
...
Никто не жаловался на температурную нестабильность и нелинейность.
Вы
по осциллографу выставили линейность результирующего
16-битного ЦАП ? На всех 255 переходах старшего без немонотонности? Глядя на график typ. DNL plot этого AD5300 что-то не верится.
Ну а «никто не жалуется» — так если тоже осциллографом смотрят...
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Сб май 26, 2012 23:42:37
eufs
По графику DNL почти не превышает 0.1 от единицы младшего разряда. Конечно, это для такого применения не супер. На всем интервале, ясное дело, проверить по осциллографу не возможности. Выставлял в середине характеристики преобразования, прекрасно все видно. Потом проверил в начале и в конце, претензий не нашел.
Совместное применение ЦАПов для увеличения разрядности не лучший вариант, просто на тот момент они у меня были. К тому же, не скрою, что в том устройстве и не требовалось именно 16 бит. Просто 8 было мало, а раз поставил 2 ЦАПа, сделал 16.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Вс май 27, 2012 09:38:45
avreal
eufs писал(а):По графику DNL почти не превышает 0.1 от единицы младшего разряда. Конечно, это для такого применения не супер.
(На тех графиках «
типовая при
комнатной температуре
редко превышает». Около 0.05 -- встречается довольно много, и это опять таки типовая величина)
«так отож»™
0.1 единицы младшего разряда дифференциальной нелинейности старшего ЦАПа это 0.1*256, т.е. двадцать пять ЕМР младшего ЦАП-а, такова будет дифф. нелинейность (это уже огромная немонотонность) результирующего составного.
Интегральная нелинейность (которую по осциллографу и не проверить) будет до тысяч ЕМР составного.
Именно эти числа я и имел ввиду, когда говорил, что осторожно поверил бы в 12-битный.
eufs писал(а):К тому же, не скрою, что в том устройстве и не требовалось именно 16 бит. Просто 8 было мало, а раз поставил 2 ЦАПа, сделал 16.
(Так потому и не жаловались на нелинейность и нестабильность

)
Так с этого и надо было начинать и не давать надежду на то, что из двух 8-юитных можно получить 16-битный.
Просто номинально вышло 16 бит, которые всё равно посылать в SPI.
Но с тем же успехом можно померять линейкой с санитметровыми делениями стороны прямоугольника, вбить в электронную таблицу формулу для диагонали и радоваться всем разрядам результата, которые табличка покажет.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Вс май 27, 2012 10:52:27
eufs
Я никому не давал надежду, я написал, что я делал такую схему. Это выход из положения, тем не менее в таком виде оно работоспособно, не на 16 бит, согласен. Но если ЦАПы поточнее и по-стабильнее этот метод имеет право на существование.
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пн май 28, 2012 06:34:51
Штабскапитан Овечкин
Ну я так таки и не вкурил - какая же в итоге получилась схема? И сколько разрядов? Все 16?
Re: Два ЦАПа по 8 = один на 16?
Добавлено: Пн май 28, 2012 08:39:53
eufs
Я соединил два ЦАПа и программировал их как 16 разрядов. Отрегулировал с той точностью, какой мог. Проверил как мог. Меня устраивало. 16 или не 16 это зависит от регулировки и точности самих микросхем. Если первое нам подвластно, то второе нет. Если применить прецизионные, возможно, будет 16. Как справедливо заметил avreal, по документации на AD5300, они к таковым не относятся.