Разумевање резолуције аналогно-дигиталног конвертора
Аналогно-дигитални конвертор (ADC) преводи непрекидне напонске сигнале из физичког света у дискретне дигиталне вредности које микроконтролери и процесори могу да обраде. Два кључна параметра одређују како овај процес утиче на верност сигнала: номинална битна резолуција и референтни напон. Калкулатор ADC резолуције омогућава прецизно израчунавање величине корака најмање значајног бита (LSB), максималне теоријске грешке квантизације и граница шума за различите конфигурације улазног опсега.
Прорачуни се изводе локално на вашем уређају. Сваки број који унесете остаје у овом прегледачу — ништа се не отпрема.
Математички модел и формуле
Алат користи модел идеалног квантизатора где се први прелаз кода дешава на половини корака (±½ LSB). За сваки прорачун, алат приказује комплетне симболичке формуле и детаљну замену вредности како би се омогућила лака верификација корака.
1. Пун опсег (FSR) и нивои квантизације
Број дискретних нивоа које конвертор може да прикаже директно зависи од резолуције N изражене у битовима:
Нивои = 2^N
У зависности од изабраног улазног опсега, укупни напонски распон или пун опсег (FSR) дефинише се на следећи начин:
- Униполарни · 0 до Vref: FSR = Vᵣef
- Биполарни · −Vref до +Vref: FSR = 2 × Vᵣef
2. Величина LSB корака
Величина најмањег корака представља напонску разлику између два суседна дигитална кода:
LSB = FSR / (2^N)
3. Грешка и шум квантизације
Процес заокруживања непрекидног напона на дискретне нивое уводи неизбежну грешку. Код идеалног конвертора, максимална теоријска грешка износи половину LSB корака:
Макс. грешка квантизације = ±LSB / 2
Средња квадратна вредност (rms) шума квантизације рачуна се преко равномерне расподеле грешке унутар једног LSB корака:
Шум квантизације (rms) = LSB / (√(12))
4. Идеални SNR и динамички опсег
Теоријски однос сигнала и шума (SNR) за синусоидални сигнал пуног опсега преко целог Никвистовог опсега израчунава се према класичној формули:
SNR = 6.02 × N + 1.76 dB
Динамички опсег представља однос између највећег и најмањег сигнала који конвертор може да региструје:
Динамички опсег = 6.02 × N dB
Конверзија на мерној тачки
Поред општих карактеристика конвертора, алат омогућава двосмерну конверзију на одређеној мерној тачки.
Напон → код
За претварање улазног напона (Vᵢₙ) у дигитални код користе се следеће формуле са заокруживањем на најближи цео број:
- Униполарни опсег: код = round(Vᵢₙ / LSB)
- Биполарни опсег: код = round((Vᵢₙ + Vᵣef) / LSB)
Ако напон прекорачи дефинисане границе, долази до засићења:
- Изнад горње границе: Излаз се засићује на највишем коду (2^N - 1). Алат тада приказује упозорење: "Улаз је изнад горње границе: излаз се засићује на највишем коду, а приказана грешка је стварни остатак — граница од ±½ LSB више не важи."
- Испод доње границе: Излаз се засићује на коду 0. Приказује се упозорење: "Улаз је испод доње границе: излаз се засићује на коду 0, а приказана грешка је стварни остатак — граница од ±½ LSB више не важи."
- Тачно на средини опсега: За улаз који је тачно на средини опсега, алат приказује напомену да се половина распона мапира на средњи код са нултом грешком квантизације.
Код → напон
За израчунавање тачног напона који одговара одређеном дигиталном коду користе се формуле:
- Униполарни опсег: V = код × LSB
- Биполарни опсег: V = код × LSB - Vᵣef
Грешка квантизације на мерној тачки представља разлику између напона кода и стварног улазног напона:
Грешка квантизације = напон кода - улазни напон
Пример прорачуна (12-битни ADC)
Када се у алату изабере опција "Учитај пример", учитавају се следеће вредности:
- Резолуција N (бита): 12
- Референтни напон: 3.3 V
- Улазни опсег: Униполарни · 0 до Vref
Добијени резултати:
- Нивои квантизације: 2¹² = 4096
- Највиши код: 4095
- Величина LSB корака: 3.3 V ÷ 4096 ≈ 805.6641 µV
- Макс. грешка квантизације (±½ LSB): ± 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 (што је тачно средина опсега), излазни код је 2048 (бинарно 1000 0000 0000, хексадецимално 0x800) са грешком квантизације од 0 V.
Димензионисање резолуције
Ако унесете циљну вредност у поље "Најмања промена за разрешавање", калкулатор ће израчунати минималан број бита потребан да се та промена детектује:
N ≥ log₂(FSR / корак)
Резултат се заокружује на први следећи цео број бита. Алат ће затим упоредити овај захтев са тренутно изабраном резолуцијом и исписати да ли тренутни конвертор задовољава услов или дефинисати корак који тренутни систем заправо може да разреши.
Често постављана питања (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%, што је далеко испод толеранције било које стварне референце; само их немојте мешати када поредите вредности из различитих извора.
Шта могу да урадим када је величина корака прегруба?
Прекомерно одбирање (oversampling) и усредњавање доносе бољу резолуцију када сигнал садржи мало шума: усредњавање 4× више одбирака доноси око један ефективни бит, а 16× доноси два, под условом да је шум бели и некорелисан — савршено чист и потпуно миран сигнал само понавља исти код. Осим тога, можете прећи на конвертор са више бита или додати степен са програмабилним појачањем како би сигнал испунио већи део опсега.