Ацп своими руками для себя

Содержание
  1. Простой аналого-цифровой преобразователь (АЦП)
  2. Электроника для всех
  3. Блог о электронике
  4. AVR. Учебный курс. Делаем АЦП из Аналогового компаратора
  5. 58 thoughts on “AVR. Учебный курс. Делаем АЦП из Аналогового компаратора”
  6. Тема: Построение аудио АЦП для себя любимого
  7. Построение аудио АЦП для себя любимого
  8. Re: Построение аудио АЦП для себя любиного
  9. Re: Построение аудио АЦП для себя любиного
  10. Re: Построение аудио АЦП для себя любиного
  11. Re: Построение аудио АЦП для себя любиного
  12. Re: Построение аудио АЦП для себя любиного
  13. Re: Построение аудио АЦП для себя любиного
  14. Re: Построение аудио АЦП для себя любиного
  15. Re: Построение аудио АЦП для себя любиного
  16. Re: Построение аудио АЦП для себя любиного
  17. Re: Построение аудио АЦП для себя любиного
  18. Re: Построение аудио АЦП для себя любиного
  19. Re: Построение аудио АЦП для себя любиного
  20. Re: Построение аудио АЦП для себя любиного
  21. Re: Построение аудио АЦП для себя любиного
  22. Re: Построение аудио АЦП для себя любиного

Простой аналого-цифровой преобразователь (АЦП)

«Wireless World» (Англия), May. 1981

Простейший АЦП может быть построен по схеме, приведенной на рис.1. Входное напряжение, которое может изменяться в диапазоне от нуля до напряжения источника питания (Uп), представляется на выходах преобразователя в параллельном дополнительном двоичном коде.


Puc.1

Для нормальной работы АЦП инверторы-компараторы A1-А4 должны переключаться при напряжении на их входах, равном Uп/2, а выходные напряжения компараторов в устойчивых состояниях должны быть близкими к нулю и Uп. Кроме того, компараторы должны обладать высоким входным и низким выходным сопротивлениями.

Перечисленным требованиям удовлетворяют большинство современных ОУ, инвертирующие входы которых подключены к потенциалу Uп/2.

Если требуемая точность аналогоцифрового преобразования не превышает четырех разрядов, то в качестве основы для АЦП можно использовать счетверенные КМОП логические элементы «И-НЕ» или «ИЛИ-НЕ» Один из вариантов такого устройства представлен на рис. 2. Его входное сопротивление около 22 кОм. а время преобразования — не более 300 нс. Отечественным аналогом микросхемы 4001 является К176ЛЕ5, а 4011 — К176ЛА7.


Puc.2

Источник

Электроника для всех

Блог о электронике

AVR. Учебный курс. Делаем АЦП из Аналогового компаратора

Так сложилось, что основной МК с которым я работаю постоянно и на котором делаю подавляющее большинство задач это ATTiny2313 — он популярен, а, главное, это самый дешевый контроллер из всей линейки AVR с числом ног более 8. Я их брал числом около трех сотен за 18, чтоль, рублей штучка. Но вот западло — у него нет АЦП . Совсем нет. А тут он понадобился — нужно замерить сигнал с датчика. Засада. Не переходить же из-за такой фигни на более фаршированную ATTiny26 — она и стоит дороже и фиг где купишь у нас, да и что тогда делать с той прорвой ATTiny2313 что уже закуплена? Пораскинул мозгами…

А почему бы не сварганить АЦП последовательного сравнения? Конечно, быстродействие и точность будет не фонтан, зато, не меняя тип МК и всего с двумя копеечными деталями дополнительного обвеса, я получу полноценный, хоть и тормозной, 8ми разрядный АЦП, вполне удовлетворяющий моим скромным запросам!

Как работает АЦП последовательного сравнения.
Что у нас есть в ATTiny2313 аналогового? Правильно — аналоговый компаратор . Теперь достаточно подать на его вход замеряемый сигнал и методично сравнивать с опорным напряжением, линейно изменяя величину опорного напряжения. На каком из опорных напряжений произойдет сработка компаратора, тому и примерно равен измеряемый сигнал +/_ шаг изменения опорного.

Осталось получить переменное опорное напряжение, а чем, из сугубо цифрового выхода контроллера, можно вытянуть аналоговый сигнал? ШИМом! Предварительно его проинтегрировав. Для интеграции используем простейший RC фильтр. Конденсатор у нас будет интегрировать заряд, а резистор не даст сдохнуть порту при зарядке кондера. Результатом прогона ШИМ’а через подобный фильтр станет достаточно стабильное постоянное напряжение.

Читайте также:  Домик кровать для девочки своими руками размеры

Осталось только прикинуть номиналы фильтра. Частота среза — частота, начиная с которой, фильтр начинает глушить переменную составляющую, у Г образного RC фильтра равна обратной величине из его постоянной времени w=1/RC . Я воткнул кондер на 0.33Е-6 Ф и резистор на 470 Ом, получилось что w=6447 рад/c . Поскольку угловая частота нам никуда не уперлась, то делим ее на 2pi = 6.28 получили около килогерца, 1026.6 Гц, если быть точным. Раз частота ШИМ а у нас запросто может быть порядка десятков килогерц, то на выходе будет гладенькая такая постоянка, с незначительными пульсациями.

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

А это фотография платы. Резистор напаян снизу, на дорожки, а вот конденсаторы видно. Их два, так как я тут и на второй канал ШИМ повесил фильтр, правда так и не задействовал. Также видно, что белый провод от переменного резистора теперь идет на инверсный компаратора, а оранжевый идет с ноги конденсатора на прямой вход.

Код будет простецкий, чтобы не заморачиваться выложу архив проекта и отдельные исходники в виде файлов:

  • UARTundADC.asm — Головной файл
  • vectors.asm — Таблица векторов прерываний
  • init.asm — Инициализация периферии
  • macro.asm и define.asm — Макросы и макроопределения

Прокомментирую лишь главную функцию Calc .
При вызове процедуры Calc у нас первым делом:

  1. Конфигурируется аналоговый компаратор и, главное, активизируются его прерывания. Описание и настройка компаратора уже были описаны ранее
  2. Затем в сканирующий регистр (R21) закидывается начальное значение сканирования 255.
  3. После чего это значение забрасывается в регистр сравнения ШИМ OCR1AL . ШИМ был заранее, в разделе init.asm сконфигурирован и запущен, так что сразу же на его выходе появляется сигнал скважностью (скважность это отношение длительности сигнала к периоду этого сигнала) 1 т.е., фактически, пока это просто единица.
  4. Выжидаем в функции Delay некоторое время, чтобы закончился переходный процесс (конденсатор не может мгновенно изменить свое напряжение)
  5. Уменьшем значение сканирующего регистра (что при загрузке в OCR1AL уменьшит скважность на 1/255), проверяем не стало ли оно нулю. Если нет, переходим на пункт 3.

Итогом станет последовательное уменьшение скважности сигнала с 1 до 0, с шагом в 1/255 , что будет преобразовано после фильтра в уменьшающееся напряжение. А, так как в главной процедуре у меня Calc вызывается циклически, то на входе компаратора будет пила.

А остальное сделает компаратор . Как только он сработает, а он сработает в любом случае — ведь какое нибудь да напряжение обязательно есть на входе. То его прерывание возьмет текущее значение регистра сравнения OCR1AL , ведь именно на нем у нас совпало напряжение, и выдаст нам в качестве результата замера.

По окончании скан цикла, выданное значение отправляется в регистр UDR и улетает в комп, рисуя в окне Terminal’a график вращения ручки переменного резистора.

Как видно, вверху есть некоторый срез. Это связано с тем, что максимальное напряжение, которое может выдать нога МК, с учетом падений на всех резисторах, порядка 4.7 вольта, а с задающего потенциоматера я могу и все 5 выкрутить. Ну еще и верхушки заваливаются чуток. Если понизить частоту, то диапазон несколько расширится.

Вот так, применив немного смекалки, а также две дополнительные детали общей суммой в один рубль и десяток строк кода, я сэкономил кучу бабла =)

Спасибо. Вы потрясающие! Всего за месяц мы собрали нужную сумму в 500000 на хоккейную коробку для детского дома Аистенок. Из которых 125000+ было от вас, читателей EasyElectronics. Были даже переводы на 25000+ и просто поток платежей на 251 рубль. Это невероятно круто. Сейчас идет заключение договора и подготовка к строительству!

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

58 thoughts on “AVR. Учебный курс. Делаем АЦП из Аналогового компаратора”

Золотая идея. Дёшево и сердито, но смысл верный!

Источник

Тема: Построение аудио АЦП для себя любимого

Опции темы

Построение аудио АЦП для себя любимого

про ЦАПы уже 2 ветки наплодили — начнем про АЦП.
Итак первое — какие изделия из сигма дельт лучше? Вообше и из имеющегося в наличии (ад1871 и пцм1804).
если делать на АЦП последовательного приближения (есть ад7679 и адс8382) то надо ли делать передискретизацию и цифровую фильтрацию для понижения частоты до нужной? Пока все, потом начнем про входные каскады и т.д. и т.п.

Re: Построение аудио АЦП для себя любиного

Если хочется качественно оцифровать без ФНЧ высоких порядков на входе, без передискретизации не обойтись.

Re: Построение аудио АЦП для себя любиного

Согласен. Здесь очень хорошо и со схемами описано. Только фильтрация — аналоговая.

Re: Построение аудио АЦП для себя любиного

Только что проверял — работала.
При частоте дискретизации 48кГц и меньше — предварительная аналоговая фильтрация обязательна.
Пример из статьи: так получается без фильтрации

Последний раз редактировалось Vlad Bo; 02.09.2005 в 12:14 .

Re: Построение аудио АЦП для себя любиного

svolkovoy, а вообще смысл АЦП то для себя?

Re: Построение аудио АЦП для себя любиного

Это означает, что нет пропуска кодов. Другими словами, изменяя входной сигнал АЦП от мин. до макс., получим на выходе все 16777216 кодов (для 24-х разрядного АЦП).

А вообще, есть замечательная книжка под редакцией Walt Kester «Analog-Digital Conversion».
На сайте AD можно скачать отдельные главы:
http://search.analog.com/search/defa. ester&local=en

Re: Построение аудио АЦП для себя любиного

да приходится иногда делать записи с аналоговых носителей. Хотя не спорю, ЦАП нужнее.

[ADDED=svolkovoy]1125658887[/ADDED]
кротой фильтр на входе не очень то хотелось бы ставить. потому думаю что лучще цифрить на повышенной частоте. Лучше кратной требуемой, чтобы потом были меньше потери при пересчете. т.е. получается что если надо делать запись для КД лучше цифровать на 88,2 а потом как-то даунсемплить.

Последний раз редактировалось svolkovoy; 02.09.2005 в 15:01 .

Re: Построение аудио АЦП для себя любиного

Ну, если удастся сделать 8-ми кратную передискретизацию, то на входе вполне прилично смотрится фильтр второго порядка. Для гурманов — третьего. Либо два последовательно с разными частотами среза. От источника и микросхемы АЦП зависит выбор лучшего варианта.
Передискретизация вниз, да ещё и с кратной частоты, проблем вообще никаких не представляет. Можно и обыденными готовыми микросхемами, можно и собственным программным фильтром.

Re: Построение аудио АЦП для себя любиного

