Калкулатор за разделителна способност на ADC

Въведете битовете и опорното напрежение на ADC, за да получите неговия размер на стъпката, грешка от квантоване и идеално SNR, да преобразувате между волтове и кодове и да проследите всяко заместване.

Преобразувател и диапазон

Цяло число от 1 до 32 — номиналната разрядност на преобразувателя в битове.
Входен диапазон

Точка на измерване (опционално)

Оставете празно, за да пропуснете измерването.

Колко бита са ви необходими? (опционално)

Размер на стъпката и шум

Размер на стъпката LSB

Формули и заместване

LSB = FSR ÷ 2ᴺ · макс. грешка = ½ LSB · SNR = 6.02N + 1.76 dB

    Всяко число, което въвеждате, остава в този браузър — нищо не се изпраща онлайн.

    ЧЗВ

    Защо някои източници делят на 2^N, а други на 2^N − 1?

    Това са два различни модела на един и същ преобразувател. Спецификациите и класическата теория на квантоването дефинират LSB = FSR ÷ 2^N, като първият преход на кода е при половин стъпка — това е моделът, използван на тази страница. Формулата Vref ÷ (2^N − 1) идва от съпоставянето на най-високия код точно с Vref, което е често срещано в ръководствата за микроконтролери. При 12 бита разликата между двете е около 0.02%, което е далеч под толеранса на всеки реален опорен източник; просто не смесвайте двата модела, когато сравнявате стойности от различни източници.

    Означава ли 12-битовата разделителна способност 12-битова точност?

    Не. Разделителната способност е само ширината на кода — колко фино е разделен диапазонът. Точността е ограничена от INL и грешките от отместване/усилване на преобразувателя, толеранса и шума на опорния източник, както и от схемата около него. Ето защо в спецификациите се посочва ENOB: един 12-битов SAR обикновено осигурява 10–11 ефективни бита. Показаното тук идеално SNR от 74 dB е таванът, който никой реален 12-битов преобразувател не достига.

    Как се променят изчисленията при двуполюсен вход ±Vref?

    Диапазонът се удвоява до 2 × Vref, така че същият преобразувател разграничава стъпки с двойно по-голяма ширина: LSB = 2 × Vref ÷ 2^N. Кодовете се изменят от отрицателната до положителната захранваща шина — код 0 съответства на −Vref, средният код 2^(N−1) е 0 V, а най-високият код е с една стъпка под +Vref. Изберете двуполюсен диапазон по-горе и нула волта ще съответства точно на средния код.

    Какво мога да направя, когато размерът на стъпката е твърде груб?

    Свръхдискретизацията и усредняването подобряват разделителната способност, когато сигналът съдържа малко шум: усредняването на 4× повече измервания добавя около един ефективен бит, а на 16× добавя два, при условие че шумът е бял и некорелиран — напълно чист и статичен сигнал просто повтаря един и същ код. Освен това можете да преминете към преобразувател с повече битове или да добавите стъпало с програмируемо усилване, така че сигналът да запълва по-голяма част от диапазона.

    Изчисляване на стъпката LSB и теоретичните граници на ADC

    Аналогово-цифровите преобразуватели (ADC) свързват непрекъснатия физически свят с дискретните цифрови системи. При проектирането на смесени сигнали определянето на размера на стъпката на най-малкия значим разряд (LSB), шума от квантоване и теоретичното съотношение сигнал-шум (SNR) е първата стъпка към изграждането на прецизна измервателна система.

    Този калкулатор изчислява тези параметри въз основа на разрядността на преобразувателя и неговото опорно напрежение. Инструментът поддържа както еднополюсни (unipolar), така и двуполюсни (bipolar) входни диапазони, преобразува напрежения в цифрови кодове и обратно, и определя минималния брой битове, необходими за улавяне на конкретно целево изменение в напрежението.

    Всички изчисления се извършват локално на вашето устройство. Всяко число, което въвеждате, остава в този браузър — нищо не се изпраща онлайн.


    Математически модел и формули

    Инструментът моделира идеален квантовател, при който първият преход на кода се извършва при половин стъпка (±½ LSB). За изчисляване на параметрите се използват следните символни формули, последвани от пълни математически замествания в интерфейса на инструмента:

    • Пълен диапазон (FSR):
      • Еднополюсен диапазон: FSR = Vref
      • Двуполюсен диапазон: FSR = 2 × Vref
    • Размер на стъпката LSB: LSB = FSR ÷ 2^N
    • Макс. грешка от квантоване (±½ LSB): ±LSB ÷ 2
    • Шум от квантоване (rms): LSB ÷ √12
    • Идеално SNR (пълномащабна синусоида): SNR = 6.02 × N + 1.76 dB
    • Динамичен диапазон: 6.02 × N dB

    Преобразуване в точката на измерване

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

    • Еднополюсен код: code = round(Vin ÷ LSB)
    • Двуполюсен код: code = round((Vin + Vref) ÷ LSB)
    • Еднополюсно напрежение от код: V = code × LSB
    • Двуполюсно напрежение от код: V = code × LSB − Vref
    • Грешка от квантоване: code voltage − input voltage

    Примерно изчисление (12-битов ADC)

    За да илюстрираме работата на математическия модел, можем да заредим стандартните примерни стойности от инструмента: 12 бита разделителна способност, 3.3 V опорно напрежение и еднополюсен диапазон.

    1. Нива на квантоване: 2¹² = 4 096 нива (с най-висок код 4 095).
    2. Размер на стъпката LSB: 3.3 V ÷ 4 096 ≈ 805.6641 µV.
    3. Максимална грешка от квантоване: ±402.832 µV.
    4. Шум от квантоване (rms): 805.6641 µV ÷ √12 ≈ 232.5752 µV rms.
    5. Идеално SNR: 6.02 × 12 + 1.76 ≈ 74.01 dB.
    6. Динамичен диапазон: 6.02 × 12 ≈ 72.25 dB.

    Ако приложим входно напрежение от точно 1.65 V (което е точно в средата на скалата), то се картографира към изходен код 2 048 (двоичен: 1000 0000 0000, шестнадесетичен: 0x800) с точно нулева грешка от квантоване.


    Правила при крайни стойности и ограничаване (Clipping)

    При работа с реални сигнали напрежението може да надхвърли границите на опорния източник. Инструментът следи за тези състояния и прилага следните правила:

    • Насищане в горната граница: Ако входното напрежение превиши горната захранваща шина, изходът се ограничава до най-високия възможен код (2^N - 1). В този случай се извежда предупреждението: "Входът е над горната граница: изходът се насища при най-високия код, а показаната грешка е реалният остатък — границата от ±½ LSB вече не е в сила."
    • Насищане в долната граница: Ако входът падне под долната шина (под 0 V за еднополюсен или под −Vref за двуполюсен режим), кодът се ограничава до 0. Инструментът показва предупреждението: "Входът е под долната граница: изходът се насища при код 0, а показаната грешка е реалният остатък — границата от ±½ LSB вече не е в сила."
    • Точка в средата на скалата: При вход точно в средата на диапазона се показва съобщението: "Точно в средата на скалата: половината от диапазона съответства на код ‹code› с нулева грешка от квантоване."

    Разлика между разделителна способност и точност

    При проектирането на хардуер е критично да не се бърка разделителната способност (броят битове) с реалната точност на измервателния тракт.

    Всеки реален ADC добавя грешка от нелинейност (INL/DNL), отместване на нулата (offset), грешка от усилването (gain error) и температурен дрейф. Опорният източник на напрежение също има собствен начален толеранс, шумови компоненти и температурен коефициент, които директно мащабират всяка стъпка LSB. Поради тази причина теоретичните стойности за SNR и границата от ±½ LSB представляват идеален математически таван, а не гарантирана производителност на физическата платка.


    Често задавани въпроси (FAQ)

    Означава ли 12-битовата разделителна способност 12-битова точност?
    Не. Разделителната способност е само ширината на кода — колко фино е разделен диапазонът. Точността е ограничена от INL и грешките от отместване/усилване на преобразувателя, толеранса и шума на опорния източник, както и от схемата около него. Ето защо в спецификациите се посочва ENOB: един 12-битов SAR обикновено осигурява 10–11 ефективни бита. Показаното тук идеално SNR от 74 dB е таванът, който никой реален 12-битов преобразувател не достига.

    Как се променят изчисленията при двуполюсен вход ±Vref?
    Диапазонът се удвоява до 2 × Vref, така че същият преобразувател разграничава стъпки с двойно по-голяма ширина: LSB = 2 × Vref ÷ 2^N. Кодовете се изменят от отрицателната до положителната захранваща шина — код 0 съответства на −Vref, средният код 2^(N−1) е 0 V, а най-високият код е с една стъпка под +Vref. Изберете двуполюсен диапазон по-горе и нула волта ще съответства точно на средния код.

    Защо някои източници делят на 2^N, а други на 2^N − 1?
    Това са два различни модела на един и същ преобразувател. Спецификациите и класическата теория на квантоването дефинират LSB = FSR ÷ 2^N, като първият преход на кода е при половин стъпка — това е моделът, използван на тази страница. Формулата Vref ÷ (2^N − 1) идва от съпоставянето на най-високия код точно с Vref, което е често срещано в ръководствата за микроконтролери. При 12 бита разликата между двете е около 0.02%, което е далеч под толеранса на всеки реален опорен източник; просто не смесвайте двата модела, когато сравнявате стойности от различни източници.

    Какво мога да направя, когато размерът на стъпката е твърде груб?
    Свръхдискретизацията и усредняването подобряват разделителната способност, когато сигналът съдържа малко шум: усредняването на 4× повече измервания добавя около един ефективен бит, а на 16× добавя два, при условие че шумът е бял и некорелиран — напълно чист и статичен сигнал просто повтаря един и същ код. Освен това можете да преминете към преобразувател с повече битове или да добавете стъпало с програмируемо усилване, така че сигналът да запълва по-голяма част от диапазона.