Решил я сделать R-2R цап на авр(мега16), вдохновляясь соответствующей статейкой на easyelectronics(гугл - "easyelectronics r2r цап", первый результат). Бит эдак на 8. В статье-первоисточнике всё выглядит очень просто - мк+резисторы+буфер и опля! Есть цап, быстрый, паралельный. С замашками на 9-10 бит точности. Но меня терзают смутные сомнения по поводу точности напряжения на выходе порта МК. В даташите(стр. 293) приведены уровни для высокого и низкого выходных уровней в зависимости от напряжения питания при фиксированном токе(мин. значения для "1" и макс. значение для "0"). И всё. Так вот, вопрос - какова зашумленность этого напряжения? Одинаково ли оно для всех пинов у каждого порта или принимает случайное значение в пределах 0...0,7 и 4,2...Uпит для "0" и "1" соответственно? Зависит ли всё это от загрузки процессора, температуры, фазы луны? Если дела тут плохи или нет информации, то надо городить буфер...
1. Необходимо хорошо стабилизировать питание процессора. 2. Исключить возможность потребления нагрузками импульсных токов. 3. Выбрать точные резисторы не хуже 1 %. 4. Сопротивление резисторов выбрать не слишком малым (иначе влияет сопротивление открытых каналов ключей) и не слишком большим (будут влиять различные емкости и токи утечек заодно сильнее оказывает влияние характер нагрузок). Оптимально в районе нескольких килоом. 5. На выход влепить ФНЧ. С одной стороны будет сглаживать коммутационные выбросы, с другой- ограничивать АЧХ. 6. Поставить повторитель на ОУ. 7. Радоваться цацке. Получится не слишком линейный, громоздкий ЦАП с выходным напряжением, зависящим от конкретного типа процессора. Если устроит-делайте. Напряжение "1" на всех битах одного порта примерно одинаково.
Спасибо за ответ. А что если использовать буфер в виде 8ми Д-триггеров, с отдельным питанием? Тут два момента которые, как по мне, могут уменьшить шумы - отдельное питание это раз, меньшее количество элементов(в смысле, внутри самой ИМС) и протекающих внутри камня процессов, это два.
-это, как я понимаю, минус? Большее выходное сопротивление ключей приведёт к большему падению напряжения на самом ключе, что в свою очередь повлечёт ухудшение параметров схемы? Иными словами, лучше такой буфер не ставить?
Я понимаю, что конфетки не видать. Весь этот онанизм и ролевые игры(а давайте представим, что в этом мире не существует нормальных цапов) чисто для развлечения и дабы узнать что-то новое. Но всё же. Если, выражаясь фигурально, этот цап не конфетка а ведро с помоями то что произойдёт с количеством помоев? Станет меньше(буфер помог), ничего не изменится(немного уменьшит шумы мк, но и сам пошумит - в итоге то же самое), или помои польються через край?
Шумы тут мало будут на что-то влиять. Коммутационные всплески в любом случае будут. А вот что лучше- зависит исключительно от особенностей построения выходов. Насколько различное у них напряжение "0" и "1", какие именно значения напряжений соответствуют уровням, сопротивление каналов ключей и их разброс. Поле для экспериментов открыто. Но не думаю, что результат будет изменяться в ту или иную сторону больше чем на несколько процентов.
Где-то встречал расчёты про погрешности таких ЦАПов. И если мне не изменяет память, то в случае в 1% резисторами там не то что нелинейность, а уже немонотонность может появиться, то-ли при 5,то ли при 6 битах. Т.е. без тщательного отбора резисторов про большую разрядность можно забыть. И эти расчёты, опять же, если мне не изменяет память, не учитывали внутреннее сопротивление выходов, а ведь через разные выходы на R-2R матрицу будет теч разный ток, со всеми вытекающими последствиями.
Где-то встречал, что в микросхемах ЦАП управляющие транзисторы (выходы на r-2r матрицу) на разные разряды делают разного размера, чтобы скомпенсировать падение напряжения при разных токах.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
1. Для R-2R восемь бит - предел. Больше делать смысла нет.
2. На восьми битах все еще достаточно неплохо, если нет совсем специальных требований к точности. Сам делал, на осцилле на глаз синус совершенно ровный.
3. При восьмибитной точности точность выходного напряжения МК/буфера, в общем, пофиг. Все будет ОК в заявленных пределах.
4. Цифровой буфер (например, на 74HC595) имеет смысл вводить чисто для удобства - меньше ножек для управления. Аналоговый буфер на выходе - обязателен, ФНЧ желателен для применений, похожих на звук.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
Я делал раньше резисторный ЦАП на МК и R/2R натрице Bourns серии 4310R, где точность сопротивлений гарантируется 2% (и имеются модели с гарантируемой точностью 1%). Немонотонности не наблюдалось, нелинейность не измерял.
Зарегистрирован: Вс сен 30, 2012 00:01:53 Сообщений: 49
Рейтинг сообщения:0
Товарищи, форумчане ! Простите за странный вопрос, но всё же.
Если собрать 8-ми битный ЦАП на R-2R, то напряжение на выходе Uвых=Uпит * (1 * 1/2 + 0 * 1/4 + 0 *1/8+ 1*1/16 +0*1/32+1*1/64+0*1/128+1*1/256) ? (это правда?) Чему равно сопротивление такого R-2R ЦАПа ?
Заголовок сообщения: Re: Правильный R-2R цап на АВР
Добавлено: Пн ноя 26, 2012 11:37:09
Открыл глаза
Зарегистрирован: Вс сен 30, 2012 00:01:53 Сообщений: 49
Рейтинг сообщения:0
Flasher писал(а):
... 6. Поставить повторитель на ОУ. ...
Интересная это тема R-2R ЦАП. Я видел где-то раньше, что на выходе после этого ЦАПа ставили ОУ, а за ним транзистор. Но, кажется есть противоречие.. R-2R ЦАПом мы устанавливаем желаемое напряжение (по сути), а ОУ увеличивает это напряжение. Или я не правильно понимаю ?!
ОУ увеличивает это напряжение. Или я не правильно понимаю ?!
ОУ нужен для уменьшения выходного сопротивления. По простому - чтобы нагрузка не влияла на цепи. А уж надо увеличить или уменьшить напряжение - зависит от коэффициента усиления ОУ. Его можно сделать как равным единице (напряжение на выходе не изменится), так и больше или меньше единицы.
кажется есть противоречие.. R-2R ЦАПом мы устанавливаем желаемое напряжение (по сути), а ОУ увеличивает это напряжение.
Не всегда.
Например, в некогда популярных ЦАП 572ПА1 и ПА2 матрица R-2R использовалась для преобразования кода в выходной ток, а не напряжение. В этом случае ОУ используется для преобразования выходного тока ЦАП в напряжение.
_________________ Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет. J. Ganssle
Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет. J. Ganssle
не высокого качества а достаточного.....как сейчас и делают:)
по поводу р-2р я делал звук на меге 103 для тира....3 канала
резисторы 10%
после цапа - операционник 358 с двуполярным питанием(делал через конденсаторный умножитель), его выход на резистивный делитель(громкость канала - подстроечник) а с подстроечника на фильтр 3 порядка
фильтр баттерворта расчитывал программкой прикрепленной...для частоты втрое ниже частоты обновления
от звука заказчик в восторге....ни свиста ни треска ни искажений супер-пупер заметных нету.....ну... правда там и звук....выстрелы и мессаги из контерстрайка
Вложения:
Комментарий к файлу: Прога расчета ayx 3 порядка filtr3nd.zip [215.11 KiB]
Скачиваний: 416
_________________ Что нас не убило сделало нас осторожней Не доверяйте русским лужам - это может быть вход в метро.
не высокого качества а достаточного.....как сейчас и делают:)
Об этом как раз и говорит первое предложение цитаты:
Цитата:
Любой дурак может писать код.
Для профессионалов уровня Джека "достаточное" качество - это как "осетрина второй свежести". Свежесть бывает лишь одна - первая, она же последняя. К качеству относится то же самое - оно либо есть (высокое), либо его нет. Но это предмет отдельного разговора.
clawham писал(а):
правда там и звук....выстрелы и мессаги из контерстрайка
Для подобных приложений во времена, когда цены на multimedia кусались, хорошо себя зарекомендовали клоны Covox'а производства доморощенных кулибиных, дешево и сердито.
_________________ Любой дурак может писать код. Настоящий профессионал - это тот, кто способен постоянно создавать продукт высокого качества, укладываясь при этом в бюджет. J. Ganssle
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения