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 1100 0100 saugo sveikąjį skaičių su ženklu papildomajame kode. Kokia jo reikšmė N dešimtainėje sistemoje?
1100 01008 bit
N =
2.Skaičiavimo sistemosSunkus
Nustatykite bitus pagal 8 bitų rezultatą 1101 0001 OR 1001 0111. Kokia rezultato reikšmė R dešimtainėje sistemoje?
1101 0001OR1001 0111
R =
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiVidutinis
Šiame Karno žemėlapyje lygiai vienas vienetas neturi gretimo vieneto, todėl minimalioje SOP formoje lieka vieno langelio grupe (pilna keturių literalų minterma). Kaimynai per žemėlapio kraštus skaičiuojami. Spustelėkite tą langelį.
F = Σm(0, 2, 4, 6, 7, 8, 10, 13)
1AB = 00, CD = 00
2AB = 00, CD = 01
3AB = 00, CD = 11
4AB = 00, CD = 10
5AB = 01, CD = 00
6AB = 01, CD = 01
7AB = 01, CD = 11
8AB = 01, CD = 10
9AB = 11, CD = 00
10AB = 11, CD = 01
11AB = 11, CD = 11
12AB = 11, CD = 10
13AB = 10, CD = 00
14AB = 10, CD = 01
15AB = 10, CD = 11
16AB = 10, CD = 10
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiSunkus
4 bitų dvejetainis mažėjantis skaitiklis pradeda nuo 7 (dešimtainiu pavidalu, Q = 0111). Kokį skaičių Q (dešimtainiu pavidalu) jis rodo po 30 taktinių impulsų?
Q0 = 730n = 4
Q =
5.Duomenų kaupimas ir diskretizavimasVidutinis
12 bitų ADC, kurio įėjimo ruožas nuo 0 iki 5 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 0,261 V.
N = 12VFSR = 5 VVin = 0,261 V
D =
6.Duomenų kaupimas ir diskretizavimasSunkus
12 bitų ADC kiekvieną atskaitą siunčia per UART 115200 baud sparta, formatu 8N1 (starto bitas, 8 duomenų bitai, 1 stabdos bitas). Kiekviena atskaita siunčiama 2 sveikais baitais, o ryšys visą laiką užimtas. Raskite aukščiausią signalo dažnį fmax, kurį galima diskretizuoti be persiklojimo, Hz.
baud = 115200 BdN = 128N1
fmax = Hz
3Tirpalai
1.Skaičiavimo sistemos
Atsakymas: N = −60
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 + 4 = −60
Atsakymas
N = −60
2.Skaičiavimo sistemos
Atsakymas: R = 215
Bitų nustatymas: kiekvienas bitas vertas dvejeto laipsnio (128, 64, …, 1). Vienas šešioliktainis skaitmuo yra lygiai keturi bitai, o 8 bitų dvejetainiame papildomajame kode kairysis bitas vertas −128. Bitinės operacijos atliekamos kiekvienai bito pozicijai atskirai.
Bitas po bito
OR duoda 1, kur bent vienas bitas yra 1.
1101 0001
OR 1001 0111
= 1101 0111
Rezultato reikšmė
1101 0111₂ = 215
Atsakymas
R = 215
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Atsakymas: AB = 11, CD = 01
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.
Kiekvieno vieneto kaimynai
Vienetas su gretimu vienetu gali įeiti į dviejų ar daugiau langelių grupę.
m13: m12, m15, m9, m5 → 0
Izoliuotas vienetas
m13 = ABC′D → AB = 11, CD = 01
Atsakymas
AB = 11, CD = 01
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Atsakymas: Q = 9
Trigeriai ir skaitikliai: trigeris keičiasi tik aktyviu taktinio signalo frontu. D nukopijuoja savo įėjimą (Q⁺ = D); T perjungia, kai T = 1; JK išlaiko esant 00, nustato į 0 esant 01, nustato į 1 esant 10 ir perjungia esant 11. n bitų dvejetainis skaitiklis turi 2ⁿ būsenų ir skaičiuoja moduliu 2ⁿ; mod-N skaitiklis skaičiuoja 0, 1, …, N − 1 ir grįžta į 0, jam reikia mažiausiai n trigerių, kad 2ⁿ ≥ N. Kiekviena nuosekliojo (ripple) skaitiklio pakopa perpus sumažina dažnį, todėl paskutinis mod-N skaitiklio išėjimas veikia fclk/N dažniu. n trigerių Johnsono skaitiklis turi 2n būsenų, žiedinis – n.
Pilni ciklai
Kas 16 impulsų skaitiklis grįžta į tą pačią būseną.
30 = 1·16 + 14
Skaičius po likusių impulsų
Q = (7 − 14) mod 16 = 9
Q = 1001₂
Atsakymas
Q = 9
5.Duomenų kaupimas ir diskretizavimas
Atsakymas: D = 213
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 = 5/212 = 1,221 mV
Kodas
Vin/LSB = 261/1,221 = 213,8
kodas = ⌊213,8⌋ = 213
Atsakymas
D = 213
Dvejetainiu pavidalu tai yra 000011010101.
6.Duomenų kaupimas ir diskretizavimas
Atsakymas: fmax = 2880 Hz
UART: asinchroninis nuoseklusis ryšys kiekvieną baitą siunčia kaip kadrą: vienas starto bitas (žemas lygis), duomenų bitai, nebūtinas lyginumo bitas ir vienas ar du stabdos bitai (aukštas lygis). Baud sparta yra bitų skaičius per sekundę, todėl vienas bitas trunka Tb = 1/baud, o n bitų kadras – n/baud. Įprastas 8N1 formatas turi 10 bitų baitui. Baud generatorius dalija taktinį dažnį: baud = fclk/(16·D) su sveikuoju D, todėl tikroji baud sparta nuo norimos šiek tiek skiriasi; paklaida iki maždaug 2 % paprastai priimtina.