ЦАП | Электроника для всех
Начинающим DI HALT 124 комментария
Порой надо выдать точный аналоговый сигнал, да еще с быстро менющийся. Например, функцию. Раньше я рассматривал как это можно сделать с помощью ШИМ, но у этого метода есть проблема — он очень медленный. В самом деле, чтобы получить один уровнь на ШИМ, нужно, по меньшей мере, 256 тиков таймера. А если надо развернуть функцию в которой 256 отсчетов? Да еще на каждый отсчет по 256 тиков? Это какая же должна быть частота процессора? Да еще надо учесть, что ШИМ требует интегрирующей цепочки с конденсатором. А значит для четкого установления уровня должно пройти еще несколько импульсов, что снижает скорость еще раза в три. Короче, получить что либо быстрей чем 50 ГЦ на ШИМ очень сложно. Я не говорю даже о том, что у ШИМ изза свойств емкостного заряда сильно плывет линейность, так что это приходится учитывать.
(далее…)
Read More »
АналогМикроконтроллерЦАПЦифра Как оценить загруженность микроконтроллера? С памятью все понятно — размеры занимаемого кода и оперативной памяти показывает компилятор, а что делать с процессорным временем? Конечно, в линейной программе можно взять и посчитать время выполнения каждой процедуры и станет ясно успеет микроконтроллер выполнить все на него повешанное или слажает в каком-нибудь критичном месте.
Куда сложней оценивать время в кооперативной операционной системе реального времени. Тут задачка получается нетривиальной — у нас куча процессов скачут через диспетчер. В ходе программирования задачи навешиваешь одну за другой, как бусинки на нить — каждый процесс обработки чего либо составляет подобную цепочку, а всего их может быть просто тьма. Ядро же у контроллера всего одно, а значит выполнять можно всего одну задачу за раз и если у нас в диспетчере скопится много критичных ко времени процессов (вообще их лучше развешивать на прерывания, но бывает и прерываний на всех не напасешься), то возможно либо переполнение очереди диспетчера, либо превышение времени ожидания, что тоже не праздник.
Самое западло в том, что умозрительно отлаживать такие вещи довольно сложно. Единственный вариант — рисовать временные диаграммы запуска каждой задачи и смотреть где у нас узкие места. Еще можно попробовать в
В один момент мне пришла в голову одна идея — а почему бы не заставить рисовать временные диаграммы работы задач сам контроллер? Это же просто! Берем и в диспетчере, перед вызовом задачи выставляем бит порта в 1. А когда диспетчер задач опустошается полностью, то есть выполняется переход на Idle — сбрасываем бит в 0. В результате, у нас на выходе будет подобие ШИМ. Если постоянно крутится
(далее…)
Read More »
AVRRTOSОтладкаТрюкиЦАП31. Цифро-аналоговые преобразователи
Параметры ЦАП
При последовательном возрастании значений входного цифрового сигнала D(t) от 0 до 2N-1 через единицу младшего разряда (ЕМР) выходной сигнал Uвых(t) образует ступенчатую кривую. Такую зависимость называют обычно характеристикой преобразования ЦАП. В отсутствие аппаратных погрешностей средние точки ступенек расположены на идеальной прямой 1 (рис. 22), которой соответствует идеальная характеристика преобразования. Реальная характеристика преобразования может существенно отличаться от идеальной размерами и формой ступенек, а также расположением на плоскости координат. Для количественного описания этих различий существует целый ряд параметров.
Статические параметры
Разрешающая способность — приращение Uвых при преобразовании смежных значений Dj, т.е. отличающихся на ЕМР. Это приращение является шагом квантования. Для двоичных кодов преобразования номинальное значение шага квантования h=Uпш/(2N-1), где Uпш — номинальное максимальное выходное напряжение ЦАП (напряжение полной шкалы), N — разрядность ЦАП. Чем больше разрядность преобразователя, тем выше его разрешающая способность.
Погрешность смещения нуля — значение Uвых, когда входной код ЦАП равен нулю. Является аддитивной составляющей полной погрешности. Обычно указывается в милливольтах или в процентах от полной шкалы:
.
Нелинейность — максимальное отклонение реальной характеристики преобразования Uвых(D) от оптимальной (линия 2 на рис. 22). Оптимальная характеристика находится эмпирически так, чтобы минимизировать значение погрешности нелинейности. Нелинейность обычно определяется в относительных единицах, но в справочных данных приводится также и в ЕМР. Для характеристики, приведенной на рис. 22
Динамические параметры
Динамические параметры ЦАП определяются по изменению выходного сигнала при скачкообразном изменении входного кода, обычно от величины «все нули» до «все единицы» (рис. 23).
Время установления — интервал времени от момента изменения входного кода (на рис. 23 t=0) до момента, когда в последний раз выполняется равенство
|Uвых-Uпш|=d/2,
причем d/2 обычно соответствует ЕМР.
Скорость нарастания — максимальная скорость изменения Uвых(t) во время переходного процесса. Определяется как отношение приращения Uвых ко времени
Виды ЦАП
Существуют последовательные и параллельные ЦАП. Последовательные –- используются в микропроцессорных системах, если не требуется высокое быстродействие. Среди параллельных — наиболее просты
ЦАП с суммированием весовых токов
Большинство схем параллельных ЦАП основано на суммировании токов, сила каждого из которых пропорциональна весу цифрового двоичного разряда, причем должны суммироваться только токи разрядов, значения которых равны 1.
Сопротивления резисторов выбирают так, чтобы при замкнутых ключах через них протекал ток, соответствующий весу разряда. Ключ должен быть замкнут тогда, когда соответствующий ему бит входного слова равен единице. Выходной ток определяется соотношением
При высокой разрядности ЦАП токозадающие резисторы должны быть согласованы с высокой точностью. Наиболее жесткие требования по точности предъявляются к резисторам старших разрядов, поскольку разброс токов в них не должен превышать тока младшего разряда. Поэтому разброс сопротивления в k-м разряде должен быть меньше, чем
R / R=2-k.
Из этого условия следует, что разброс сопротивления резистора, например, в четвертом разряде не должен превышать 3%, а в 10-м разряде — 0,05% и т.д.
Рассмотренная схема при всей ее простоте обладает целым букетом недостатков. Во-первых, при различных входных кодах ток, потребляемый от источника опорного напряжения (ИОН), будет различным, а это повлияет на величину выходного напряжения ИОН. Во-вторых, значения сопротивлений весовых резисторов могут различаться в тысячи раз, а это делает весьма затруднительной реализацию этих резисторов в полупроводниковых ИМС. Кроме того, сопротивление резисторов старших разрядов в многоразрядных ЦАП может быть соизмеримым с сопротивлением замкнутого ключа, а это приведет к погрешности преобразования. В-третьих, в этой схеме к разомкнутым ключам прикладывается значительное напряжение, что усложняет их построение.
ЦАПAVR или автономный? — HomeTheaterHifi.com
Скотт Уилкинсон
СЕКРЕТЫ Домашний кинотеатр Вопросы и ответы
Вопрос:
Работают ли ЦАПы (цифро-аналоговые преобразователи) в AV-ресиверах средней ценовой категории так же, как автономные ЦАПы, такие как Peachtree Audio DAC-iT или Musical Fidelity V-DAC II?
– Эд Вуд
Вест Честер, Пенсильвания
Ответ:
Многие AVR, даже те, которые стоят всего около 500 долларов, в наши дни имеют удивительно хорошие ЦАП, возможно, даже не уступающие некоторым автономным ЦАП. Это трудно определить, поскольку производители редко раскрывают конкретные компоненты схемы, которые они используют, но старший редактор SECRETS Дэвид Рич провел обширное исследование схем AVR и обнаружил, что в большинстве из них используются довольно высокопроизводительные ЦАП.
Как и в случае со всеми аудиопродуктами, при использовании ЦАП следует учитывать несколько рабочих характеристик, включая частотную характеристику, отношение сигнал/шум (S/N) и общее гармоническое искажение (THD). Эти характеристики указаны для AVR в целом, а не для внутреннего ЦАП в отдельности.
Частотная характеристика — это диапазон частот, который устройство может воспроизводить в пределах определенного допуска. Например, V-DAC II определяет частотную характеристику от 20 Гц до 20 кГц (+0, -0,1 дБ), которая является плоской линейкой; Peachtree не указывает частотную характеристику DAC-iT.
S/N определяет максимальную разницу между мощностью предполагаемого сигнала и мощностью собственного шума устройства; чем выше это значение, тем лучше. DAC-iT имеет отношение сигнал/шум 120 дБ, что очень хорошо; Musical Fidelity не указывает серийный номер V-DAC II.
THD — это мера того, насколько устройство изменяет или искажает гармоники во входном сигнале; чем ниже значение, тем лучше. V-DAC II указывает THD 0,004% от 20 Гц до 20 кГц, что превосходно; Peachtree не указывает THD DAC-iT.
Далее идут характеристики, относящиеся к цифровой стороне ЦАП, но чтобы в них разобраться, нужно сначала знать основы цифрового звука. (Существует несколько форм цифрового звука, но я собираюсь ограничить это обсуждение наиболее распространенным из них — ИКМ или импульсно-кодовой модуляцией.)
Звук по своей сути является аналоговым: быстро меняющиеся изменения давления воздуха, называемые звуковыми волнами, достигают вашего уха и вызывают вибрацию барабанной перепонки, что приводит к ощущению слуха. Чтобы преобразовать звуковые волны в цифровую информацию, они сначала преобразуются в аналоговый электрический сигнал с помощью микрофона.
Затем аналого-цифровой преобразователь (АЦП) выполняет мгновенные измерения изменяющегося напряжения в этом электрическом сигнале много раз в секунду, и каждое измерение представляется фиксированным числом цифровых битов. Скорость, с которой выполняются измерения, называется частотой дискретизации, а количество битов, используемых для представления каждого измерения или выборки, называется разрешением или битовой глубиной.
Компакт-дискииспользуют частоту дискретизации 44 100 измерений в секунду, что выражается как 44,1 кГц, и разрешение 16 бит; вы иногда будете видеть это написанным 44.1/16. Напротив, так называемый цифровой звук высокого разрешения часто использует частоту дискретизации 96 кГц и разрешение 24 бита, или 96/24.
Частота дискретизации определяет самую высокую частоту, которую может представить цифровая система — примерно половину частоты дискретизации. Таким образом, для частоты дискретизации 44,1 кГц самая высокая частота, которую можно точно представить, составляет около 22 кГц.
Разрешение определяет S/N звука; каждый бит, добавляемый к разрешению, теоретически увеличивает отношение сигнал/шум на 6 дБ. Разрешение 16 бит может представлять отношение сигнал/шум 96 дБ, в то время как 24 бита может представлять отношение сигнал/шум 144 дБ, хотя лишь немногие цифровые аудиоустройства могут фактически достичь этих теоретических значений.
Битовый поток цифрового звука должен быть преобразован обратно в аналоговый, чтобы его можно было услышать, и именно здесь вступает в действие ЦАП. Каждый образец преобразуется в аналоговое напряжение, формируя ступенчатую форму волны, как показано выше. Поскольку в такой волне много высоких гармоник, отсутствующих в оригинале, сигнал проходит через фильтр нижних частот, который удаляет высокие гармоники и сглаживает ступени.
Синхронизация каждой выборки, когда она создается в АЦП и преобразуется обратно в аналоговое напряжение в ЦАП, контролируется часами внутри устройства. Идеальные часы «тикают» с совершенно постоянной скоростью, но часы реального мира не так совершенны — время между отсчетами не совсем постоянно. Ошибка в этой синхронизации называется джиттером, который может внести шум и гармонические искажения в окончательный сигнал. Кроме того, джиттер может снизить эффективное разрешение сигнала — например, в некоторых случаях дрожание менее наносекунды (миллиардной доли секунды) может снизить разрешение потока битов 44,1/16 до 14 бит, увеличивая отношение сигнал/шум на 12 дБ.
Как вы понимаете, чем ниже джиттер, тем лучше. Musical Fidelity оценивает джиттер V-DAC II на уровне менее 12 пикосекунд (пс, триллионная доля секунды), в то время как Peachtree определяет джиттер DAC-iT на уровне менее 3 пс. Обе эти характеристики очень хороши, особенно если учесть, что 1 пикосекунда = 1/1000 наносекунды.
Каждый ЦАП имеет свой собственный звуковой характер, определяемый конструкцией, компонентами и т. д. Лучший способ найти тот, который вам больше всего нравится, — это прослушать несколько, если это возможно. В противном случае читайте отзывы из надежных источников. SECRETS не рассматривал DAC-iT или V-DAC II, но мы рассмотрели здесь другие.
avr — интерфейс ЦАП с Atmega128
Задавать вопрос
спросил
Изменено 7 лет, 5 месяцев назад
Просмотрено 785 раз
\$\начало группы\$
Надеюсь, у тебя все хорошо и ты решил все свои проблемы!!!
Я новичок в аппаратном программировании, столкнулся с некоторыми трудностями при работе с ЦАП, взаимодействующим с платой Atmega128. После поиска в Интернете не удалось найти ни одного хорошего руководства или объяснения о взаимодействии АЦП с AVR или Atmega. У меня Atmega128 подключен к DAC8532 через контакты PD4 (ICP1), PD5 (XCK1), PD6 (T1) и PD7 (T2) Atmega. Я понятия не имею, как с этим бороться.
Пожалуйста, кто-нибудь может помочь или дать несколько советов, как его запрограммировать.
Большое спасибо.
- авр
- ацц
- атмега
\$\конечная группа\$
1
\$\начало группы\$
Программное обеспечение Bit bang возможно. Или перейдите на SPI с небольшими изменениями:
Используйте только MOSI и SCLK SPI для подключения к DAC. Вывод
SYNC ЦАП может быть переведен в низкий уровень с помощью GPIO микроконтроллера, в то время как SPI может быть настроен для передачи данных в ЦАП. 9Вывод 0012 MOSI отправляет данные тремя последовательными операциями записи вместе с 24 тактовыми импульсами от SCLK.