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
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.
Przy upraszczaniu wpisz jedynki (a stany nieokreślone jako X) na mapę Karnaugha z wierszami i kolumnami w kodzie Graya: 00, 01, 11, 10.
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.
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
Zapisz, co jest dane: częstotliwość próbkowania, częstotliwości sygnałów, liczbę bitów, zakres wejściowy, szybkość transmisji w bodach.
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.
W zadaniach o rozdzielczości wyznacz 1 LSB = VFSR/2ᴺ albo najmniejsze N, dla którego 2ᴺ ≥ zakres/rozdzielczość.
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
Ustaw bity tak, aby zapisywały −45 w 8-bitowym kodzie uzupełnień do dwóch. Jaka jest wartość wzorca U odczytanego jako liczba bez znaku?
N = −458 bit
U =
2.Systemy liczboweTrudny
Ustaw bity na 8-bitowy wynik działania 1101 0000 XOR 0110 0000. Jaka jest wartość wyniku R w zapisie dziesiętnym?
1101 0000XOR0110 0000
R =
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiŚredni
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, 1, 4, 6, 12, 15)
1AB = 00, CD = 00
2AB = 00, CD = 01
3AB = 00, CD = 11
4AB = 00, CD = 10
5AB = 01, CD = 00
6AB = 01, CD = 01
7AB = 01, CD = 11
8AB = 01, CD = 10
9AB = 11, CD = 00
10AB = 11, CD = 01
11AB = 11, CD = 11
12AB = 11, CD = 10
13AB = 10, CD = 00
14AB = 10, CD = 01
15AB = 10, CD = 11
16AB = 10, CD = 10
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutnikiTrudny
Znajdź minimalną postać SOP funkcji F(A, B, C, D) = Σm(0, 4, 6, 14) + d(10, 12), gdzie d oznacza stany nieokreślone. Ile literałów L zawiera?
F(A, B, C, D) = Σm(0, 4, 6, 14) + d(10, 12)
L =
5.Akwizycja danych i próbkowanieŚredni
Rejestrator próbkuje 8 kanałów z częstotliwością 2 kHz każdy, używając 16-bitowego ADC. Każda próbka jest zapisywana w całych bajtach. Wyznacz pamięć M potrzebną na zapis trwający 30 min, w MB (1 MB = 10⁶ bajtów).
n = 8fs = 2 kHzN = 16t = 30 min
M = MB
6.Akwizycja danych i próbkowanieTrudny
Czujnik temperatury daje 5 mV/°C (0 V przy 0 °C). Jego sygnał jest wzmacniany 2,5 razy i podawany na 10-bitowy ADC o zakresie od 0 do 3,3 V (1 LSB = VFSR/2ᴺ). Wyznacz zmianę temperatury ΔTLSB odpowiadającą jednemu LSB.
S = 5 mV/°CG = 2,5N = 10VFSR = 3,3 V
ΔTLSB = °C
3Roztwory
1.Systemy liczbowe
Odpowiedź: U = 211
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.
Odwróć i dodaj jeden
45 = 0010 1101
odwrócone: 1101 0010
+1 → 1101 0011
Odczytaj bez znaku
1101 0011₂ = 256 − 45 = 211
Odpowiedź
U = 211
2.Systemy liczbowe
Odpowiedź: R = 176
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
XOR daje 1 tam, gdzie oba bity się różnią.
1101 0000
XOR 0110 0000
= 1011 0000
Wartość wyniku
1011 0000₂ = 176
Odpowiedź
R = 176
3.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki
Odpowiedź: AB = 11, CD = 11
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.
m15: m14, m13, m11, m7 → 0
Izolowana jedynka
m15 = ABCD → AB = 11, CD = 11
Odpowiedź
AB = 11, CD = 11
4.Logika cyfrowa: bramki, mapy Karnaugha i przerzutniki
Odpowiedź: L = 5
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.
BD′, A′C′D′, ACD′
Minimalne pokrycie
F = BD′ + A′C′D′
L = 5
Odpowiedź
L = 5
5.Akwizycja danych i próbkowanie
Odpowiedź: M = 57,6 MB
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).
Bajty na próbkę
⌈16/8⌉ = 2 B
Strumień bajtów
8·2000·2 = 32000 B/s
Pamięć
M = 32000·1800 = 5,76 × 10⁷ B = 57,6 MB
Odpowiedź
M = 57,6 MB
6.Akwizycja danych i próbkowanie
Odpowiedź: ΔTLSB = 0,2578 °C
Rozdzielczość ADC: N-bitowy przetwornik dzieli swój zakres pełnej skali VFSR na 2ᴺ kodów, od 0 do 2ᴺ − 1. Jeden krok to 1 LSB = VFSR/2ᴺ: najmniejsza zmiana, jaką przetwornik potrafi pokazać. ADC z obcinaniem podaje kod ⌊Vin/LSB⌋; ADC z zaokrąglaniem nigdy nie odbiega od prawdziwej wartości o więcej niż ½ LSB, co jest jego błędem kwantyzacji. Każdy dodatkowy bit zmniejsza LSB o połowę i dodaje około 6 dB do idealnego stosunku sygnału do szumu kwantyzacji SQNR = 6,02·N + 1,76 dB dla sinusoidy o pełnej skali. Aby osiągnąć rozdzielczość r na danym zakresie, wybierz najmniejsze N, dla którego 2ᴺ ≥ zakres/r.