Elektronika cyfrowa: zestaw na powtórkę

Wzory, najważniejsze kroki metod dla każdego tematu i 6 zadań do ćwiczenia, z pełnymi rozwiązaniami na końcu.

Nowe zadaniaWróć do przedmiotu

W oknie drukowania wybierz „Zapisz jako PDF”, aby zachować kopię na swoim urządzeniu.

1Wzory i metody

Systemy liczbowe

Wagi pozycji
dwójkowy 2k, ósemkowy 8k, szesnastkowy 16k
Na dziesiętny
Σ dk·bk
Z dziesiętnego
dziel przez podstawę, czytaj reszty od dołu do góry
Szesnastkowy ↔ dwójkowy
jedna cyfra szesnastkowa = 4 bity
Kod uzupełnień do dwóch (U2)
odwróć bity i dodaj 1

Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki

Podstawowe bramki
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Reguły algebry Boole’a
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
Prawa de Morgana
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Kolejność na mapie Karnaugha
00, 01, 11, 10 (Gray code)
Grupa 2ᵏ komórek
traci k zmiennych
Multiplekser 4-do-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Przerzutniki
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Liczniki
n-bitowy: 2ⁿ stanów; mod-N: najmniejsze n z 2ⁿ ≥ N; fout = fclk/N
Licznik asynchroniczny (ripple)
fmax = 1/(n·tpd)
Liczniki pierścieniowy i Johnsona
n i 2n stanów

Metoda

  1. Dla układu przechodź od wejść do wyjścia bramka po bramce i zapisuj wartość na każdym przewodzie albo zapisz jego wyrażenie i wypełnij tablicę prawdy.
  2. Przy upraszczaniu wpisz jedynki (a stany nieokreślone jako X) na mapę Karnaugha z wierszami i kolumnami w kodzie Graya: 00, 01, 11, 10.
  3. Pokryj jedynki jak najmniejszą liczbą jak największych grup po 1, 2, 4, 8 lub 16 komórek, zawijając przez brzegi; każda grupa to jeden iloczyn ze zmiennych, które pozostają stałe. Dla postaci POS grupuj zera.
  4. Przy przerzutnikach i licznikach odczytuj wejścia przy każdym aktywnym zboczu zegara, zapisuj stan po każdym zboczu i pamiętaj, że n-bitowy licznik zawija się po 2ⁿ stanach.

Akwizycja danych i próbkowanie

Kryterium Nyquista
fs > 2·fmax, fN = fs/2
Częstotliwość aliasu
fa = |f − k·fs|, k = round(f/fs)
Wielkość kroku
1 LSB = VFSR/2ᴺ
Błąd kwantyzacji (zaokrąglanie)
±½ LSB
Kod ADC przy obcinaniu
D = ⌊Vin/LSB⌋
Liczba bitów dla rozdzielczości r
2ᴺ ≥ span/r
Idealny SQNR, sinusoida o pełnej skali
SQNR = 6,02·N + 1,76 dB
Szybkość transmisji danych
kanały × fs × N bit/s
Multipleksowany przetwornik ADC
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 bitów na bajt; bajty/s = baud/bity w ramce
Dzielnik szybkości transmisji
baud = fclk/(16·D)

Metoda

  1. Zapisz, co jest dane: częstotliwość próbkowania, częstotliwości sygnałów, liczbę bitów, zakres wejściowy, szybkość transmisji w bodach.
  2. W zadaniach o próbkowaniu porównaj każdą częstotliwość z fs/2; wyższa częstotliwość pojawia się jako fa = |f − k·fs| dla najbliższej wielokrotności fs.
  3. W zadaniach o rozdzielczości wyznacz 1 LSB = VFSR/2ᴺ albo najmniejsze N, dla którego 2ᴺ ≥ zakres/rozdzielczość.
  4. W zadaniach o szybkości danych i łączach UART policz wszystko, co jest wysyłane: kanały, próbki na sekundę, bity lub całe bajty na próbkę oraz bity startu, parzystości i stopu każdej ramki.

