Цифрова електроніка: шпаргалка-підсумок

Аркуші з формулами, ключові кроки методів для кожної теми та 6 задач для практики, з повними розв’язками наприкінці.

Нові задачіНазад до курсу

У вікні друку виберіть «Зберегти як PDF», щоб зберегти копію на пристрої.

1Формули та методи

Системи числення

Ваги розрядів
двійкова 2k, вісімкова 8k, шістнадцяткова 16k
У десяткову
Σ dk·bk
З десяткової
діліть на основу, остачі читайте знизу вгору
Шістнадцяткова ↔ двійкова
одна шістнадцяткова цифра = 4 біти
Додатковий код
інвертуйте біти й додайте 1

Цифрова логіка: вентилі, карти Карно та тригери

Базові вентилі
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Правила булевої алгебри
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
Закони де Моргана
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Порядок на карті Карно
00, 01, 11, 10 (Gray code)
Група з 2ᵏ клітинок
втрачає k змінних
Мультиплексор 4-до-1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Тригери
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Лічильники
n-розрядний: 2ⁿ станів; за модулем N: найменше n з 2ⁿ ≥ N; fout = fclk/N
Послідовний лічильник
fmax = 1/(n·tpd)
Кільцевий лічильник і лічильник Джонсона
n і 2n станів

Метод

  1. Для схеми рухайтеся від входів до виходу вентиль за вентилем і записуйте значення на кожному дроті, або запишіть її вираз і заповніть таблицю істинності.
  2. Для спрощення занесіть одиниці (а байдужі стани як X) на карту Карно з рядками й стовпцями в коді Грея: 00, 01, 11, 10.
  3. Покрийте одиниці якомога меншою кількістю якомога більших груп по 1, 2, 4, 8 або 16 клітинок, з переходом через краї; кожна група — це один добуток зі змінних, що лишаються сталими. Для форми POS групуйте нулі.
  4. Для тригерів і лічильників читайте входи на кожному активному фронті такту, записуйте стан після кожного фронту й пам’ятайте, що n-розрядний лічильник переходить через максимум після 2ⁿ станів.

Збір даних і дискретизація

Критерій Найквіста
fs > 2·fmax, fN = fs/2
Частота аліасу
fa = |f − k·fs|, k = round(f/fs)
Розмір кроку
1 LSB = VFSR/2ᴺ
Похибка квантування (округлення)
±½ LSB
Код АЦП з відсіканням
D = ⌊Vin/LSB⌋
Кількість розрядів для роздільності r
2ᴺ ≥ span/r
Ідеальне SQNR, синус на повну шкалу
SQNR = 6,02·N + 1,76 dB
Швидкість передавання даних
канали × fs × N біт/с
АЦП з мультиплексуванням
fs = 1/(n·(tc + tset))
UART
Tb = 1/бод; 8N1 = 10 біт на байт; байт/с = бод/біт у кадрі
Дільник швидкості передавання (бод)
baud = fclk/(16·D)

Метод

  1. Випишіть, що дано: частоту дискретизації, частоти сигналу, кількість розрядів, вхідний діапазон, швидкість у бодах.
  2. У задачах на дискретизацію порівнюйте кожну частоту з fs/2; вища частота виглядає як fa = |f − k·fs| з найближчим кратним fs.
  3. У задачах на роздільність знайдіть 1 LSB = VFSR/2ᴺ або найменше N, для якого 2ᴺ ≥ діапазон/роздільність.
  4. У задачах на швидкість даних і лінії UART враховуйте все, що передається: канали, відліки за секунду, біти чи цілі байти на відлік, а також стартові, паритетні й стопові біти кожного кадру.

2Задачі для практики

1.Системи численняСередня
8-бітовий додатковий код0−12806403201608040201

Встановіть біти так, щоб вони зберігали −117 в 8-бітовому доповняльному коді. Яке значення U шаблону, якщо читати його як беззнакове число?

