Основы проектирования при работе с 12-битными АЦП

11

В настоящее время я разрабатываю плату, которая присоединяет 12-битный АЦП (MCP3208) к Raspberry Pi (помимо нескольких других вещей, связанных с низкоскоростным вводом / выводом). Он будет в основном подключен к аналоговым датчикам (временным датчикам, инфракрасным датчикам расстояния и подобным вещам, хотя не всегда требуется разрешение 12 бит, но в некоторых случаях было бы неплохо иметь этот дополнительный блок информации).

У меня нет большого опыта работы с аналоговыми схемами, и я не очень хорошо понимаю основную математику и физику.

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

Так что я начал задаваться вопросом, имеет ли смысл вообще использовать 12-битный АЦП, если у меня нет опыта для его правильной реализации, потому что я могу потерять 2 младших бита в любом случае из-за неоптимальной схемы и должен просто пойти с 10-битным АЦП. Или же оптимальная схема не так важна в 12-битном мире, как я полагаю.

Какие вещи всегда должны быть реализованы для снижения шума (например, очевидный обходной барьер)? Каковы основные причины помех в приложении со смешанным сигналом, таком как у меня (когда процессор GHz взаимодействует с АЦП)? Какие вещи на самом деле нужны только в приложениях с более высокой точностью (14-16 бит +)?

Я действительно хотел бы знать, что является разумными и существенными вещами, на которые я должен обратить внимание.

PTS
источник
2
Начните с того, что вы пытаетесь измерить и какое разрешение вам нужно, а затем решите, какой тип АЦП и аналоговой обработки вам нужен. Как в стороне, прочитайте свою таблицу данных ADC. Вы теряете биты, даже если вы используете это отлично. Искать "ENOB"
Скотт Сейдман
Проблема в том, что вещи, которые мне нужно будет измерить, будут постоянно меняться. Иногда мне нужно видеть каждое возможное падение напряжения, иногда даже 8 бит будет достаточно. Я хотел бы иметь решение, которое может обслуживать как можно больше приложений.
PTS
Как быстро вы должны видеть изменения? (т.е. с какой частотой дискретизации вы хотите?)
ThreePhaseEel
2
«Иногда мне нужно видеть каждое возможное падение напряжения, иногда даже 8 бит будет достаточно». Тогда ваши требования должны быть в состоянии «увидеть каждое возможное падение напряжения». Если вам нужно разрешение 12 бит даже изредка, вам нужно проектировать с 12 битами. Если вы перейдете к 10 битам, у вас не будет 12, когда они вам понадобятся.
WhatRoughBeast
Частота дискретизации 1 кГц + была бы предпочтительной. Хотя я думаю, что в большинстве приложений 120 Гц было бы достаточно хорошо. Хотя такая частота дискретизации должна быть возможной для 8 каналов одновременно (не на одном и том же такте, но все они должны быть последовательно выбраны). @WhatRoughBeast Да, именно поэтому я решил выбрать 12бит. Хотя мне нужен совет с реализацией здесь.
PTS

Ответы:

19

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

Во время проектирования схемы

Во-первых, на этапе проектирования надлежащий эталон, правильная развязка и привод сигнала с низким импедансом должны быть поданы на АЦП для правильного преобразования. Кроме того, сигнал должен быть отфильтрован (низкочастотный фильтр в таком инструментальном приложении, как ваше), чтобы не допустить эффективного преобразования АЦП на более низких частотах в основную полосу (радиочастотные приложения могут использовать медленный полосовой фильтр АЦП + для преобразования Nyquist-down-down, сохраняя на выделенном микшере и ЛО).

Стабилизация вашей ссылки

Список литературы варьируется от тривиального и патетического (желеобразный дискретный стабилитрон, от хорошего до нуля, 4 бита) до безумного (жареные микросхемы с погребенными микросхемами, используемые в высокопроизводительных измерительных приборах) - и спецификации часто не ясны, единицы смешивания в способы, которые смущают новичков. Диаграмма в LTC AN82 является полезным противоядием для этого - учитывая ваше приложение, где ваш АЦП является 12bit блок способен 11+ ENOB дал ссылку стабильной и 5V питания, я бы указать ссылку , чтобы быть с точностью до 0,02% , или лучше в интересующем температурном диапазоне, и среднеквадратичный шум не имеет значения, поскольку он примерно на порядок меньше вашей спецификации точности.

