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 −9 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 = −98 bit
U =
2.Systemy liczboweTrudny
3538 kodów, b = ? bitów?2ᵇ⁻¹…?4?2?1

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

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

Na tej mapie Karnaugha dokładnie jedna jedynka nie ma sąsiedniej jedynki, więc w minimalnej postaci SOP pozostaje grupą jednej komórki (pełnym mintermem o czterech literałach). Sąsiedztwo przez brzegi mapy się liczy. Kliknij tę komórkę.

F = Σm(0, 3, 9, 11, 12, 13, 14)
  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.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiTrudny
CLKD12345678

Przerzutnik D wyzwalany zboczem narastającym startuje z Q = 0 i dostaje pokazane wejścia przy 8 zboczach narastających zegara. Ile razy N Q zmienia stan?

Q₀ = 0D
N =
5.Akwizycja danych i próbkowanieŚredni
SD0​D1​D2​D3​D4​D5​D6​D7​Tb​11·Tb​115200 Bd, 8N2

UART wysyła bajty z prędkością 115200 bodów w formacie 8N2: 8 bitów danych, bez parzystości, bit startu oraz bity stopu w liczbie 2. Wyznacz największą liczbę bajtów danych na sekundę, jaką może przesłać.

baud = 115200 Bd8N2
RB = B/s
6.Akwizycja danych i próbkowanieTrudny
124⋮4 ch∿01tc​ = 4 µstset​ = 2,5 µsfs​ = ?

4-kanałowy multiplekser zasila jeden ADC. Każda konwersja trwa 4 µs, a po każdym przełączeniu kanału wejście potrzebuje 2,5 µs na ustalenie się. Kanały są skanowane po kolei bez przerw. Wyznacz częstotliwość próbkowania fs każdego kanału, w kHz.

n = 4tc = 4 µstset = 2,5 µs
fs = kHz

3Roztwory

1.Systemy liczbowe

Odpowiedź: U = 247

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

9 = 0000 1001
odwrócone: 1111 0110
+1 → 1111 0111

Odczytaj bez znaku

1111 0111₂ = 256 − 9 = 247

Odpowiedź

U = 247
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 < 3538
212 = 4096 ≥ 3538

Odpowiedź

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

Odpowiedź: AB = 00, CD = 00

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.

Sąsiedzi każdej jedynki

Jedynka z sąsiednią jedynką może dołączyć do grupy dwóch lub więcej.

m0: m1, m2, m4, m8 → 0
ABCD00011110000111101111111

Izolowana jedynka

m0 = A′B′C′D′ → AB = 00, CD = 00

Odpowiedź

AB = 00, CD = 00
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki

Odpowiedź: N = 2

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.

Q po każdym zboczu

Przerzutnik D kopiuje D przy każdym zboczu narastającym: Q⁺ = D.

1: D = 0 → Q = 0
2: D = 0 → Q = 0
3: D = 0 → Q = 0
4: D = 1 → Q = 1
5: D = 1 → Q = 1
6: D = 0 → Q = 0
7: D = 0 → Q = 0
8: D = 0 → Q = 0

Policz zmiany

0 → 0 → 0 → 0 → 1 → 1 → 0 → 0 → 0
N = 2

Odpowiedź

N = 2
5.Akwizycja danych i próbkowanie

Odpowiedź: RB = 10473 B/s

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 w ramce

1 + 8 + 0 + 2 = 11

Strumień bajtów

115200/11 = 10473 B/s

Odpowiedź

RB = 10473 B/s
6.Akwizycja danych i próbkowanie

Odpowiedź: fs = 38,46 kHz

Szybkość danych: każdy kanał dostarcza fs próbek na sekundę po N bitów, więc surowa szybkość to kanały × fs × N bit/s. W pamięci próbka zajmuje całe bajty (próbka 12-bitowa jest zapisywana w 2 bajtach), więc pamięć potrzebna na zapis to kanały × fs × bajty na próbkę × czas. Multipleksowany ADC przetwarza kanały jeden po drugim: każda konwersja (z ustalaniem) trwa t, więc jedna runda n kanałów trwa n·t, a każdy kanał jest próbkowany z częstotliwością 1/(n·t).

Czas na kanał

4 + 2,5 = 6,5 µs

Czas skanu

4·6,5 = 26 µs

Częstotliwość próbkowania kanału

fs = 1/26 µs = 38,46 kHz

Odpowiedź

fs = 38,46 kHz

ExamProblems · examproblems.com/courses/digital-electronics