N = −1178 bit
U =
2.Системи численняСкладна
клацайте біти, щоб встановити їх012806403201608040201

Встановіть біти за 8-бітовим результатом 0101 0010 >> 3. Яке значення R результату в десятковій системі?

0101 0010>> 3
R =
3.Цифрова логіка: вентилі, карти Карно та тригериСередня
ABC000111100101324576

Спростіть F = A′B′C′ + AB′ + BC до мінімальної форми суми добутків. Скільки літералів L містить спрощений вираз?

F = A′B′C′ + AB′ + BC
L =
4.Цифрова логіка: вентилі, карти Карно та тригериСкладна
CLKJK123456

JK-тригер, що спрацьовує за переднім фронтом, починає з Q = 0 і отримує показані входи. Клікніть перший фронт такту, на якому Q переходить з 1 назад у 0.

Q₀ = 0JK
  1. 1фронт такту 1
  2. 2фронт такту 2
  3. 3фронт такту 3
  4. 4фронт такту 4
  5. 5фронт такту 5
  6. 6фронт такту 6
5.Збір даних і дискретизаціяСередня
Vin​N = 103,3 V2ᴺ − 101 LSB2,384 V?

10-розрядний АЦП із вхідним діапазоном від 0 до 3,3 В відсікає: його вихідний код — ⌊Vin/LSB⌋ при 1 LSB = VFSR/2ᴺ. Знайдіть десятковий вихідний код D для входу 2,384 В.

N = 10VFSR = 3,3 VVin = 2,384 V
D =
6.Збір даних і дискретизаціяСкладна
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​12 MHz / (16·D)

Мікроконтролер із тактовою частотою 12 МГц задає швидкість UART як fclk/(16·D), де D — ціле число, округлене до найближчого значення. Цільова швидкість — 9600 бод. Знайдіть відсоткову похибку реальної швидкості (додатну, якщо вона завелика).

fclk = 12 MHzціль = 9600 Bd
e = %

3Розчини

1.Системи числення

Відповідь: U = 139

Встановлення бітів: кожен біт має вагу степеня двійки (128, 64, …, 1). Одна шістнадцяткова цифра — це рівно чотири біти, а в 8-бітовому доповняльному коді крайній лівий біт має вагу −128. Порозрядні операції працюють з кожною позицією біта окремо.

Інвертуйте і додайте одиницю

117 = 0111 0101
інвертовано: 1000 1010
+1 → 1000 1011

Прочитайте як беззнакове

1000 1011₂ = 256 − 117 = 139

Відповідь

U = 139
2.Системи числення

Відповідь: R = 10

Встановлення бітів: кожен біт має вагу степеня двійки (128, 64, …, 1). Одна шістнадцяткова цифра — це рівно чотири біти, а в 8-бітовому доповняльному коді крайній лівий біт має вагу −128. Порозрядні операції працюють з кожною позицією біта окремо.

Біт за бітом

Зсув праворуч на 3 переміщує кожен біт на 3 позицій праворуч; біти, що випадають з правого краю, втрачаються, а зліва додаються нулі.

0101 0010 >> 3
= 0000 1010

Значення результату

0000 1010₂ = 10

Відповідь

R = 10
3.Цифрова логіка: вентилі, карти Карно та тригери

Відповідь: L = 6

Булева алгебра: правила, що спрощують вирази, — це X + X′ = 1 і X·X′ = 0, X + X = X, поглинання X + X·Y = X, правило склеювання X·Y + X·Y′ = X, X + X′Y = X + Y і теорема про консенсус XY + X′Z + YZ = XY + X′Z. Закони де Моргана перетворюють (X·Y)′ на X′ + Y′, а (X + Y)′ на X′·Y′. Карта Карно застосовує ці правила графічно: кожна група з двох сусідніх клітинок — це одне застосування XY + XY′ = X.

