Digitale elektronica: samenvattingspakket

Formuleoverzichten, de belangrijkste methodestappen voor elk onderwerp en 6 oefenopgaven, met volledige oplossingen achterin.

Nieuwe opgavenTerug naar het vak

Kies in het printvenster “Opslaan als pdf” om een kopie op je apparaat te bewaren.

1Formules en methoden

Talstelsels

Plaatswaarden
binair 2k, octaal 8k, hex 16k
Naar decimaal
Σ dk·bk
Vanuit decimaal
deel door het grondtal en lees de resten van onder naar boven
Hex ↔ binair
één hexcijfer = 4 bits
Two's complement
inverteer de bits en tel 1 op

Digitale logica: poorten, K-kaarten & flip-flops

Basispoorten
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Booleaanse regels
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Volgorde van de Karnaugh-kaart
00, 01, 11, 10 (Gray code)
Groep van 2ᵏ cellen
verliest k variabelen
4-naar-1-multiplexer
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Flip-flops
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Tellers
n-bits: 2ⁿ toestanden; mod-N: kleinste n met 2ⁿ ≥ N; fuit = fklok/N
Ripple-teller
fmax = 1/(n·tpd)
Ring- en Johnson-tellers
n en 2n toestanden

Methode

  1. Werk bij een schakeling van de ingangen naar de uitgang, één poort tegelijk, en schrijf de waarde op elke draad, of schrijf de uitdrukking op en vul de waarheidstabel in.
  2. Zet voor vereenvoudiging de enen (en de don’t-cares als X) in een Karnaugh-kaart met rijen en kolommen in Gray-code: 00, 01, 11, 10.
  3. Dek de enen met zo weinig en zo grote groepen van 1, 2, 4, 8 of 16 cellen als mogelijk, met terugloop om de randen; elke groep is één productterm van de variabelen die constant blijven. Groepeer de nullen voor de POS-vorm.
  4. Lees bij flip-flops en tellers de ingangen af op elke actieve klokflank, schrijf de toestand na elke flank op, en onthoud dat een n-bits teller na 2ⁿ toestanden terugloopt.

Data-acquisitie en bemonstering

Nyquistcriterium
fs > 2·fmax, fN = fs/2
Aliasfrequentie
fa = |f − k·fs|, k = round(f/fs)
Stapgrootte
1 LSB = VFSR/2ᴺ
Kwantisatiefout (afronding)
±½ LSB
Afkappende ADC-code
D = ⌊Vin/LSB⌋
Bits voor een resolutie r
2ᴺ ≥ span/r
Ideale SQNR, volle-schaal sinus
SQNR = 6,02·N + 1,76 dB
Datasnelheid
kanalen × fs × N bit/s
Gemultiplexte ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 bits per byte; bytes/s = baud/bits per frame
Baudrate-deler
baud = fclk/(16·D)

Methode

  1. Schrijf op wat gegeven is: bemonsteringsfrequentie, signaalfrequenties, aantal bits, ingangsbereik, baudrate.
  2. Vergelijk bij bemonsteringsvragen elke frequentie met fs/2; een hogere frequentie verschijnt bij fa = |f − k·fs| met het dichtstbijzijnde veelvoud van fs.
  3. Bepaal bij resolutievragen 1 LSB = VFSR/2ᴺ, of de kleinste N met 2ᴺ ≥ bereik/resolutie.
  4. Tel bij datasnelheden en UART-verbindingen alles wat wordt verzonden: kanalen, samples per seconde, bits of hele bytes per sample, en de start-, pariteits- en stopbits van elk frame.

2Oefenopgaven

1.TalstelselsGemiddeld
plaatswaarden in two's complement0−12816403211608041211

Het 8-bits patroon 0101 0011 slaat een geheel getal met teken op in two's complement. Wat is de waarde N in decimaal?

0101 00118 bit
N =
2.TalstelselsMoeilijk
1847 codes, b = ? bits?2ᵇ⁻¹…?4?2?1

Een systeem moet elk van 1847 items een eigen binaire code van gelijke lengte geven. Wat is het kleinste aantal bits b dat nodig is?

1847
b = bit
3.Digitale logica: poorten, K-kaarten & flip-flopsGemiddeld
ABC00011110011011031214050716

Gebruik de Karnaugh-kaart om de minimale som-van-productenvorm (SOP) van F(A, B, C) = Σm(0, 1, 2, 4, 6) te vinden. Hoeveel literals L bevat die in totaal (een variabele met accent telt als één literal)?

F(A, B, C) = Σm(0, 1, 2, 4, 6)
L =
4.Digitale logica: poorten, K-kaarten & flip-flopsMoeilijk
ABCD0001111000011110X011130204050716012013015114X819111110

Bepaal de minimale SOP-vorm van F(A, B, C, D) = Σm(1, 3, 6, 9, 10, 11, 14) + d(0, 8), waarbij d de don’t-care-condities aangeeft. Hoeveel productermen N heeft die?

