У вікні друку виберіть «Зберегти як 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.Системи численняСередня
Запишіть −29 як 8-бітовий шаблон у додатковому коді. Прочитайте шаблон як беззнакове двійкове число: яке його значення U у десятковій системі?
N = −298 bit
U =
2.Системи численняСкладна
Система має дати кожному з 928 елементів власний двійковий код однакової довжини. Яка найменша кількість бітів b потрібна?
928
b = bit
3.Цифрова логіка: вентилі, карти Карно та тригериСередня
Спростіть F = A′B′C + AC + AC′ + ABC′ до мінімальної форми суми добутків. Скільки літералів L містить спрощений вираз?
F = A′B′C + AC + AC′ + ABC′
L =
4.Цифрова логіка: вентилі, карти Карно та тригериСкладна
Для F(A, B, C, D) = Σm(0, 1, 2, 8, 10, 14) + d(4, 6, 9, 11, 15), де d позначає байдужі стани, знайдіть кількість N суттєвих простих імплікант.
UART передає байти зі швидкістю 4800 бод у форматі 8N1: 8 біт даних, без парності та 1 стопових біт(и), плюс стартовий біт. Знайдіть найбільшу кількість байт даних за секунду, яку він може передати.
baud = 4800 Bd8N1
RB = B/s
6.Збір даних і дискретизаціяСкладна
6-канальний мультиплексор живить один АЦП. Кожне перетворення триває 1 мкс, а після кожного перемикання каналу входу потрібно 0,5 мкс, щоб встановитися. Канали сканують по черзі без пауз. Знайдіть частоту дискретизації fs кожного каналу в кГц.
n = 6tc = 1 µstset = 0,5 µs
fs = kHz
3Розчини
1.Системи числення
Відповідь: U = 227
Позиційні системи числення: кожна цифра варта свого значення, помноженого на степінь основи. У двійковій системі розряди варті 1, 2, 4, 8, 16, …, у шістнадцятковій 1, 16, 256, …, де A–F означають 10–15. У 8-бітовому додатковому коді крайній лівий біт вартий −128 замість +128; так зберігаються від'ємні числа.
Інвертуйте і додайте одиницю
29 = 0001 1101
інвертовано: 1110 0010
+1 → 1110 0011
Прочитайте як беззнакове
1110 0011₂ = 256 − 29 = 227
Відповідь
U = 227
2.Системи числення
Відповідь: b = 10 bit
Позиційні системи числення: кожна цифра варта свого значення, помноженого на степінь основи. У двійковій системі розряди варті 1, 2, 4, 8, 16, …, у шістнадцятковій 1, 16, 256, …, де A–F означають 10–15. У 8-бітовому додатковому коді крайній лівий біт вартий −128 замість +128; так зберігаються від'ємні числа.
Степені двійки
29 = 512 < 928
210 = 1024 ≥ 928
Відповідь
b = 10
3.Цифрова логіка: вентилі, карти Карно та тригери
Відповідь: L = 3
Булева алгебра: правила, що спрощують вирази, — це 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(1)
AC → m(5, 7)
AC′ → m(4, 6)
ABC′ → m(6)
Згрупуйте й зчитайте
F = B′C + A
Порахуйте літерали
L = 3
Відповідь
L = 3
4.Цифрова логіка: вентилі, карти Карно та тригери
Відповідь: N = 1
Карти Карно: клітинки впорядковано за кодом Грея (00, 01, 11, 10), тож сусідні клітинки, зокрема через краї, відрізняються рівно однією змінною. Групуйте одиниці в прямокутники по 1, 2, 4, 8 або 16 клітинок, якомога більші й у якомога меншій кількості, доки кожну 1 не буде покрито. Кожна група — це один добуток: змінні, що лишаються сталими всередині неї. Група з 2ᵏ клітинок втрачає k змінних. Байдужі стани (X) можна використовувати, щоб групи були більшими, але їх не обов’язково покривати. Групування нулів замість одиниць дає мінімальну форму POS.
Прості імпліканти
Найбільші групи, які можна утворити з одиниць і X.
CD′, B′D′, B′C′, A′D′, AC, AB′
Суттєві прості імпліканти
B′C′
N = 1
Відповідь
N = 1
5.Збір даних і дискретизація
Відповідь: RB = 480 B/s
UART: асинхронна послідовна лінія передає кожен байт як кадр: один стартовий біт (низький), біти даних, необов’язковий біт парності та один або два стопові біти (високі). Швидкість у бодах — це кількість біт за секунду, тож один біт триває Tb = 1/бод, а кадр із n біт — n/бод. Поширений формат 8N1 має 10 біт на байт. Генератор швидкості ділить тактову частоту: бод = fclk/(16·D) із цілим D, тож реальна швидкість трохи відрізняється від цільової; похибка менш ніж приблизно 2 % зазвичай прийнятна.
Біти в кадрі
1 + 8 + 0 + 1 = 10
Швидкість у байтах
4800/10 = 480 B/s
Відповідь
RB = 480 B/s
6.Збір даних і дискретизація
Відповідь: fs = 111,1 kHz
Швидкості даних: кожен канал дає fs відліків за секунду по N біт, тож сира швидкість дорівнює канали × fs × N біт/с. У пам’яті відлік займає цілі байти (12-бітний відлік зберігається в 2 байтах), тож пам’ять для запису дорівнює канали × fs × байти на відлік × час. АЦП з мультиплексуванням перетворює канали один за одним: кожне перетворення (із часом встановлення) триває t, тож один цикл із n каналів триває n·t, а кожен канал дискретизується з частотою 1/(n·t).