я вот очень склоняюсь в сторону арзитектуры SAR так там частота дискретизации до 600кГц на рас. осталось только даунсемплить и преобразовать в и2с. Второе просто, а вот над первым стоит подумать как лучше(может фильтр скользящего среднего?)

Re: Построение аудио АЦП для себя любиного

В WT-192X стоит дельта-сигма АЦП. Входной буфер не содежит ни каких фильтрующих цепей. Ни каких зеркальных спектров при низких частотах дискретизации не обнаружено. Может это встроенная фича использованного АЦП?
Зато это позволило сделать АЦП с наикратчайшим трактом, на входе стоит бансирующий трансформатор, вторичная балансная обмотка которого подключена к балансному входу АЦП, а средняя точка трансформатора на смещение (пол питания). Я только оставил защитные диоды, на всякий случай.

Re: Построение аудио АЦП для себя любиного

Роль ФНЧ выполняет трансформатор. Для дельта-сигм АЦП этого вполне достаточно.

Re: Построение аудио АЦП для себя любиного

А если последовательного приближения с передискретизацией

Re: Построение аудио АЦП для себя любиного

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

Re: Построение аудио АЦП для себя любиного

Так оно и есть. Поэтому кажется, что применение дельта-сигма АЦП позволяет кардинально упростить аналоговый фильтр. Но это иллюзия. Цифровые фильтры, используемые в таких АЦП при преобразовании в ИКМ, имеют кошмарную переходную характеристику со всеми вытекающими для звука последствиями.
Гораздо правильней, было бы цифровать сигнал честным мультибитным АЦП на повышенной (80. 200кГц) частоте дискретизации с аналоговым ФНЧ Бесселя на входе, с Fср=20. 30кГц. Никуда ничего потом не надо конвертировать, а в таком виде хранить и воспроизводить через такой же аналоговый фильтр.
Собственно, все это вполне укладывается в формат DVD-аудио.

Они просто застолбили право на SAGD, и теперь пытаются впендюрить его всему миру. Для получения сопоставимого с ИКМ разрешения, для дельта сигмы первого порядка требуются нереальные для современной элементной базы частоты дискретизации. Поэтому, все современные дельта-сигма АЦП строятся по схемам более высокого порядка. По сути — это адаптивные схемы, разрешение которых в данный момент времени зависит от предистории сигнала. Насколько это здорово для звука — не берусь судить, но при регистрации, например, импульсных сигналов — это не приемлемо.

Re: Построение аудио АЦП для себя любиного

Игорь, не только импульсных детерминированных, но, в бОльшей степени случайных. Дельтасигма АЦП сильно изменяют ту же АКФ сигнала, в то время, как SAR или параллельные не вносят изменений, бОльших, чем определяемые разрядностью\дискретизацией. Из-за этого мне не удалось применить в одной из разработок относительно недорогие и простые в применении АК5393 и пришлось использовать ГОРАЗДО более дорогие и требовательные к конструктиву AD7679

Re: Построение аудио АЦП для себя любиного

А поспорить немного стоит.
Дельта-сигма преобразование Сонькой было выбрано задолго до SACD. Его они использовали для перевода имеющихся архивов с других носителей, особенно магнитной ленты, по причине старения. Выбор был осознанный, на основании кучи тестов и сравнений. Поскольку вопрос шел, в тот момент, только об оцифровке собственных архивов, то цена не была главной составляющей. Конечно дельта-сигма имеет серьезные проблемы в связи с уменьшением разрешения с частотой. Но, похоже, это мало влияет на передачу звуковой информации. Для измерительных целей с быстрым отсчетом дльта-сигма совсем не подходит. Но мы то не меандры передаем и слушаем.
Дельта-сигму, конечно, лучше бы использовать как есть, без перекодировки в PCM, на которой много чего теряется. Жаль эти ADC-и не выдают поток DSD, а Adobe Audition не умеет его обрабатывать.

Источник

Читайте также:  Как сделать сабвуфер своими руками для авто
Оцените статью