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
Užrašykite −110 kaip 8 bitų papildomojo kodo seką. Perskaitykite seką kaip dvejetainį skaičių be ženklo: kokia jo reikšmė U dešimtainėje sistemoje?
N = −1108 bit
U =
2.Skaičiavimo sistemosSunkus
Sistema kiekvienam iš 3321 elementų turi suteikti atskirą tokio pat ilgio dvejetainį kodą. Kiek mažiausiai bitų b reikia?
3321
b = bit
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiVidutinis
Karno žemėlapiu raskite minimalią F(A, B, C, D) = Σm(0, 2, 3, 4, 6, 7, 12, 15) sumų sandaugos (POS) formą. Kiek sumos narių (daugiklių) N ji turi?
F(A, B, C, D) = Σm(0, 2, 3, 4, 6, 7, 12, 15)
N =
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiSunkus
5 kHz taktinis signalas valdo mod-8 skaitiklį. Raskite jo reikšmingiausio išėjimo, kuris per vieną skaičiavimo ciklą atlieka vieną ciklą, dažnį fout.
fclk = 5 kHzN = 8
fout = kHz
5.Duomenų kaupimas ir diskretizavimasVidutinis
5,75 kHz sinusinė banga diskretizuojama 5 kHz dažniu be antipersiklojimo filtro. Kokiu dažniu fa ji pasirodo atskaitose? Pateikite Hz.
f = 5,75 kHzfs = 5 kHz
fa = Hz
6.Duomenų kaupimas ir diskretizavimasSunkus
Mikrovaldiklis su 12 MHz taktu nustato UART baud spartą kaip fclk/(16·D), kai D yra sveikasis skaičius, suapvalintas iki artimiausios vertės. Norima sparta yra 19200 baud. Raskite tikrosios baud spartos procentinę paklaidą (teigiama, kai per greita).
fclk = 12 MHznorima = 19200 Bd
e = %
3Tirpalai
1.Skaičiavimo sistemos
Atsakymas: U = 146
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.
Invertuokite ir pridėkite vienetą
110 = 0110 1110
invertuota: 1001 0001
+1 → 1001 0010
Perskaitykite be ženklo
1001 0010₂ = 256 − 110 = 146
Atsakymas
U = 146
2.Skaičiavimo sistemos
Atsakymas: b = 12 bit
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.
Dvejeto laipsniai
211 = 2048 < 3321
212 = 4096 ≥ 3321
Atsakymas
b = 12
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 nulius
Kiekviena grupė yra 2ᵏ langelių stačiakampis; kraštiniai langeliai yra priešingo krašto langelių kaimynai.
(C + D′)
(A′ + C′ + D)
(A′ + B)
Minimali POS forma
F = (C + D′)(A′ + C′ + D)(A′ + B)
N = 3
Atsakymas
N = 3
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai
Atsakymas: fout = 0,625 kHz
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.
Dažnio dalijimas
fout = 5 kHz / 8 = 0,625 kHz
Atsakymas
fout = 0,625 kHz
5.Duomenų kaupimas ir diskretizavimas
Atsakymas: fa = 750 Hz
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.
Naikvisto dažnis
fs/2 = 2,5 kHz < f = 5,75 kHz
Artimiausias diskretizavimo dažnio kartotinis
k = round(5750/5000) = 1
Persiklojimo dažnis
fa = |5750 − 1·5000| = 750 Hz
Atsakymas
fa = 750 Hz
Brūkšninė kreivė paveiksle yra persiklojimo dažnis: ji eina per lygiai tas pačias atskaitas.
6.Duomenų kaupimas ir diskretizavimas
Atsakymas: e = 0,1603 %
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.
Daliklis
D = 12·10⁶/(16·19200) = 39,06 → 39
Tikroji baud sparta
12·10⁶/(16·39) = 19231 Bd
Paklaida
(19231 − 19200)/19200·100 = 0,1603 %
Atsakymas
e = 0,1603 %
Paklaida, mažesnė nei maždaug 2 %, paprastai priimtina.