Spausdinimo lange pasirinkite „Išsaugoti kaip PDF“, kad nuosavą kopiją išsaugotumėte savo įrenginyje.
1Formulės ir metodai
Skaičiavimo sistemos
Pozicijų vertės
dvejetainė 2k, aštuntainė 8k, šešioliktainė 16k
Į dešimtainę
Σ dk·bk
Iš dešimtainės
dalykite iš pagrindo, liekanas skaitykite iš apačios į viršų
Šešioliktainė ↔ dvejetainė
vienas šešioliktainis skaitmuo = 4 bitai
Papildomasis kodas
invertuokite bitus ir pridėkite 1
Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Pagrindiniai elementai
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Būlio taisyklės
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgano dėsniai
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Karno žemėlapio tvarka
00, 01, 11, 10 (Gray code)
2ᵏ langelių grupė
netenka k kintamųjų
4 į 1 multiplekseris
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Trigeriai
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Skaitikliai
n bitų: 2ⁿ būsenų; mod-N: mažiausias n, kad 2ⁿ ≥ N; fout = fclk/N
Nuosekliojo veikimo (ripple) skaitiklis
fmax = 1/(n·tpd)
Žiediniai ir Johnsono skaitikliai
n ir 2n būsenų
Metodas
Grandinei dirbkite nuo įėjimų iki išėjimo po vieną elementą ir užrašykite reikšmę ant kiekvieno laido arba užrašykite išraišką ir užpildykite teisingumo lentelę.
Supaprastindami įrašykite vienetus (o nesvarbias reikšmes kaip X) į Karno žemėlapį su Grejaus kodo eilutėmis ir stulpeliais: 00, 01, 11, 10.
Vienetus padenkite kuo mažiau ir kuo didesnių 1, 2, 4, 8 ar 16 langelių grupių, apsisukančių per kraštus; kiekviena grupė yra vienas sandaugos narys iš kintamųjų, kurie joje nesikeičia. POS formai grupuokite nulius.
Trigeriams ir skaitikliams skaitykite įėjimus kiekvienu aktyviu taktiniu frontu, užrašykite būseną po kiekvieno fronto ir atminkite, kad n bitų skaitiklis apsisuka po 2ⁿ būsenų.
Duomenų kaupimas ir diskretizavimas
Naikvisto kriterijus
fs > 2·fmax, fN = fs/2
Persiklojimo dažnis
fa = |f − k·fs|, k = round(f/fs)
Žingsnio dydis
1 LSB = VFSR/2ᴺ
Kvantavimo paklaida (apvalinimas)
±½ LSB
Nupjaunantis ADC kodas
D = ⌊Vin/LSB⌋
Bitų skaičius skiriamajai gebai r
2ᴺ ≥ span/r
Idealus SQNR, pilnos skalės sinusas
SQNR = 6,02·N + 1,76 dB
Duomenų sparta
kanalai × fs × N bit/s
Multipleksuojamas ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 bitų vienam baitui; baitai/s = baud/bitai viename kadre
Diskretizavimo uždaviniuose kiekvieną dažnį palyginkite su fs/2; aukštesnis dažnis pasirodo ties fa = |f − k·fs|, kai imamas artimiausias fs kartotinis.
Skiriamosios gebos uždaviniuose raskite 1 LSB = VFSR/2ᴺ arba mažiausią N, su kuriuo 2ᴺ ≥ ruožas/skiriamoji geba.
Duomenų spartos ir UART ryšio uždaviniuose suskaičiuokite viską, kas siunčiama: kanalus, atskaitas per sekundę, bitus ar sveikus baitus vienai atskaitai ir kiekvieno kadro starto, lyginumo ir stabdos bitus.
2Uždaviniai
1.Skaičiavimo sistemosVidutinis
8 bitų seka 1110 1100 saugo sveikąjį skaičių su ženklu papildomajame kode. Kokia jo reikšmė N dešimtainėje sistemoje?
1110 11008 bit
N =
2.Skaičiavimo sistemosSunkus
Nesuspaustas vaizdas yra 512 × 512 pikselių, 24 bitų pikseliui. Kiek atminties M jis užima, KiB (1 KiB = 1024 baitai)?
512 × 512 px24 bit/px1 KiB = 1024 B
M = KiB
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiVidutinis
Karno žemėlapiu raskite minimalią F(A, B, C) = Σm(0, 2, 4, 5, 7) sandaugų sumos (SOP) formą. Kiek sandaugos narių N ji turi?
F(A, B, C) = Σm(0, 2, 4, 5, 7)
N =
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiSunkus
Raskite minimalią F(A, B, C, D) = Σm(1, 6, 9, 13, 14) + d(4, 5) SOP formą, kur d žymi nesvarbias sąlygas. Kiek literalų L ji turi?
F(A, B, C, D) = Σm(1, 6, 9, 13, 14) + d(4, 5)
L =
5.Duomenų kaupimas ir diskretizavimasVidutinis
12 bitų ADC, kurio įėjimo ruožas nuo 0 iki 3,3 V, nupjauna: jo išėjimo kodas yra ⌊Vin/LSB⌋, kai 1 LSB = VFSR/2ᴺ. Raskite dešimtainį išėjimo kodą D, kai įėjimo įtampa yra 1,645 V.
N = 12VFSR = 3,3 VVin = 1,645 V
D =
6.Duomenų kaupimas ir diskretizavimasSunkus
3 kHz stačiakampė banga diskretizuojama 10 kHz dažniu be antipersiklojimo filtro. Stačiakampėje bangoje yra nelyginės harmonikos 3f₁, 5f₁, 7f₁, … Kokiu dažniu fa jos harmonika 3f₁ pasirodo diskretizuotuose duomenyse? Pateikite kHz.
f₁ = 3 kHzfs = 10 kHzharmonika: 3f₁
fa = kHz
3Tirpalai
1.Skaičiavimo sistemos
Atsakymas: N = −20
Pozicinės skaičiavimo sistemos: kiekvienas skaitmuo vertas savo reikšmės, padaugintos iš pagrindo laipsnio. Dvejetainėje sistemoje pozicijos vertos 1, 2, 4, 8, 16, …, šešioliktainėje 1, 16, 256, …, o A–F reiškia 10–15. 8 bitų papildomajame kode kairysis bitas vertas −128 vietoj +128; taip saugomi neigiami skaičiai.
Sudėkite vertes
Kiti bitai išlaiko įprastas teigiamas vertes.
−128 + 64 + 32 + 8 + 4 = −20
Atsakymas
N = −20
2.Skaičiavimo sistemos
Atsakymas: M = 768 KiB
Pozicinės skaičiavimo sistemos: kiekvienas skaitmuo vertas savo reikšmės, padaugintos iš pagrindo laipsnio. Dvejetainėje sistemoje pozicijos vertos 1, 2, 4, 8, 16, …, šešioliktainėje 1, 16, 256, …, o A–F reiškia 10–15. 8 bitų papildomajame kode kairysis bitas vertas −128 vietoj +128; taip saugomi neigiami skaičiai.
Bitai ir baitai
512·512·24 = 6291456 bit = 786432 B
Paverskite į KiB
786432/1024 = 768 KiB
Atsakymas
M = 768 KiB
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Atsakymas: N = 3
Karno žemėlapiai: langeliai išdėstyti Grejaus kodu (00, 01, 11, 10), todėl gretimi langeliai, įskaitant esančius per kraštus, skiriasi tiksliai vienu kintamuoju. Sugrupuokite vienetus į 1, 2, 4, 8 arba 16 langelių stačiakampius, kuo didesnius ir kuo mažiau, kol bus padengtas kiekvienas vienetas. Kiekviena grupė yra vienas sandaugos narys: kintamieji, kurie joje nesikeičia. 2ᵏ langelių grupė netenka k kintamųjų. Nesvarbias reikšmes (X) galima naudoti grupėms didinti, bet jų dengti nebūtina. Grupuojant nulius, gaunama minimali POS forma.
Sugrupuokite vienetus
Kiekviena grupė yra 2ᵏ langelių stačiakampis; kraštiniai langeliai yra priešingo krašto langelių kaimynai.
B′C′
A′C′
AC
Minimali SOP forma
F = B′C′ + A′C′ + AC
N = 3
Atsakymas
N = 3
Egzistuoja kitas to paties dydžio grupavimas; jis turi tiek pat narių ir literalų.
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Atsakymas: L = 5
Karno žemėlapiai: langeliai išdėstyti Grejaus kodu (00, 01, 11, 10), todėl gretimi langeliai, įskaitant esančius per kraštus, skiriasi tiksliai vienu kintamuoju. Sugrupuokite vienetus į 1, 2, 4, 8 arba 16 langelių stačiakampius, kuo didesnius ir kuo mažiau, kol bus padengtas kiekvienas vienetas. Kiekviena grupė yra vienas sandaugos narys: kintamieji, kurie joje nesikeičia. 2ᵏ langelių grupė netenka k kintamųjų. Nesvarbias reikšmes (X) galima naudoti grupėms didinti, bet jų dengti nebūtina. Grupuojant nulius, gaunama minimali POS forma.
Pagrindiniai implikantai
Didžiausios grupės, kurias galima sudaryti iš vienetų ir X.
C′D, BCD′, A′BD′
Minimalus dengimas
F = C′D + BCD′
L = 5
Atsakymas
L = 5
5.Duomenų kaupimas ir diskretizavimas
Atsakymas: D = 2041
ADC skiriamoji geba: N bitų keitiklis pilnos skalės ruožą VFSR padalija į 2ᴺ kodų – nuo 0 iki 2ᴺ − 1. Vienas žingsnis yra 1 LSB = VFSR/2ᴺ: mažiausias pokytis, kurį keitiklis gali parodyti. Nupjaunantis ADC duoda kodą ⌊Vin/LSB⌋; apvalinantis ADC nuo tikrosios vertės niekada nenukrypsta daugiau kaip ½ LSB – tai jo kvantavimo paklaida. Kiekvienas papildomas bitas perpus sumažina LSB ir maždaug 6 dB padidina idealų signalo ir kvantavimo triukšmo santykį SQNR = 6,02·N + 1,76 dB pilnos skalės sinusui. Norėdami pasiekti skiriamąją gebą r per ruožą, rinkitės mažiausią N, su kuriuo 2ᴺ ≥ ruožas/r.
Žingsnio dydis
1 LSB = 3,3/212 = 0,8057 mV
Kodas
Vin/LSB = 1645/0,8057 = 2042
kodas = ⌊2042⌋ = 2041
Atsakymas
D = 2041
Dvejetainiu pavidalu tai yra 011111111001.
6.Duomenų kaupimas ir diskretizavimas
Atsakymas: fa = 1 kHz
Diskretizavimas: ADC signalą matuoja fs kartų per sekundę. Pagal Naikvisto ir Šenono teoremą dažnis f užfiksuojamas teisingai tik kol f < fs/2, Naikvisto (atspindžio) dažnis, todėl diskretizavimo dažnis turi viršyti dvigubą aukščiausią signalo dažnį. Aukštesnis dažnis neprarandamas: jis pasirodo kaip persiklojimo dažnis fa = |f − k·fs|, kai sveikasis k rezultatą perkelia į ruožą nuo 0 iki fs/2. Atskaitos jų atskirti negali, todėl analoginis antipersiklojimo filtras prieš ADC turi pašalinti viską, kas didesnė už fs/2.
Harmonikos dažnis
3f₁ = 3·3 kHz = 9 kHz
Artimiausias diskretizavimo dažnio kartotinis
m = round(0,9) = 1
Persiklojimo dažnis
fa = |9 − 1·10| = 1 kHz
Atsakymas
fa = 1 kHz
Persiklojimo dažnis patenka į signalo juostą, kur jokio skaitmeninio filtro jo pašalinti negali. Padeda tik analoginis filtras prieš ADC.