К сожалению, исходная точность 0,02% без обрезки - это то, с чего все становится довольно ... сложно. Использование эталона 4,096 В с учетом того, что желаемая производительность ENOB означает, что я хочу запустить АЦП от тихого источника питания 5 В с преобразователем логического уровня до 3,3 В / В Пи, и что 4,096 В дает вам хороший, удобный Отношение 1 мВ / счет, мы ограничены ADR4540 , X60003 , MAX6126AASA или, возможно, LTC6655Bхотя последняя часть режет его близко, так как имеет начальную точность 0,025%. Хотя tempco и гистерезис не являются проблемой, так как я полагаю, что это настольное приложение, и регулировка линии и нагрузки не являются серьезными проблемами, так как она питается от того же регулируемого источника 5 В, что и АЦП, и управляет только выводом Vref АЦП, длительный дрейф Это также вызывает беспокойство из-за отсутствия обрезки - для этого ADR4540 и MAX6126AASA являются явными победителями на типичных 25ppm / root-khr и 20ppm / root-khr, соответственно - примерно в 10-1 необходимом соотношении считать длительный дрейф незначительным. (Две другие части имеют длительный дрейф около 50-60 промилле / корень-хр.)

Развязать все

В спецификации MCP3208 для развязки рекомендуется использовать минимальный конденсатор емкостью 1 мкФ, подключенный от Vdd к заземляющей системе - AGND и DGND также должны быть подключены к одной и той же заземляющей системе. Минимальный 10 мкФ / 10В керамический или полимерный танталовый развязывающий развязыватель следует также использовать на плате 5В.

Кроме того, эталон должен быть отделен в соответствии с таблицей данных - это часто 100 нФ на выходе с 100 нФ на входе в дополнение к любой имеющейся объемной развязывающей емкости, но для LTC6655 требуется намного больший выходной конденсатор (с использованием того же самого P / N, как работает массовый разделитель), а X60003 придирчив в противоположном направлении из-за своей конструкции с низким энергопотреблением.

Входной диск / буферизация / фильтрация

К счастью, это не сложно - точность 0,02% соответствует 800 мкВ максимального входного смещения, и я могу получить на пару порядков больше, чем с GBW в диапазоне МГц, работая на одном источнике питания 5 В с сегодняшним нулем. Усиленные усилители и дрифт. В AD8630 поставках малошумящий автоматической нулевой вариант, в то время как быстро внутренне отделан низкое смещением амперы включают OPA4350 и OPA4192 . В любом случае можно использовать двухполюсный низкочастотный фильтр сглаживания Sallen and Key из таблицы MCP3208 с угловой частотой около 5 кГц или около того - могут работать и другие конструкции фильтров.

Блок питания и цифровой интерфейс

Спецификация ENOB (эффективное число бит) MCP3208 зависит от питания - он работает лучше при напряжении 5 В, чем при напряжении 2,7-3,3 В; он также должен быть стекание 5V использовать ссылку 4.096V. Это поднимает проблему, заключающуюся в том, что Pi использует 3,3 В логику и не допускает 5 В, требуя ИС преобразования логического уровня, такого как TXB0104 - сторона А переходит к Пи, а сторона В переходит к АЦП.

Кроме того, источник питания 5 В должен быть достаточно чистым - необходимо использовать линейный регулятор, чтобы генерировать его на борту от более высокого напряжения питания. Если в приложении отсутствует более высокое напряжение питания, можно использовать существующую шину 5 В при условии, что сеть развязки LC используется для защиты большого количества цифрового шума от АЦП и шины питания операционного усилителя.

Время макета

Существует два ключа к эффективной схеме смешанного сигнала: разделение и схема подачи / возврата . Я буду касаться их по очереди.

Во-первых, я аккуратно разделил бы макет платы на две стороны - цифровую и аналоговую. Все цифровые трассировки (интерфейс SPI, в случае используемого вами MCP3208) идут с цифровой стороны платы - эта сторона платы также содержит микросхему преобразователя логического уровня и разъем ввода / вывода к Pi. Аналоговая сторона платы содержит все аналоговые следы и схемы - опорное напряжение идет здесь, и так делает входные фильтры, защиту входа и аналоговые входные разъемы. АЦП (и индуктор фильтра, если вы используете 5 В от Pi) - это единственный компонент, который устраняет этот разрыв - на самом деле,

Также обратите внимание, что все части, которые я связал, доступны в SMT-пакетах с малым шагом - односторонняя компоновка с задней стороной в виде непрерывной плоскости GND настоятельно рекомендуется, если здесь используется двухсторонняя плата. Если стоимость не является возражением, четырехслойная плата будет обеспечивать непрерывную аналоговую плоскость Vdd в дополнение к заземляющей плоскости, а также место для «лужи питания» для логической стороны 3.3 В ИС преобразователя логического уровня. Однако в этом приложении нет необходимости в разделении заземляющей плоскости - правильная маршрутизация трасс сигналов сохранит обратные токи там, где они принадлежат .

ThreePhaseEel
источник