2Zadania do ćwiczenia

1.Systemy liczboweŚredni
wagi w kodzie U21−12806413201608040201

8-bitowy wzór 1010 0000 zapisuje liczbę całkowitą ze znakiem w kodzie uzupełnień do dwóch. Jaka jest jej wartość N dziesiętnie?

1010 00008 bit
N =
2.Systemy liczboweTrudny
klikaj bity, aby je ustawić012806403201608040201

Ustaw bity na 8-bitowy wynik działania 1110 1011 << 3. Jaka jest wartość wyniku R w zapisie dziesiętnym?

1110 1011<< 3
R =
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiŚredni
MUX0I0​1I1​CI2​CI3​ABS1​S0​F

Multiplekser 4-do-1 ma wejścia wyboru S₁ = A i S₀ = B, a wejścia danych podłączone do I₀ = 0, I₁ = 1, I₂ = C, I₃ = C. Dla ilu z 8 kombinacji A, B i C wyjście F = 1? Znajdź N.

I₀ = 0I₁ = 1I₂ = CI₃ = C
N =
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiTrudny
TQ0​Q0​TQ1​Q1​TQ2​Q2​CLKMOD-6

Synchroniczny układ (licznik mod-6) zlicza 0, 1, …, 5, a potem wraca do 0. Startuje od 4. Jaki stan Q (dziesiętnie) pokaże po 15 impulsach zegara?

Q0 = 415N = 6
Q =
5.Akwizycja danych i próbkowanieŚredni
tTs​ = 1/fs​f = 27 kHzfs​ = 20 kHz

Sinusoida 27 kHz jest próbkowana z częstotliwością 20 kHz bez filtra antyaliasingowego. Przy jakiej częstotliwości fa pojawia się w próbkach? Podaj ją w kHz.

f = 27 kHzfs = 20 kHz
fa = kHz
6.Akwizycja danych i próbkowanieTrudny
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​10·Tb​460800 Bd, 8N1

10-bitowy ADC przesyła każdą próbkę przez UART z prędkością 460800 bodów w formacie 8N1 (bit startu, 8 bitów danych, 1 bit stopu). Każda próbka jest wysyłana w pełnych bajtach, ich liczba to 2, a łącze jest zajęte przez cały czas. Wyznacz najwyższą częstotliwość sygnału fmax, którą można próbkować bez aliasingu, w Hz.

baud = 460800 BdN = 108N1
fmax = Hz

3Roztwory

1.Systemy liczbowe

Odpowiedź: N = −96

Pozycyjne systemy liczbowe: każda cyfra jest warta swoją wartość razy potęgę podstawy. W systemie dwójkowym pozycje są warte 1, 2, 4, 8, 16, …, w szesnastkowym 1, 16, 256, …, a A–F oznaczają 10–15. W 8-bitowym kodzie uzupełnień do dwóch skrajny lewy bit jest wart −128 zamiast +128; tak zapisuje się liczby ujemne.

Dodaj wagi

Pozostałe bity mają swoje zwykłe dodatnie wartości.

−128 + 32 = −96

Odpowiedź

N = −96
2.Systemy liczbowe

Odpowiedź: R = 88

Ustawianie bitów: każdy bit ma wartość będącą potęgą dwójki (128, 64, …, 1). Jedna cyfra szesnastkowa to dokładnie cztery bity, a w 8-bitowym kodzie uzupełnień do dwóch skrajny lewy bit ma wartość −128. Operacje bitowe działają osobno na każdej pozycji bitu.

Bit po bicie

Przesunięcie w lewo o 3 przesuwa każdy bit o 3 pozycji w lewo; bity, które wypadną z lewego końca, są tracone, a z prawej wchodzą zera.

1110 1011 << 3
= 0101 1000

Wartość wyniku

0101 1000₂ = 88

Odpowiedź

R = 88
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki

Odpowiedź: N = 4

