Изчисляване на стъпката 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 опорно напрежение и еднополюсен диапазон.
- Нива на квантоване: 2¹² = 4 096 нива (с най-висок код 4 095).
- Размер на стъпката LSB: 3.3 V ÷ 4 096 ≈ 805.6641 µV.
- Максимална грешка от квантоване: ±402.832 µV.
- Шум от квантоване (rms): 805.6641 µV ÷ √12 ≈ 232.5752 µV rms.
- Идеално SNR: 6.02 × 12 + 1.76 ≈ 74.01 dB.
- Динамичен диапазон: 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× добавя два, при условие че шумът е бял и некорелиран — напълно чист и статичен сигнал просто повтаря един и същ код. Освен това можете да преминете към преобразувател с повече битове или да добавете стъпало с програмируемо усилване, така че сигналът да запълва по-голяма част от диапазона.