Skaitmeninė elektronika: pasiruošimo paketas

Formulių lapai, pagrindiniai kiekvienos temos metodų žingsniai ir 6 uždavinių, o pilni sprendimai pateikti gale.

Nauji uždaviniaiAtgal į kursą

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

  1. 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ę.
  2. Supaprastindami įrašykite vienetus (o nesvarbias reikšmes kaip X) į Karno žemėlapį su Grejaus kodo eilutėmis ir stulpeliais: 00, 01, 11, 10.
  3. 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.
  4. 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
Baud spartos daliklis
baud = fclk/(16·D)

Metodas

  1. Užsirašykite, kas duota: diskretizavimo dažnį, signalo dažnius, bitų skaičių, įėjimo ruožą, baud spartą.
  2. 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.
  3. Skiriamosios gebos uždaviniuose raskite 1 LSB = VFSR/2ᴺ arba mažiausią N, su kuriuo 2ᴺ ≥ ruožas/skiriamoji geba.
  4. 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ų papildomasis kodas?−128?64?32?16?8?4?2?1

Užrašykite −13 kaip 8 bitų papildomojo kodo seką. Perskaitykite seką kaip dvejetainį skaičių be ženklo: kokia jo reikšmė U dešimtainėje sistemoje?

N = −138 bit
U =
2.Skaičiavimo sistemosSunkus
8 bit1 px512 px512 pxM = ? KiB

Nesuspaustas vaizdas yra 512 × 512 pikselių, 8 bitų pikseliui. Kiek atminties M jis užima, KiB (1 KiB = 1024 baitai)?

512 × 512 px8 bit/px1 KiB = 1024 B
M = KiB
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiVidutinis
ABCD000111100001111010010302040517060120130151141809011010

Karno žemėlapiu raskite minimalią F(A, B, C, D) = Σm(0, 7, 8, 14) sandaugų sumos (SOP) formą. Kiek sandaugos narių N ji turi?

F(A, B, C, D) = Σm(0, 7, 8, 14)
N =
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiSunkus
ABCD0001111000011110X00113X204150706112013X151140819011010

Raskite minimalią F(A, B, C, D) = Σm(3, 5, 9, 12, 14) + d(0, 2, 15) SOP formą, kur d žymi nesvarbias sąlygas. Kiek sandaugos narių N ji turi?

F(A, B, C, D) = Σm(3, 5, 9, 12, 14) + d(0, 2, 15)
N =
5.Duomenų kaupimas ir diskretizavimasVidutinis
Vin​N = ?5 V2ᴺ − 10≤ 5 mV

ADC įėjimo ruožas yra nuo 0 iki 5 V. Jis turi išskirti 5 mV ar mažesnius žingsnius. Raskite mažiausią bitų skaičių N.

VFSR = 5 Vskiriamoji geba = 5 mV
N =
6.Duomenų kaupimas ir diskretizavimasSunkus
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​24 MHz / (16·D)

Mikrovaldiklis su 24 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 = 24 MHznorima = 19200 Bd
e = %

3Tirpalai

1.Skaičiavimo sistemos

Atsakymas: U = 243

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ą

13 = 0000 1101
invertuota: 1111 0010
+1 → 1111 0011

Perskaitykite be ženklo

1111 0011₂ = 256 − 13 = 243

Atsakymas

U = 243
2.Skaičiavimo sistemos

Atsakymas: M = 256 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·8 = 2097152 bit = 262144 B

Paverskite į KiB

262144/1024 = 256 KiB

Atsakymas

M = 256 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.

ABCD000111100001111010010302040517060120130151141809011010

Sugrupuokite vienetus

Kiekviena grupė yra 2ᵏ langelių stačiakampis; kraštiniai langeliai yra priešingo krašto langelių kaimynai.

B′C′D′
A′BCD
ABCD′

Minimali SOP forma

F = B′C′D′ + A′BCD + ABCD′
N = 3

Atsakymas

N = 3
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriai

Atsakymas: N = 4

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.

ABD′, A′B′C, ABC, A′BC′D, AB′C′D
ABCD0001111000011110X00113X204150706112013X151140819011010

Minimalus dengimas

F = ABD′ + A′B′C + A′BC′D + AB′C′D
N = 4

Atsakymas

N = 4
5.Duomenų kaupimas ir diskretizavimas

Atsakymas: N = 10

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.

Reikalingi žingsniai

5000 mV/5 mV = 1000

Bitai

log₂(1000) = 9,966
29 = 512 < 1000 ≤ 210 = 1024
N = 10

Atsakymas

N = 10
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 = 24·10⁶/(16·19200) = 78,13 → 78

Tikroji baud sparta

24·10⁶/(16·78) = 19231 Bd

Paklaida

(19231 − 19200)/19200·100 = 0,1603 %

Atsakymas

e = 0,1603 %

Paklaida, mažesnė nei maždaug 2 %, paprastai priimtina.

ExamProblems · examproblems.com/courses/digital-electronics