У вікні друку виберіть «Зберегти як 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 станів
Метод
Для схеми рухайтеся від входів до виходу вентиль за вентилем і записуйте значення на кожному дроті, або запишіть її вираз і заповніть таблицю істинності.
Для спрощення занесіть одиниці (а байдужі стани як X) на карту Карно з рядками й стовпцями в коді Грея: 00, 01, 11, 10.
Покрийте одиниці якомога меншою кількістю якомога більших груп по 1, 2, 4, 8 або 16 клітинок, з переходом через краї; кожна група — це один добуток зі змінних, що лишаються сталими. Для форми POS групуйте нулі.
Для тригерів і лічильників читайте входи на кожному активному фронті такту, записуйте стан після кожного фронту й пам’ятайте, що 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)
Метод
Випишіть, що дано: частоту дискретизації, частоти сигналу, кількість розрядів, вхідний діапазон, швидкість у бодах.
У задачах на дискретизацію порівнюйте кожну частоту з fs/2; вища частота виглядає як fa = |f − k·fs| з найближчим кратним fs.
У задачах на роздільність знайдіть 1 LSB = VFSR/2ᴺ або найменше N, для якого 2ᴺ ≥ діапазон/роздільність.
У задачах на швидкість даних і лінії UART враховуйте все, що передається: канали, відліки за секунду, біти чи цілі байти на відлік, а також стартові, паритетні й стопові біти кожного кадру.
2Задачі для практики
1.Системи численняСередня
8-бітовий шаблон 1010 1100 зберігає ціле число зі знаком у додатковому коді. Яке його значення N у десятковій системі?
1010 11008 bit
N =
2.Системи численняСкладна
Нестиснене зображення має 512 × 512 пікселів і 24 бітів на піксель. Скільки пам'яті M воно займає, у KiB (1 KiB = 1024 байти)?
512 × 512 px24 bit/px1 KiB = 1024 B
M = KiB
3.Цифрова логіка: вентилі, карти Карно та тригериСередня
Скористайтеся картою Карно, щоб знайти мінімальну форму добутку сум (POS) для F(A, B, C, D) = Σm(3, 4, 5, 7, 8, 9, 14). Скільки доданків-сум (множників) N вона має?
F(A, B, C, D) = Σm(3, 4, 5, 7, 8, 9, 14)
N =
4.Цифрова логіка: вентилі, карти Карно та тригериСкладна
4-розрядний зсувний регістр Q₃Q₂Q₁Q₀ містить 1010. На кожному фронті такту біти зсуваються на одне місце праворуч (Q₃ → Q₂ → Q₁ → Q₀, Q₀ втрачається), а послідовний вхід заходить у Q₃. Послідовний вхід дорівнює 0, 1, 0, 0 на 4 фронтах. Запишіть кінцевий стан Q = Q₃Q₂Q₁Q₀ як десяткове число.
Q₃Q₂Q₁Q₀ = 10100, 1, 0, 0
Q =
5.Збір даних і дискретизаціяСередня
Датчик вимірює температуру у діапазоні 100 °C, а його вихід заповнює весь вхідний діапазон АЦП. Показ має розрізняти 0,2 °C. Знайдіть найменшу кількість розрядів N, потрібну АЦП.
діапазон = 100 °Cроздільність = 0,2 °C
N =
6.Збір даних і дискретизаціяСкладна
Прямокутний сигнал 12 kHz дискретизується з частотою 50 kHz без антиаліасингового фільтра. Прямокутний сигнал містить непарні гармоніки 3f₁, 5f₁, 7f₁, … На якій частоті fa у дискретизованих даних з’являється його гармоніка 5f₁? Подайте в kHz.
f₁ = 12 kHzfs = 50 kHzгармоніка: 5f₁
fa = kHz
3Розчини
1.Системи числення
Відповідь: N = −84
Позиційні системи числення: кожна цифра варта свого значення, помноженого на степінь основи. У двійковій системі розряди варті 1, 2, 4, 8, 16, …, у шістнадцятковій 1, 16, 256, …, де A–F означають 10–15. У 8-бітовому додатковому коді крайній лівий біт вартий −128 замість +128; так зберігаються від'ємні числа.
Додайте ваги
Інші біти зберігають свої звичайні додатні ваги.
−128 + 32 + 8 + 4 = −84
Відповідь
N = −84
2.Системи числення
Відповідь: M = 768 KiB
Позиційні системи числення: кожна цифра варта свого значення, помноженого на степінь основи. У двійковій системі розряди варті 1, 2, 4, 8, 16, …, у шістнадцятковій 1, 16, 256, …, де A–F означають 10–15. У 8-бітовому додатковому коді крайній лівий біт вартий −128 замість +128; так зберігаються від'ємні числа.
Біти й байти
512·512·24 = 6291456 bit = 786432 B
Переведіть у KiB
786432/1024 = 768 KiB
Відповідь
M = 768 KiB
3.Цифрова логіка: вентилі, карти Карно та тригери
Відповідь: N = 5
Карти Карно: клітинки впорядковано за кодом Грея (00, 01, 11, 10), тож сусідні клітинки, зокрема через краї, відрізняються рівно однією змінною. Групуйте одиниці в прямокутники по 1, 2, 4, 8 або 16 клітинок, якомога більші й у якомога меншій кількості, доки кожну 1 не буде покрито. Кожна група — це один добуток: змінні, що лишаються сталими всередині неї. Група з 2ᵏ клітинок втрачає k змінних. Байдужі стани (X) можна використовувати, щоб групи були більшими, але їх не обов’язково покривати. Групування нулів замість одиниць дає мінімальну форму POS.
Згрупуйте нулі
Кожна група — це прямокутник із 2ᵏ клітинок; крайні клітинки є сусідами клітинок на протилежному краї.
(B + C′ + D)
(A + C′ + D)
(A′ + C′ + D′)
(A + B + C)
(A′ + B′ + C)
Мінімальна форма POS
F = (B + C′ + D)(A + C′ + D)(A′ + C′ + D′)(A + B + C)(A′ + B′ + C)
N = 5
Відповідь
N = 5
Існує інше групування того самого розміру; воно має таку саму кількість доданків і літералів.
4.Цифрова логіка: вентилі, карти Карно та тригери
Відповідь: Q = 2
Тригери та лічильники: тригер змінюється лише за активним фронтом такту. 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.
Стан після кожного фронту
1010 → 0101 → 1010 → 0101 → 0010
Десяткове значення
0010₂ = 2
Відповідь
Q = 2
5.Збір даних і дискретизація
Відповідь: N = 9
Роздільність АЦП: 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.
Потрібна кількість кроків
100/0,2 = 500
Розряди
log₂(500) = 8,966
28 = 256 < 500 ≤ 29 = 512
N = 9
Відповідь
N = 9
6.Збір даних і дискретизація
Відповідь: fa = 10 kHz
Дискретизація: АЦП вимірює сигнал fs разів за секунду. За теоремою Найквіста–Шеннона частота f фіксується правильно лише доти, доки f < fs/2, частота Найквіста (згортання), тож частота дискретизації має перевищувати подвоєну найвищу частоту сигналу. Вища частота не втрачається: вона з’являється як аліас на fa = |f − k·fs|, де ціле k дає результат між 0 і fs/2. Відліки не розрізняють їх, тому аналоговий антиаліасинговий фільтр має прибрати все, що вище fs/2, перед АЦП.
Частота гармоніки
5f₁ = 5·12 kHz = 60 kHz
Найближче кратне частоти дискретизації
m = round(1,2) = 1
Частота аліасу
fa = |60 − 1·50| = 10 kHz
Відповідь
fa = 10 kHz
Аліас потрапляє всередину смуги сигналу, де жоден цифровий фільтр його не прибере. Допоможе лише аналоговий фільтр перед АЦП.