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
8-bitowy kod U2?−128?64?32?16?8?4?2?1

Zapisz −5 jako 8-bitowy wzór w kodzie U2. Odczytaj ten wzór jako liczbę dwójkową bez znaku: jaka jest jego wartość U dziesiętnie?

N = −58 bit
U =
2.Systemy liczboweTrudny
3733 kodów, b = ? bitów?2ᵇ⁻¹…?4?2?1

System musi nadać każdemu z 3733 elementów własny kod dwójkowy tej samej długości. Ile co najmniej bitów b potrzeba?

3733
b = bit
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiŚredni
ABC00011110011001031204051716

Użyj mapy Karnaugha, aby znaleźć minimalną postać sumy iloczynów (SOP) funkcji F(A, B, C) = Σm(0, 2, 6, 7). Ile literałów L zawiera łącznie (zmienna z negacją liczy się jako jeden literał)?

F(A, B, C) = Σm(0, 2, 6, 7)
L =
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiTrudny
ABCD0001111000011110001103121405X7X6112013115X140809X11110

Znajdź minimalną postać SOP funkcji F(A, B, C, D) = Σm(1, 2, 4, 10, 12, 15) + d(6, 7, 11, 14), gdzie d oznacza stany nieokreślone. Ile literałów L zawiera?

F(A, B, C, D) = Σm(1, 2, 4, 10, 12, 15) + d(6, 7, 11, 14)
L =
5.Akwizycja danych i próbkowanieŚredni
tTs​ = 1/fs​f = 135 kHzfs​ = 100 kHz

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

f = 135 kHzfs = 100 kHz
fa = kHz
6.Akwizycja danych i próbkowanieTrudny
f0fs​/2fs​2,4 kHz3f₁?

Fala prostokątna 2,4 kHz jest próbkowana z częstotliwością 10 kHz bez filtra antyaliasingowego. Fala prostokątna zawiera nieparzyste harmoniczne 3f₁, 5f₁, 7f₁, … Przy jakiej częstotliwości fa pojawia się w danych jej harmoniczna 3f₁? Podaj ją w kHz.

f₁ = 2,4 kHzfs = 10 kHzharmoniczna: 3f₁
fa = kHz

3Roztwory

1.Systemy liczbowe

Odpowiedź: U = 251

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.

Odwróć i dodaj jeden

5 = 0000 0101
odwrócone: 1111 1010
+1 → 1111 1011

Odczytaj bez znaku

1111 1011₂ = 256 − 5 = 251

Odpowiedź

U = 251
2.Systemy liczbowe

Odpowiedź: b = 12 bit

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.

Potęgi dwójki

211 = 2048 < 3733
212 = 4096 ≥ 3733

Odpowiedź

b = 12
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki

Odpowiedź: L = 4

Mapy Karnaugha: komórki są ułożone w kodzie Graya (00, 01, 11, 10), więc sąsiednie komórki, także te przez brzegi, różnią się dokładnie jedną zmienną. Grupuj jedynki w prostokąty po 1, 2, 4, 8 lub 16 komórek, jak największe i jak najmniej, aż każda jedynka będzie pokryta. Każda grupa to jeden iloczyn: zmienne, które wewnątrz niej pozostają stałe. Grupa 2ᵏ komórek traci k zmiennych. Stany nieokreślone (X) można wykorzystać, by powiększyć grupy, ale nigdy nie trzeba ich pokrywać. Grupowanie zer daje minimalną postać POS.

ABC00011110011001031204051716

Zgrupuj jedynki

Każda grupa to prostokąt z 2ᵏ komórek; komórki na brzegu sąsiadują z komórkami na przeciwległym brzegu.

A′C′
AB

Minimalna postać SOP

F = A′C′ + AB
L = 4

Odpowiedź

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

Odpowiedź: L = 10

Mapy Karnaugha: komórki są ułożone w kodzie Graya (00, 01, 11, 10), więc sąsiednie komórki, także te przez brzegi, różnią się dokładnie jedną zmienną. Grupuj jedynki w prostokąty po 1, 2, 4, 8 lub 16 komórek, jak największe i jak najmniej, aż każda jedynka będzie pokryta. Każda grupa to jeden iloczyn: zmienne, które wewnątrz niej pozostają stałe. Grupa 2ᵏ komórek traci k zmiennych. Stany nieokreślone (X) można wykorzystać, by powiększyć grupy, ale nigdy nie trzeba ich pokrywać. Grupowanie zer daje minimalną postać POS.

Implikanty proste

Największe grupy, jakie można utworzyć z jedynek i X.

CD′, BD′, BC, AC, A′B′C′D
ABCD0001111000011110001103121405X7X6112013115X140809X11110

Minimalne pokrycie

F = CD′ + BD′ + BC + A′B′C′D
L = 10

Odpowiedź

L = 10

Istnieje inne grupowanie tego samego rozmiaru; ma tę samą liczbę składników i literałów.

5.Akwizycja danych i próbkowanie

Odpowiedź: fa = 35 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 = 50 kHz < f = 135 kHz

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

k = round(135/100) = 1

Częstotliwość aliasu

fa = |135 − 1·100| = 35 kHz

Odpowiedź

fa = 35 kHz

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

6.Akwizycja danych i próbkowanie

Odpowiedź: fa = 2,8 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ść harmonicznej

3f₁ = 3·2,4 kHz = 7,2 kHz

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

m = round(0,72) = 1

Częstotliwość aliasu

fa = |7,2 − 1·10| = 2,8 kHz

Odpowiedź

fa = 2,8 kHz

Alias ląduje wewnątrz pasma sygnału, gdzie żaden filtr cyfrowy go nie usunie. Pomaga tylko filtr analogowy przed ADC.

ExamProblems · examproblems.com/courses/digital-electronics