F(A, B, C, D) = Σm(1, 3, 6, 9, 10, 11, 14) + d(0, 8)
N =
5.Data-acquisitie en bemonsteringGemiddeld
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​11·Tb​57600 Bd, 8N2

Een UART verstuurt bytes met 57600 baud in het formaat 8N2: 8 databits, geen pariteit en 2 stopbit(s), plus de startbit. Bepaal het grootste aantal databytes per seconde dat hij kan overdragen.

baud = 57600 Bd8N2
RB = B/s
6.Data-acquisitie en bemonsteringMoeilijk
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​10 MHz / (16·D)

Een microcontroller met een klok van 10 MHz stelt zijn UART-baudrate in als fclk/(16·D), met D een geheel getal dat op de dichtstbijzijnde waarde is afgerond. De doelwaarde is 4800 baud. Bepaal de procentuele fout van de werkelijke baudrate (positief als hij te snel is).

fclk = 10 MHzdoel = 4800 Bd
e = %

3Oplossingen

1.Talstelsels

Antwoord: N = 83

Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.

Plaatswaarden optellen

De andere bits houden hun gewone positieve waarde.

64 + 16 + 2 + 1 = 83

Antwoord

N = 83
2.Talstelsels

Antwoord: b = 11 bit

Positionele talstelsels: elk cijfer is zijn waarde maal een macht van het grondtal waard. Binair zijn de posities 1, 2, 4, 8, 16, … waard, hexadecimaal 1, 16, 256, …, met A–F voor 10–15. In 8-bits two's complement is het meest linkse bit −128 waard in plaats van +128; zo worden negatieve getallen opgeslagen.

Machten van twee

210 = 1024 < 1847
211 = 2048 ≥ 1847

Antwoord

b = 11
3.Digitale logica: poorten, K-kaarten & flip-flops

Antwoord: L = 3

Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.

ABC00011110011011031214050716

Groepeer de enen

Elke groep is een rechthoek van 2ᵏ cellen; randcellen zijn buren van de cellen op de tegenoverliggende rand.

C′
A′B′

Minimale SOP-vorm

F = C′ + A′B′
L = 3

Antwoord

L = 3
4.Digitale logica: poorten, K-kaarten & flip-flops

Antwoord: N = 3

Karnaugh-kaarten: de cellen staan in Gray-code (00, 01, 11, 10), dus naburige cellen, ook die over de randen heen, verschillen in precies één variabele. Groepeer de enen in rechthoeken van 1, 2, 4, 8 of 16 cellen, zo groot en zo weinig mogelijk, totdat elke 1 gedekt is. Elke groep is één productterm: de variabelen die erin constant blijven. Een groep van 2ᵏ cellen verliest k variabelen. Don’t-cares (X) mogen worden gebruikt om groepen groter te maken maar hoeven nooit gedekt te worden. Groepeer je in plaats daarvan de nullen, dan krijg je de minimale POS-vorm.

Priemimplicanten

De grootste groepen die uit enen en X’en gevormd kunnen worden.

B′D, B′C′, BCD′, ACD′, AB′
ABCD0001111000011110X011130204050716012013015114X819111110

Minimale dekking

F = B′D + BCD′ + AB′
N = 3

Antwoord

N = 3
5.Data-acquisitie en bemonstering

Antwoord: RB = 5236 B/s

UART: een asynchrone seriële verbinding verstuurt elke byte als een frame: één startbit (laag), de databits, een optionele pariteitsbit en een of twee stopbits (hoog). De baudrate is het aantal bits per seconde, dus één bit duurt Tb = 1/baud en een frame van n bits duurt n/baud. Het gangbare 8N1-formaat heeft 10 bits per byte. De baudgenerator deelt de klok: baud = fclk/(16·D) met een geheel getal D, dus de werkelijke baudrate wijkt iets af van de gewenste; een fout onder ongeveer 2 % is meestal acceptabel.

Bits per frame

1 + 8 + 0 + 2 = 11

Bytesnelheid

57600/11 = 5236 B/s

Antwoord

RB = 5236 B/s
6.Data-acquisitie en bemonstering

Antwoord: e = 0,1603 %

UART: een asynchrone seriële verbinding verstuurt elke byte als een frame: één startbit (laag), de databits, een optionele pariteitsbit en een of twee stopbits (hoog). De baudrate is het aantal bits per seconde, dus één bit duurt Tb = 1/baud en een frame van n bits duurt n/baud. Het gangbare 8N1-formaat heeft 10 bits per byte. De baudgenerator deelt de klok: baud = fclk/(16·D) met een geheel getal D, dus de werkelijke baudrate wijkt iets af van de gewenste; een fout onder ongeveer 2 % is meestal acceptabel.

Deler

D = 10·10⁶/(16·4800) = 130,2 → 130

Werkelijke baudrate

10·10⁶/(16·130) = 4808 Bd

Fout

(4808 − 4800)/4800·100 = 0,1603 %

Antwoord

e = 0,1603 %

Een fout onder ongeveer 2 % is meestal acceptabel.

ExamProblems · examproblems.com/courses/digital-electronics