Мінтерми виразу

A′B′C′ → m(0)
AB′ → m(4, 5)
BC → m(3, 7)
ABC00011110011001130214151706

Згрупуйте й зчитайте

F = B′C′ + BC + AC

Порахуйте літерали

L = 6

Відповідь

L = 6

Існує інше групування того самого розміру; воно має таку саму кількість літералів.

4.Цифрова логіка: вентилі, карти Карно та тригери

Відповідь: фронт такту 4

Тригери та лічильники: тригер змінюється лише за активним фронтом такту. D копіює свій вхід (Q⁺ = D); T перемикається, коли T = 1; JK зберігає стан за 00, скидає за 01, встановлює за 10 і перемикає за 11. n-розрядний двійковий лічильник має 2ⁿ станів і рахує за модулем 2ⁿ; лічильник за модулем N рахує 0, 1, …, N − 1 і повертається до 0, і йому потрібне найменше n, для якого 2ⁿ ≥ N тригерів. Кожен ступінь послідовного лічильника ділить частоту навпіл, тож останній вихід лічильника за модулем N має частоту fclk/N. Лічильник Джонсона з n тригерів має 2n станів, кільцевий — n.

Q після кожного фронту

JK-тригер: 00 зберігає, 01 скидає (Q = 0), 10 встановлює (Q = 1), 11 перемикає.

1: J = 0, K = 1 → Q = 0
2: J = 0, K = 0 → Q = 0
3: J = 1, K = 1 → Q = 1
4: J = 1, K = 1 → Q = 0
5: J = 1, K = 1 → Q = 1
6: J = 0, K = 0 → Q = 1

Перша зміна з 1 на 0

фронт такту 4

Відповідь

фронт такту 4
5.Збір даних і дискретизація

Відповідь: D = 739

Роздільність АЦП: N-розрядний перетворювач ділить свій діапазон повної шкали VFSR на 2ᴺ кодів, від 0 до 2ᴺ − 1. Один крок дорівнює 1 LSB = VFSR/2ᴺ: найменша зміна, яку може показати перетворювач. АЦП з відсіканням дає код ⌊Vin/LSB⌋; АЦП із округленням ніколи не відхиляється від істинного значення більш ніж на ½ LSB, це його похибка квантування. Кожен додатковий розряд зменшує LSB удвічі й додає близько 6 дБ до ідеального відношення сигнал/шум квантування SQNR = 6,02·N + 1,76 дБ для синуса на повну шкалу. Щоб досягти роздільності r на діапазоні, оберіть найменше N, для якого 2ᴺ ≥ діапазон/r.

Розмір кроку

1 LSB = 3,3/210 = 3,223 mV

Код

Vin/LSB = 2384/3,223 = 739,8
код = ⌊739,8⌋ = 739

Відповідь

D = 739

У двійковому записі це 1011100011.

6.Збір даних і дискретизація

Відповідь: e = 0,1603 %

UART: асинхронна послідовна лінія передає кожен байт як кадр: один стартовий біт (низький), біти даних, необов’язковий біт парності та один або два стопові біти (високі). Швидкість у бодах — це кількість біт за секунду, тож один біт триває Tb = 1/бод, а кадр із n біт — n/бод. Поширений формат 8N1 має 10 біт на байт. Генератор швидкості ділить тактову частоту: бод = fclk/(16·D) із цілим D, тож реальна швидкість трохи відрізняється від цільової; похибка менш ніж приблизно 2 % зазвичай прийнятна.

Дільник

D = 12·10⁶/(16·9600) = 78,13 → 78

Реальна швидкість у бодах

12·10⁶/(16·78) = 9615 Bd

Похибка

(9615 − 9600)/9600·100 = 0,1603 %

Відповідь

e = 0,1603 %

Похибка менш ніж приблизно 2 % зазвичай прийнятна.

ExamProblems · examproblems.com/courses/digital-electronics