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 kodas0−12806403201608040201

Nustatykite bitus, kad jie saugotų −78 8 bitų dvejetainiu papildomuoju kodu. Skaitant kaip skaičių be ženklo, kokia šablono reikšmė U?

N = −788 bit
U =
2.Skaičiavimo sistemosSunkus
20 bitų dvejetainis papildomasis kodas, N = ??ženklas???????????????????

Koks yra mažiausias (labiausiai neigiamas) sveikasis skaičius N, kurį galima užrašyti 20 bitų papildomuoju kodu?

20 bit
N =
3.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiVidutinis
ABCD00011110000111101111

Š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, 3, 12)
  1. 1AB = 00, CD = 00
  2. 2AB = 00, CD = 01
  3. 3AB = 00, CD = 11
  4. 4AB = 00, CD = 10
  5. 5AB = 01, CD = 00
  6. 6AB = 01, CD = 01
  7. 7AB = 01, CD = 11
  8. 8AB = 01, CD = 10
  9. 9AB = 11, CD = 00
  10. 10AB = 11, CD = 01
  11. 11AB = 11, CD = 11
  12. 12AB = 11, CD = 10
  13. 13AB = 10, CD = 00
  14. 14AB = 10, CD = 01
  15. 15AB = 10, CD = 11
  16. 16AB = 10, CD = 10
4.Skaitmeninė logika: elementai, Karno žemėlapiai ir trigeriaiSunkus
ABCD000111100001111010010312X4151716012013115X140819011010

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

F(A, B, C, D) = Σm(0, 2, 5, 6, 7, 9, 15) + d(4, 14)
N =
5.Duomenų kaupimas ir diskretizavimasVidutinis
tTs​ = 1/fs​f = 8 kHzfs​ = 5 kHz

8 kHz sinusinė banga diskretizuojama 5 kHz dažniu be antipersiklojimo filtro. Kokiu dažniu fa ji pasirodo atskaitose? Pateikite Hz.

f = 8 kHzfs = 5 kHz
fa = Hz
6.Duomenų kaupimas ir diskretizavimasSunkus
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​10·Tb​38400 Bd, 8N1

10 bitų ADC kiekvieną atskaitą siunčia per UART 38400 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 = 38400 BdN = 108N1
fmax = Hz

3Tirpalai

1.Skaičiavimo sistemos

Atsakymas: U = 178

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.

Invertuokite ir pridėkite vienetą

78 = 0100 1110
invertuota: 1011 0001
+1 → 1011 0010

Perskaitykite be ženklo

1011 0010₂ = 256 − 78 = 178

Atsakymas

U = 178
2.Skaičiavimo sistemos

Atsakymas: N = −524288

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.

Labiausiai neigiama reikšmė

−219 = −524288

Atsakymas

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

Atsakymas: AB = 11, CD = 00

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ę.

m12: m13, m14, m8, m4 → 0
ABCD00011110000111101111

Izoliuotas vienetas

m12 = ABC′D′ → AB = 11, CD = 00

Atsakymas

AB = 11, CD = 00
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.

BC, A′D′, A′B, AB′C′D
ABCD000111100001111010010312X4151716012013115X140819011010

Minimalus dengimas

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

Atsakymas

N = 4
5.Duomenų kaupimas ir diskretizavimas

Atsakymas: fa = 2000 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 = 8 kHz

Artimiausias diskretizavimo dažnio kartotinis

k = round(8000/5000) = 2

Persiklojimo dažnis

fa = |8000 − 2·5000| = 2000 Hz

Atsakymas

fa = 2000 Hz

Brūkšninė kreivė paveiksle yra persiklojimo dažnis: ji eina per lygiai tas pačias atskaitas.

6.Duomenų kaupimas ir diskretizavimas

Atsakymas: fmax = 960 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.

Bitai linijoje vienai atskaitai

2·10 = 20 bit

Aukščiausias diskretizavimo dažnis

fs,max = 38400/20 = 1920 Hz

Naikvisto riba

fmax = 1920/2 = 960 Hz

Atsakymas

fmax = 960 Hz

ExamProblems · examproblems.com/courses/digital-electronics