Чому АЦП використовують 10 біт, а не 8 або 16?


28

Чому саме більшість АЦП, як і на Arduino , дають 10-бітну роздільну здатність, а не 8 або 16 біт?

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


2
Побоювання не в ширині даних. Швидше за все, необхідна резолюція та вартість.
richieqianle

Чому вони відповідають "стандартним розмірам даних"?
користувач253751

Відповіді:


40

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

Припускаючи опорну напругу 5,00 В і 10-бітний АЦП, LSB являє напругу 4,88 мВ (5 В × 2 -10 ). Для 16-бітового АЦП з посиланням на 5,00 В напруга LSB становитиме 76 мкВ.

Але джерело живлення в цифровій системі не рівно 5,00 В, зазвичай він задається в діапазоні від 4,75 В до 5,25 В. Кожного разу, коли всередині мікроконтролера відбувається перехідна подія перемикання, є невеликий імпульс струму, який викликає живлення напруги до смикання. Якщо ЛСБ становить близько 5 мВ, то ви його навряд чи зможете побачити, але на рівні 76 мкВ важко не бачити цього шуму.

Насправді, як тільки ви перейдете 12-бітний АЦП, вам дійсно потрібно мати аналогове посилання на напругу, а не просто використовувати цифровий блок живлення. Так що це додає ще трохи витрат. Для найкращих результатів ця посилання напруги насправді має бути окремою мікросхемою, що має власні лінії електропередач, і в ідеалі вона повинна бути подалі від гарячої / галасливої ​​цифрової схеми.

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

Є програми для клієнтів, які використовують АЦП більш високої роздільної здатності. Компанія, в якій я працюю, робить досить багато таких. Автоматизоване тестове обладнання (ATE), медичне ультразвукове дослідження та деякі інші спеціалізовані типи клієнтів використовують АЦП високої роздільної здатності, в деяких випадках 18- або навіть 24-розрядні.

Тестування виробництва АЦП високої роздільної здатності забирає багато часу (і тому дорого). Клієнти, яким потрібна така продуктивність, платять премію за зовнішній автономний АЦП, а не за дешеві типи SAR, які вбудовані у багато сучасних мікроконтролерів.

Потім з'являються високошвидкісні додатки, такі як радіолокаційний або цифровий осцилоскоп для відбору проб, яким потрібно відібрати вибірку зі швидкістю 100 МГц або швидше - при таких швидкостях вам пощастить отримати 8 значущих біт.


1
Мій перший досвід роботи з АЦП був навпаки. Я був дуже здивований, побачивши, що найнижчий шматочок трохи не коливається.
Джон Дворак

При спробі вимірювання сигналів низької частоти або постійного струму насправді БУДЕ ЛЕШЕ мати систему з достатнім аналоговим шумом, щоб нижній біт коливався для всіх вхідних сигналів. Шум можна зменшити шляхом усереднення, але якщо ваш АЦП застряг на одному значенні, то незалежно від того, скільки усереднення ви зробите, результат не покращить.
Пітер Грін

1
За допомогою сучасних технологій ви можете придбати 8 значущих біт із декількома десятками швидкості руху в секунду. :)
oakad

12

Торгуйте між роздільною здатністю та вартістю.

8 біт дає 2 8 = 256 комбінацій, з яких 0 - це одна, залишаючи від 0 до 255 можливі цифрові значення. Цього недостатньо для багатьох програм. Кожен додатковий біт подвоює роздільну здатність, а 10-бітний дає 1024 кроки, що досить добре для більшості матеріалів проекту. Промислові системи можуть використовувати 12-бітні для ще кращого дозволу.

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


У мене в камері немає декількох мільйонів 14-бітних АЦП?
Хаген фон Ейтцен

7
@HagenvonEitzen: Ні. У камери немає одного АЦП на піксель, але він зчитує пікселі один за одним. (Хоча для цілого датчика може бути більше одного АЦП для його прискорення).
припухлість

1
Зазвичай камера зчитується рядками, тому у вас є кілька тисяч АЦП. У ситуації з високим посиленням (високий ISO у похмурому середовищі) ви можете бачити окремі зміни у парах підсилювача / АЦП у вигляді ліній, що проходять по зображенню.
Марк

@ Марк І як інший ефект сканування лінії, зображення предметів у швидкісному русі можуть дати ефект затвора .
JAB

4

Вже зроблено ряд хороших та вагомих моментів. Протягом багатьох років я широко використовував 8, 10, 12 і 16 біт АЦП, і сьогодні досить легко досягти 16 біт із часом конверсії 4 або 5 мікросекунд (краще є в наявності, я буду дотримуватися того, що можливо для більшості людей)), як окремий чіп. Але це містить мережу точних сходів, часто використовують резистори тонкої плівки та різні вузькоспеціалізовані методи аналогового проектування. (Практично завжди є потреба у високоефективних біполярних транзисторах десь у ланцюзі точного АЦП, але всі сучасні мікроконтролери є CMOS, тому є численні додаткові кроки виготовлення, щоб зробити що-небудь з хорошою аналоговою точністю та логікою CMOS в поєднанні. ) Хороший АЦП також коштує більше, ніж більшість мікроконтролерів! Це не так просто зробити,

Наприклад, розгляньте TI ADS8509, попередник якого ADS7509, не дуже швидкий, я багато разів використовував у великому і важливому проекті.

http://www.ti.com/lit/ds/symlink/ads8509.pdf

За сьогоднішніми мірками це досить звично. Але його внутрішні конструктивні особливості не сумісні з дешевим процесом виготовлення мікроконтролерів. І це коштує в 15,72 долара більше, ніж більшість мікроконтролерів. Я використовував їх у вигляді оголених напівпровідникових штампів, вбудованих у герметичні гібриди з металевих банок, із ретельно розробленими схемами підтримки, і насправді отримано ледь понад 1 шум LSB pp, тому це можна зробити, якщо ви знаєте, що ви робите, і мати ресурси, включаючи бюджет. Але ви ніколи не побачите такого низького шуму в мікроконтролері чи навколо нього.

Основна проблема, як пояснила хоча б одна людина, полягає в тому, що шум на цифровій шині живлення буде безпосередньо впливати на АЦП. Тепер ви можете обійти це, використовуючи хороший зовнішній посилання на напругу, де для цього передбачений штифт, але вам потрібно вміти робити те ж саме і з землею. І ці штифти повинні бути обмежені в межах декількох сотень мВ від цифрового джерела живлення і заземлення, або річ підірветься. Плюс, звичайно, внутрішнє з’єднання шуму всередині кремнію, від логіки, зміни станів у складних манерах на тактовій частоті, і ще гірше, від штифтів вводу / виводу, деякі з яких можуть керувати і перемикати 10s mA, якщо ви завантажили їх до межі. Шум, шум і більше шуму ...

Частина, яку я цитував (і Google навколо за дешевшими, швидшими чи різними, знижуючи гнучкість проти вартості), має інтерфейс SPI, тому її легко використовувати ВНІШНЯЧНО до мікроконтролера, із власним локальним заземленням, фільтруванням тощо. , обережно, це дійсно дасть вам 16 біт.

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

Якщо ви можете пожертвувати абсолютною точністю (тобто коефіцієнт масштабу може бути на 5% або більше, не кажучи вже про зміщення постійного струму та його дрейф з часом і температурою, але лінійність буде відмінною), звуковий АЦП може бути для вас. Вони принаймні 16 біт і розраховані на масовий ринок, тому часто є хорошим значенням, але не сподівайтеся використовувати його в точному приладі, який повинен вимірювати сигнали постійного струму до +/- 0,1%.

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

При виборі АЦП. Google, як завжди, ваш друг. Є багато статей та приміток до застосування від виробників TI, Linear, National та різних інших виробників напівпровідників. Завжди остерігайтеся того, що аркуші даних вам не повідомляють, і перевірте, на які параметри наголошують їх конкуренти.