Multiplekser: multiplekser 2ⁿ-do-1 przekazuje na wyjście jedno ze swoich wejść danych; linie wyboru, odczytane jako liczba binarna, wskazują które. Dla multipleksera 4-do-1 z wejściami wyboru S₁S₀ = AB: F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Podłączenie wejść danych do 0, 1, C lub C′ sprawia, że multiplekser realizuje dowolną funkcję A, B i C, co jest częstym sposobem budowania logiki w jednym układzie scalonym.

Wyrażenie wyjścia

F = A′B + AB′C + ABC

Wiersze z F = 1

ABC = 010, 011, 101, 111
N = 4

Odpowiedź

N = 4
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki

Odpowiedź: Q = 1

Przerzutniki i liczniki: przerzutnik zmienia stan tylko przy aktywnym zboczu zegara. D kopiuje swoje wejście (Q⁺ = D); T zmienia stan na przeciwny, gdy T = 1; JK utrzymuje stan dla 00, zeruje dla 01, ustawia dla 10 i zmienia stan na przeciwny dla 11. N-bitowy licznik binarny ma 2ⁿ stanów i liczy modulo 2ⁿ; licznik mod-N liczy 0, 1, …, N − 1 i wraca do 0, a potrzebuje tylu przerzutników, ile wynosi najmniejsze n z 2ⁿ ≥ N. Każdy stopień licznika asynchronicznego dzieli częstotliwość przez dwa, więc ostatnie wyjście licznika mod-N pracuje z częstotliwością fclk/N. Licznik Johnsona z n przerzutników ma 2n stanów, licznik pierścieniowy n.

Pełne cykle

Co 6 impulsów licznik wraca do tego samego stanu.

15 = 2·6 + 3

Stan po pozostałych impulsach

Q = (4 + 3) mod 6 = 1
Q = 001₂

Odpowiedź

Q = 1
5.Akwizycja danych i próbkowanie

Odpowiedź: fa = 7 kHz

Próbkowanie: ADC mierzy sygnał fs razy na sekundę. Zgodnie z twierdzeniem Nyquista–Shannona częstotliwość f jest rejestrowana poprawnie tylko wtedy, gdy f < fs/2, czyli poniżej częstotliwości Nyquista (zawijania), więc częstotliwość próbkowania musi przekraczać dwukrotność najwyższej częstotliwości sygnału. Wyższa częstotliwość nie przepada: pojawia się jako alias przy fa = |f − k·fs|, gdzie liczba całkowita k daje wynik między 0 a fs/2. Próbki nie pozwalają odróżnić tych dwóch sygnałów, dlatego analogowy filtr antyaliasingowy musi usunąć wszystko powyżej fs/2 przed przetwornikiem ADC.

Częstotliwość Nyquista

fs/2 = 10 kHz < f = 27 kHz

Najbliższa wielokrotność częstotliwości próbkowania

k = round(27/20) = 1

Częstotliwość aliasu

fa = |27 − 1·20| = 7 kHz

Odpowiedź

fa = 7 kHz

Przerywana krzywa na rysunku to alias: przechodzi dokładnie przez te same próbki.

6.Akwizycja danych i próbkowanie

Odpowiedź: fmax = 11520 Hz

UART: asynchroniczne łącze szeregowe wysyła każdy bajt w ramce: jeden bit startu (niski), bity danych, opcjonalny bit parzystości i jeden lub dwa bity stopu (wysokie). Szybkość transmisji w bodach to liczba bitów na sekundę, więc jeden bit trwa Tb = 1/baud, a ramka n bitów trwa n/baud. Popularny format 8N1 ma 10 bitów na bajt. Generator szybkości transmisji dzieli zegar: baud = fclk/(16·D) dla liczby całkowitej D, więc rzeczywista szybkość nieco różni się od zamierzonej; błąd poniżej około 2 % zwykle jest akceptowalny.

Bity na próbkę na linii

2·10 = 20 bit

Najwyższa częstotliwość próbkowania

fs,max = 460800/20 = 23040 Hz

Granica Nyquista

fmax = 23040/2 = 11520 Hz

Odpowiedź

fmax = 11520 Hz

ExamProblems · examproblems.com/courses/digital-electronics