Основи дизайну при роботі з 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.