ADC skiriamosios gebos skaičiuoklė

Įveskite ADC bitus bei atraminę įtampą ir sužinokite jo žingsnio dydį, kvantavimo paklaidą bei idealų SNR, konvertuokite voltus į kodus ir sekite kiekvieną įstatymą.

Keitiklis ir diapazonas

Sveikasis skaičius nuo 1 iki 32 — nominalus keitiklio bitų plotis.
Įėjimo diapazonas

Matavimo taškas (pasirinktinai)

Palikite tuščią, jei norite praleisti matavimą.

Kiek bitų jums reikia? (pasirinktinai)

Žingsnio dydis ir triukšmas

LSB žingsnio dydis

Formulės ir įstatymas

LSB = FSR ÷ 2ᴺ · maks. paklaida = ½ LSB · SNR = 6.02N + 1.76 dB

    Kiekvienas jūsų įvestas skaičius lieka šioje naršyklėje – niekas nėra įkeliama.

    DUK

    Kodėl vienuose šaltiniuose dalijama iš 2^N, o kituose — iš 2^N − 1?

    Tai du skirtingi to paties keitiklio modeliai. Specifikacijose ir klasikinėje kvantavimo teorijoje LSB apibrėžiamas kaip FSR ÷ 2^N, o pirmasis kodo perėjimas vyksta ties pusės žingsnio riba — būtent šį modelį naudoja šis puslapis. Vref ÷ (2^N − 1) forma gaunama viršutinį kodą susiejant tiksliai su Vref, kas dažnai sutinkama mikrovaldiklių pamokose. Esant 12 bitų, šie du variantai skiriasi apie 0.02%, o tai yra gerokai mažiau už bet kurio realaus atraminio šaltinio toleranciją; tiesiog nemaišykite jų, kai tikrinate skaičius iš skirtingų šaltinių.

    Ar 12 bitų skiriamoji geba reiškia 12 bitų tikslumą?

    Ne. Skiriamoji geba tėra kodo plotis — kaip smulkiai padalytas diapazonas. Tikslumą riboja keitiklio INL bei poslinkio ir stiprinimo paklaidos, atraminės įtampos tolerancija bei triukšmas ir jį supanti grandinė. Štai kodėl specifikacijose nurodomas ENOB: 12 bitų SAR paprastai užtikrina 10–11 efektyviųjų bitų. Čia rodomas idealus 74 dB SNR yra teorinė riba, kurios nepasiekia joks realus 12 bitų keitiklis.

    Kaip ±Vref įėjimas pakeičia skaičiavimus?

    Diapazonas padidėja dvigubai iki 2 × Vref, todėl tas pats keitiklis išskiria dvigubai platesnius žingsnius: LSB = 2 × Vref ÷ 2^N. Kodai kinta nuo neigiamo maitinimo bėgio iki teigiamo — 0 kodas atitinka −Vref, vidurinis kodas 2^(N−1) atitinka 0 V, o viršutinis kodas yra vienu žingsniu žemiau +Vref. Viršuje pasirinkus dvipolį diapazoną, nulis voltų atitiks tiksliai vidurinį kodą.

    Ką daryti, jei žingsnio dydis yra per didelis?

    Diskretizavimas su pertekliumi (angl. oversampling) ir vidurkinimas leidžia padidinti skiriamąją gebą, kai signale yra šiek tiek triukšmo: vidurkinant 4× daugiau imčių gaunamas maždaug vienas efektyvusis bitas, o 16× — du bitai, jei triukšmas yra baltasis ir nekoreliuotas. Puikiai švarus ir visiškai nekintantis signalas tiesiog kartos tą patį kodą. Kitu atveju reikėtų rinktis keitiklį su daugiau bitų arba pridėti programuojamo stiprinimo pakopą, kad signalas užpildytų didesnę diapazono dalį.

    Analoginio-skaitmeninio keitiklio (ADC) parinkimas ir jo parametrų derinimas reikalauja tikslaus teorinių ribų įvertinimo. Ši ADC skiriamosios gebos skaičiuoklė leidžia akimirksniu nustatyti mažiausio reikšmingo bito (LSB) žingsnio dydį, kvantavimo triukšmą bei idealų signalo ir triukšmo santykį (SNR). Įrankis atlieka skaičiavimus tiesiogiai jūsų įrenginyje, o žemiau pateikta medžiaga padės detaliau suprasti keitiklio veikimo principus bei matematinius modelius.

    Kaip veikia ADC skiriamosios gebos skaičiuoklė

    Šis įrankis apskaičiuoja esminius analoginio-skaitmeninio keitiklio parametrus, remdamasis nominaliu bitų skaičiumi ir atramine įtampa. Vartotojas gali pasirinkti vienpolį arba dvipolį įėjimo diapazoną, atlikti tiesioginį bei atvirkštinį kodų konvertavimą ir nustatyti, kokios skiriamosios gebos reikia norint išskirti konkretų įtampos pokytį.

    Skaičiuoklė naudoja idealų kvantavimo modelį, kuriame pirmasis kodo perėjimas vyksta ties pusės žingsnio riba (½ LSB). Visi skaičiavimai atliekami lokaliai: kiekvienas jūsų įvestas skaičius lieka šioje naršyklėje – niekas nėra įkeliama.

    Įvesties parametrai

    • Skiriamoji geba N (bitais): Sveikasis skaičius nuo 1 iki 32 — nominalus keitiklio bitų plotis.
    • Atraminė įtampa: Teigiamas skaičius, nurodantis atraminį lygį.
    • Atraminis vienetas: Atraminės įtampos matavimo vienetas.
    • Įėjimo diapazonas: Pasirinkimas tarp „Vienpolis · nuo 0 iki Vref“ ir „Dvipolis · nuo −Vref iki +Vref“.
    • Rodomi dešimtainiai skaitmenys: Rezultatų tikslumo nustatymas.
    • Konvertuoti: Pasirinktinė parinktis, leidžianti pasirinkti režimą „Įtampa → kodas“ arba „Kodas → įtampa“.
    • Įėjimo įtampa: Įtampa, kurią norite paversti skaitmeniniu kodu.
    • Kodas (skaitinė reikšmė): Sveikasis skaičius nuo 0 iki viršutinio kodo, konvertuojamas į įtampą.
    • Įtampos vienetas: Įtampos arba kodo įtampos matavimo vienetas.
    • Mažiausias norimas išskirti pokytis: Tikslinis įtampos žingsnis, naudojamas reikalingai skiriamosios gebos vertei nustatyti.
    • Žingsnio vienetas: Tikslinio žingsnio matavimo vienetas.

    Sąsajoje esantys mygtukai „Įkelti pavyzdį“ ir „Išvalyti“ leidžia greitai užpildyti laukus demonstraciniais duomenimis arba pilnai anuliuoti įvestį.


    Skaičiuoklės išvesties rodikliai ir jų reikšmės

    Atlikus skaičiavimus, įrankis pateikia šiuos rezultatus, suskirstytus į funkcines grupes:

    Žingsnio dydis ir triukšmas

    • LSB žingsnio dydis: Mažiausio reikšmingo bito vertė įtampos išraiška. Papildomai rodoma šio žingsnio procentinė dalis nuo visos skalės bei vertė ppm (milijonosiomis dalimis).
    • Kvantavimo lygiai: Bendras diskrečiųjų lygių skaičius (2ᴺ).
    • Viršutinis kodas: Didžiausia galima skaitmeninė išėjimo reikšmė (2ᴺ − 1).
    • Pilnos skalės diapazonas: Bendras keitiklio apimamas įtampos rėžis (FSR).
    • Maks. kvantavimo paklaida (±½ LSB): Didžiausia teorinė paklaida, atsirandanti dėl analoginio signalo suapvalinimo iki artimiausio kodo.
    • Kvantavimo triukšmas (rms): Efektinė kvantavimo triukšmo įtampa.
    • Idealus SNR (pilnos skalės sinusas): Teorinė signalo ir triukšmo santykio riba decibelais.
    • Dinaminis diapazonas: Teorinis dinaminis diapazonas decibelais.

    Matavimo taške

    Jei užpildėte pasirinktinį matavimo taško lauką, skaičiuoklė pateikia šiuos duomenis:

    • Išėjimo kodas: Skaitmeninė reikšmė, gauta suapvalinus įėjimo įtampą.
    • Dvejetainis: Kodo atvaizdavimas dvejetainiu formatu.
    • Šešioliktainis: Kodo atvaizdavimas šešioliktainiu formatu.
    • Kodo įtampa: Tiksli įtampa, kurią atitinka gautas skaitmeninis kodas.
    • Kvantavimo paklaida: Skirtumas tarp įėjimo įtampos ir kodo įtampos.
    • Šio kodo įėjimo langas: Įėjimo įtampų rėžis, kuris yra suapvalinamas iki šio konkretaus kodo.

    Teorinės formulės ir skaičiavimo eiga

    Skaičiuoklė ne tik pateikia galutinius skaičius, bet ir parodo pilną matematinį kelią, įstatydama jūsų įvestas reikšmes į šias formules:

    • Pilnos skalės diapazonas (FSR):
      • Vienpolis: FSR = Vref
      • Dvipolis: FSR = 2 × Vref
    • LSB žingsnio dydis: LSB = FSR ÷ 2ᴺ
    • Maks. kvantavimo paklaida: ±LSB ÷ 2
    • Kvantavimo triukšmas (rms): LSB ÷ √12
    • Idealus SNR (pilnos skalės sinusas): SNR = 6.02 × N + 1.76 dB
    • Dinaminis diapazonas: 6.02 × N dB
    • Kodo skaičiavimas (įtampa → kodas):
      • Vienpolis: kodas = round(Vin ÷ LSB)
      • Dvipolis: kodas = round((Vin + Vref) ÷ LSB)
    • Įtampos atkūrimas (kodas → įtampa):
      • Vienpolis: V = kodas × LSB
      • Dvipolis: V = kodas × LSB − Vref
    • Kvantavimo paklaida matavimo taške: Kodo įtampa − įėjimo įtampa
    • Reikalingos skiriamosios gebos parinkimas: N ≥ log₂(FSR ÷ žingsnis), suapvalinta į didžiąją pusę iki sveikojo skaičiaus.

    Skaičiavimo pavyzdys

    Pasirinkus pavyzdines reikšmes (12 bitų skiriamoji geba, 3.3 V atraminė įtampa, vienpolis diapazonas):

    • Kvantavimo lygiai: 2¹² = 4 096
    • Viršutinis kodas: 4 095
    • LSB žingsnio dydis: 3.3 V ÷ 4 096 ≈ 805.6641 µV
    • Maks. kvantavimo paklaida: ±402.832 µV
    • Kvantavimo triukšmas: ≈ 232.5752 µV rms
    • Idealus SNR: ≈ 74.01 dB
    • Dinaminis diapazonas: ≈ 72.25 dB

    Jei įėjimo įtampa yra 1.65 V (tiksliai skalės vidurys), ji atitinka kodą 2 048 (dvejetainis: 1000 0000 0000, šešioliktainis: 0x800) su nuline kvantavimo paklaida.


    Ribiniai atvejai ir apribojimai

    Atliekant skaičiavimus, svarbu atsižvelgti į šias taisykles bei pranešimus:

    • Viršutinės ribos viršijimas: Jei įėjimo įtampa viršija viršutinį rėžį, išėjimas prisisotina ties viršutiniu kodu. Skaičiuoklė parodo įspėjimą: „Įėjimo reikšmė viršija viršutinę ribą: išėjimas prisisotina ties viršutiniu kodu, o rodoma paklaida yra tikrasis likutis — ±½ LSB riba nebėra taikoma.“
    • Apatinės ribos viršijimas: Jei įėjimo įtampa yra žemiau apatinio rėžio, išėjimas prisisotina ties 0 kodu. Rodomas įspėjimas: „Įėjimo reikšmė yra žemiau apatinės ribos: išėjimas prisisotina ties 0 kodu, o rodoma paklaida yra tikrasis likutis — ±½ LSB riba nebėra taikoma.“
    • Skalės vidurys: Kai įėjimo įtampa sutampa su tiksliu skalės viduriu, sistema pateikia pastabą, kad pusė diapazono atitinka vidurinį kodą su nuline paklaida.
    • Idealus modelis: Visi pateikiami skaičiai aprašo idealų kvantuotuvą. Realus keitiklis prideda INL/DNL, poslinkio, stiprinimo ir dreifo paklaidas, o atraminio šaltinio tolerancija bei triukšmas keičia kiekvieną žingsnį. SNR reikšmė yra teorinė riba pilnos skalės sinusui Nyquisto dažnių juostoje — realaus ADC efektyvieji bitai (ENOB) yra mažesni už nominalią skiriamąją gebą. Diskretizavimo dažnis, antialiasingo filtravimas ir pradinės pakopos nusistovėjimas į šį puslapį neįtraukti.

    Dažniausiai užduodami klausimai (FAQ)

    Ar 12 bitų skiriamoji geba reiškia 12 bitų tikslumą?

    Ne. Skiriamoji geba tėra kodo plotis — kaip smulkiai padalytas diapazonas. Tikslumą riboja keitiklio INL bei poslinkio ir stiprinimo paklaidos, atraminės įtampos tolerancija bei triukšmas ir jį supanti grandinė. Štai kodėl specifikacijose nurodomas ENOB: 12 bitų SAR paprastai užtikrina 10–11 efektyviųjų bitų. Čia rodomas idealus 74 dB SNR yra teorinė riba, kurios nepasiekia joks realus 12 bitų keitiklis.

    Kaip ±Vref įėjimas pakeičia skaičiavimus?

    Diapazonas padidėja dvigubai iki 2 × Vref, todėl tas pats keitiklis išskiria dvigubai platesnius žingsnius: LSB = 2 × Vref ÷ 2^N. Kodai kinta nuo neigiamo maitinimo bėgio iki teigiamo — 0 kodas atitinka −Vref, vidurinis kodas 2^(N−1) atitinka 0 V, o viršutinis kodas yra vienu žingsniu žemiau +Vref. Viršuje pasirinkus dvipolį diapazoną, nulis voltų atitiks tiksliai vidurinį kodą.

    Kodėl vienuose šaltiniuose dalijama iš 2^N, o kituose — iš 2^N − 1?

    Esto du skirtingi to paties keitiklio modeliai. Specifikacijose ir klasikinėje kvantavimo teorijoje LSB apibrėžiamas kaip FSR ÷ 2^N, o pirmasis kodo perėjimas vyksta ties pusės žingsnio riba — būtent šį modelį naudoja šis puslapis. Vref ÷ (2^N − 1) forma gaunama viršutinį kodą susiejant tiksliai su Vref, kas dažnai sutinkama mikrovaldilkių pamokose. Esant 12 bitų, šie du variantai skiriasi apie 0.02%, o tai yra gerokai mažiau už bet kurio realaus atraminio šaltinio toleranciją; tiesiog nemaišykite jų, kai tikrinate skaičius iš skirtingų šaltinių.

    Ką daryti, jei žingsnio dydis yra per didelis?

    Diskretizavimas su pertekliumi (angl. oversampling) ir vidurkinimas leidžia padidinti skiriamąją gebą, kai signale yra šiek tiek triukšmo: vidurkinant 4× daugiau imčių gaunamas maždaug vienas efektyvusis bitas, o 16× — du bitai, jei triukšmas yra baltasis ir nekoreliuotas. Puikiai švarus ir visiškai nekintantis signalas tiesiog kartos tą patį kodą. Kitu atveju reikėtų rinktis keitiklį su daugiau bitų arba pridėti programuojamo stiprinimo pakopą, kad signalas užpildytų didesnę diapazono dalį.