Основи дизайну при роботі з 12-бітними АЦП


11

Наразі я розробляю плату, яка прикріплює 12-бітний АЦП (MCP3208) до Raspberry Pi (окрім кількох інших матеріалів, пов'язаних з низькою швидкістю вводу / виводу). Він здебільшого буде приєднаний до аналогових датчиків (датчики темпу, ІЧ-датчики відстані та подібні речі, хоча не завжди потрібна 12-бітова роздільна здатність; є випадки, коли справді було б непогано мати додатковий фрагмент інформації).

Я не маю великого досвіду роботи з аналоговими схемами і не знаю добре, що стосується математики та фізики.

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

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

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

Мені б дуже хотілося знати, що є розумними та найважливішими речами, на які слід звернути увагу.


2
Почніть з того, що ви намагаєтеся виміряти, і яке дозвіл вам потрібно, а потім вирішіть, який тип АЦП та аналогової обробки вам потрібен. Окрім цього, прочитайте свою таблицю даних АЦП. Ви втрачаєте шматочки, навіть якщо ви їх прекрасно використовуєте. Шукати "ENOB"
— Скотт Сейдман

Проблема полягає в тому, що речі, які мені потрібно буде виміряти, будуть постійно змінюватися. Іноді мені потрібно бачити кожен можливий пробіг напруги, іноді навіть 8 біт вистачить. Я хотів би мати рішення, яке може задовольнити якомога більше програм.
— PTS

Наскільки швидко вам потрібно бачити зміни? (тобто яка частота відбору проб вам
— потрібна

2
"Іноді мені потрібно бачити кожен можливий пробіг напруги, іноді навіть 8 біт вистачить". Тоді ваші вимоги полягають у тому, щоб мати можливість "бачити кожен можливий проміжок напруги". Якщо вам потрібна 12-бітова роздільна здатність навіть лише зрідка, вам потрібно спроектувати 12 біт. Якщо ви перейдете на 10 біт, вам не буде 12, коли вони вам потрібні.
— WhatRoughBeast

Частота дискретизації 1 КГц + була б кращою. Хоча я думаю, що в більшості додатків 120 Гц було б досить добре. Хоча частота дискретизації повинна бути можливою для 8 каналів одночасно (не в один і той же годинник, але їх потрібно відбирати послідовно). @WhatRoughBeast Так, це було моєю причиною вирішити йти з 12 бітами. Хоча мені тут потрібні поради щодо впровадження.
— PTS

Відповіді:


19

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

Під час проектування схеми

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

Стабілізація вашої довідки

Посилання варіюються від тривіальної та патетичної (дискретний женерівський Зенер, добре, о, 4 біти), до божевільного (завищений IC-похований Zeners, який використовується у високоефективних програмах приладів) - і технічні характеристики часто не зрозумілі, змішуючи одиниці в способи, які бентежать новачків. Діаграма в LTC AN82 є корисним антидотом для цього - враховуючи вашу програму, де ваш АЦП є 12-бітовою одиницею, здатною 11+ ENOB, отримуючи стабільну орієнтир та 5В-джерело, я б зазначив, що посилання буде точним до 0,02% або краще в діапазоні температур, що цікавлять, і шум RMS не викликає занепокоєння, оскільки він приблизно на порядок менший, ніж ваша специфікація точності.

На жаль, 0,02% початкової точності без обрізки - це те, де все починає ставати досить важко. Використання посилання 4.096V з огляду на те, що бажана продуктивність ENOB означає, що я хочу запустити АЦП на тихому 5В джерелі з перекладачем логічного рівня до 3.3VI / O Pi, і що 4.096V дає вам гарне, зручне 1mV / лічильник, ми обмежені ADR4540 , X60003 , MAX6126AASA або, можливо, LTC6655Bхоча остання частина розрізає її близько, оскільки вона має 0,025% початкової точності. Хоча темпко і гістерезис не викликає занепокоєння, оскільки це, напевно, прикладне застосування, і регулювання ліній і навантажень не є головними проблемами, оскільки це працює від того ж регульованого 5В живлення, що і АЦП, і лише керуючий штифтом Vref ADC, довготривалий дрейф тут також викликає занепокоєння відсутність обрізки - для цього ADR4540 і MAX6126AASA є явними переможцями при 25ppm / root-hhr і 20ppm / root-hhr, відповідно - приблизно при необхідному співвідношенні 10-1 вважати довгостроковий дрейф незначним. (Інші дві частини мають тривалий відбій близько 50-60ppm / root-khr типово.)

Розв’язувати все

Лист даних MCP3208 рекомендує мінімум 1 мкФ конденсатор для роз'єднання, підключений від Vdd до наземної системи - AGND і DGND також повинні бути прив'язані до тієї ж наземної системи. Як мінімум 10 мкФ / 10В керамічний або полімерний танталовий об'ємний декупаж також слід використовувати на дошці 5В рейкою.

На додаток до цього, посилання має бути відокремлено відповідно до таблиці даних - це часто 100nF на виході з 100nF на вході на додаток до будь-якої наявної ємності для об'ємної розв'язки, але LTC6655 вимагає набагато більший вихідний конденсатор (використовуючи той самий P / N, як працює об'ємний декупаж), а X60003 вибагливий у зворотному напрямку завдяки своїй конструкції з низькою потужністю.

Привід введення / буферування / фільтрація

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

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

Специфікація ENOB MCP3208 (ефективна кількість біт) залежить від живлення - вона працює краще з напругою 5 В, ніж з 2,7-3,3 В; Для використання посилання 4.096V він також повинен бути відключений від 5 В. Це спричиняє проблему, що Pi використовує логіку 3,3 В і не є толерантною до 5 В, що вимагає ІМ- перекладу логічного рівня, такого як TXB0104 - сторона A переходить до Pi, а сторона B - до АЦП.

Крім того, джерело живлення 5В повинен бути досить чистим - лінійний регулятор повинен використовуватися для його генерації на борту від більш високої напруги живлення. Якщо в додатку відсутня більш висока напруга живлення, можна використовувати існуючу 5В рейку, якщо використовується мережа роз'єднання ЛК для утримання великої кількості цифрового шуму від АЦП та підсилювача живлення.

Час компонування

Є два клавіші для ефективної компонування сигналу змішаного сигналу: розмітка розділів та схема подачі / повернення . Я торкнуся тих, по черзі.

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

Зауважте, також, що всі деталі, з якими я пов'язаний, доступні в пакеті SMT з великим кроком - односторонній макет із зворотною стороною як суцільна площина GND дуже рекомендується, якщо тут буде використовуватися двостороння дошка. Якщо вартість не є запереченням, чотиришарова плата забезпечить безперервну аналогову площину Vdd на додаток до площини заземлення, а також місце для «калюжі потужності» для 3,3 В сторони логіки перекладача логічного рівня IC. Однак у цій програмі немає необхідності в розбитті заземлення - правильна маршрутизація сигнальних слідів дозволить зберегти зворотні струми там, де вони належать .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.