Але якщо ви хочете, щоб усе це було на вашому мікросхемі мікроконтролера, не плануйте використовувати більше 10 біт (можливо, 9 придатних, LSB шумно) у своїх проектах. І плануйте окремий аналоговий довідник і заземлення, якщо ваш чіп дозволяє. Таким чином, ви не будете витрачати свій час.


3

8-бітові АЦП - це жахливе використання через 0,49% кроків - я цього достатньо бачив. Arduino, розроблений для електроніки хобі, використовує в 4 рази більше кроків, так що близько 0,1%, що наближається до досяжного сигналу до шуму (плюс гул), очікуваного від загальних схем оптичного підсилювача або транзистора. Краще, ніж це було б витрачено на хабістичну електроніку домашнього рівня, і гірше, ніж це було б надто степовим і жахливим.

Хоча 16-бітний АЦП є комерційно доступними, вони потребують довшого осідання, під час якого гул або шум перемістився, тому ви не отримаєте кращого вимірювання, і це повільніше.


2
Arduinos, розроблений для хобі-електроніки, не має нічого спільного з кількістю доступних adc-бітів у вбудованому чіпі adc atmel uC. це може бути підходящою глибиною для використання у хобі, але він розроблений таким чином, щоб він був хорошим розміром для багатьох професійних додатків без ардуїно
Логанф

2

Коли АЦП здійснює перетворення, воно забезпечує цифрове (квантоване) значення для безперервного аналогового сигналу. Оскільки цифрове значення не буде точно аналоговим значенням у момент перетворення, різницю можна розглядати як аддитивний шум. Чим вище роздільна здатність АЦП, тим ближче цифрове значення від аналогового значення. Іншими словами, ми покращуємо відношення сигналу до квантитизації шуму (SQNR), збільшуючи біти АЦП. Тому 10-бітний АЦП краще, ніж 8-бітний (приблизно 12 дБ).

Використання 16-бітного A / D буде кращим з точки зору SQNR. Однак вони дорожчі. І у багатьох додатках 10-бітний АЦП забезпечує достатньо необхідної SQNR.


1

Як правило, ви хочете, щоб кількість бітів у вашій приборці було таким, щоб ваш крок квантування був трохи або трохи нижчим від (аналогового) рівня шуму системи.

Використання більшої кількості бітів і, отже, крок квантування далі під шумовим рівнем дає вам дуже незначне поліпшення загальної продуктивності шуму, але використання більшої кількості кремнію або збільшує час перетворення довше, або вимагає, щоб внутрішні компоненти вашого перетворювача працювали швидше (і, отже, було шумніше)

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

Різниця між 8 і 16 бітами - ВЕЛИЧЕЗНА. Перший закінчується кроком квантування, який є занадто великим навіть у системах із досить низькими показниками шуму. Останнє витрачається на будь-яку систему, яка не має дуже ретельної аналогової конструкції. Тож несподівано мікроконтролери опиняються десь посередині.

Зауважте, що люди часто говорять про «шум від квантування», але важливо пам’ятати, що поняття «шум від квантування» - це спрощена модель реальності, яка руйнується за деяких обставин.


0

Найбільш поширене використання АЦП - це, мабуть, у зоні обробки звуку (VoIP, музика на CD тощо). Музика тут не цікавить, оскільки для цього потрібно 16 біт. Але VoIP - це те, що рухає ринок АЦП нижчих бітів. Зазвичай VoIP використовує компаунд, який виробляє 8-бітний стислий код PCM з 12-бітного вхідного сигналу. Вхід для кроку стиснення повинен мати більше бітів - зазвичай 12, а іноді і 10 може бути достатньо (завжди можна підробити найнижчі два біти).

Як результат, попит на 8-бітні АЦП дуже низький, але високорозрядні АЦП користуються великим попитом, тому вони доступні дешево. Arduino, швидше за все, буде використовувати дешеві та всюдисущі компоненти.

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