Цифровая электроника: шпаргалка-пакет

Листы формул, ключевые шаги методов по каждой теме и тренировочные задачи (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 bit/s
АЦП с мультиплексором
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 бит на байт; byte/s = baud/число бит в кадре
Делитель скорости передачи
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

Установите биты так, чтобы они хранили −119 в 8-битном дополнительном коде. Чему равно значение комбинации U, если читать её как число без знака?

N = −1198 bit
U =
2.Системы счисленияСложная
нажимайте на биты, чтобы установить их012806403201608040201

Установите биты в 8-битный результат операции 0100 0101 AND 0101 1000. Чему равно значение результата R в десятичной системе?

0100 0101AND0101 1000
R =
3.Цифровая логика: вентили, карты Карно и триггерыСредняя
ABCD000111100001111011111

На этой карте Карно ровно у одной единицы нет соседней единицы, поэтому в минимальной форме SOP она остаётся группой из одной клетки (полным минтермом из четырёх литералов). Соседи через края карты учитываются. Нажмите на эту клетку.

F = Σm(5, 8, 9, 11, 12)
  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.Цифровая логика: вентили, карты Карно и триггерыСложная
ABCD0001111000011110X001031204X517X6012X130151141819X11010

Найдите минимальную форму SOP для F(A, B, C, D) = Σm(2, 7, 8, 9, 14) + d(0, 5, 6, 11, 13), где d обозначает безразличные состояния. Сколько литералов, L, она содержит?

F(A, B, C, D) = Σm(2, 7, 8, 9, 14) + d(0, 5, 6, 11, 13)
L =
5.Сбор данных и дискретизацияСредняя
tTs​ = 1/fs​f = 6 kHzfs​ = 8 kHz

Синусоида 6 kHz дискретизируется с частотой 8 kHz без антиэлайзингового фильтра. На какой частоте fa она появится в отсчётах? Дайте ответ в Hz.

f = 6 kHzfs = 8 kHz
fa = Hz
6.Сбор данных и дискретизацияСложная
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​10 MHz / (16·D)

Микроконтроллер с тактовой частотой 10 MHz задаёт скорость UART как fclk/(16·D), где D — целое число, округлённое до ближайшего значения. Целевая скорость — 2400 бод. Найдите относительную погрешность реальной скорости в бодах в процентах (положительную, если она слишком высока).

fclk = 10 MHzцелевая = 2400 Bd
e = %

3Растворы

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

Ответ: U = 137

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

Инвертируйте и прибавьте единицу

119 = 0111 0111
инвертировано: 1000 1000
+1 → 1000 1001

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

1000 1001₂ = 256 − 119 = 137

Ответ

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

Ответ: R = 64

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

Бит за битом

AND даёт 1 только там, где оба бита равны 1.

0100 0101
AND 0101 1000
= 0100 0000

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

0100 0000₂ = 64

Ответ

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

Ответ: AB = 01, CD = 01

Карты Карно: клетки упорядочены по коду Грея (00, 01, 11, 10), поэтому соседние клетки, включая те, что через края, отличаются ровно одной переменной. Группируйте единицы в прямоугольники по 1, 2, 4, 8 или 16 клеток, как можно большие и в как можно меньшем числе, пока не будет покрыта каждая единица. Каждая группа — один член-произведение: переменные, которые внутри неё остаются постоянными. Группа из 2ᵏ клеток теряет k переменных. Безразличные состояния (X) можно использовать, чтобы увеличить группы, но покрывать их не обязательно. Если группировать нули, получится минимальная форма POS.

Соседи каждой единицы

Единица с соседней единицей может войти в группу из двух или более.

m5: m4, m7, m1, m13 → 0
ABCD000111100001111011111

Изолированная единица

m5 = A′BC′D → AB = 01, CD = 01

Ответ

AB = 01, CD = 01
4.Цифровая логика: вентили, карты Карно и триггеры

Ответ: L = 12

Карты Карно: клетки упорядочены по коду Грея (00, 01, 11, 10), поэтому соседние клетки, включая те, что через края, отличаются ровно одной переменной. Группируйте единицы в прямоугольники по 1, 2, 4, 8 или 16 клеток, как можно большие и в как можно меньшем числе, пока не будет покрыта каждая единица. Каждая группа — один член-произведение: переменные, которые внутри неё остаются постоянными. Группа из 2ᵏ клеток теряет k переменных. Безразличные состояния (X) можно использовать, чтобы увеличить группы, но покрывать их не обязательно. Если группировать нули, получится минимальная форма POS.

Простые импликанты

Самые большие группы, которые можно образовать из единиц и X.

B′C′D′, BCD′, A′CD′, AC′D, A′B′D′, A′BD, AB′D, A′BC, AB′C′
ABCD0001111000011110X001031204X517X6012X130151141819X11010

Минимальное покрытие

F = BCD′ + A′CD′ + A′BD + AB′C′
L = 12

Ответ

L = 12

Существует другая группировка того же размера; в ней то же число членов и литералов.

5.Сбор данных и дискретизация

Ответ: fa = 2000 Hz

Дискретизация: АЦП измеряет сигнал fs раз в секунду. По теореме Найквиста–Шеннона частота f фиксируется правильно, только пока f < fs/2, то есть ниже частоты Найквиста (частоты свёртки), поэтому частота дискретизации должна превышать удвоенную наивысшую частоту сигнала. Более высокая частота не теряется: она проявляется как ложная частота fa = |f − k·fs|, где целое число k выбирается так, чтобы результат оказался между 0 и fs/2. Отсчёты не позволяют различить эти две частоты, поэтому аналоговый антиэлайзинговый фильтр должен удалить всё выше fs/2 до АЦП.

Частота Найквиста

fs/2 = 4 kHz < f = 6 kHz

Ближайшее кратное частоты дискретизации

k = round(6000/8000) = 1

Ложная частота

fa = |6000 − 1·8000| = 2000 Hz

Ответ

fa = 2000 Hz

Штриховая кривая на рисунке — это ложная частота: она проходит ровно через те же отсчёты.

6.Сбор данных и дискретизация

Ответ: e = 0,1603 %

UART: асинхронный последовательный канал передаёт каждый байт кадром: один стартовый бит (низкий уровень), биты данных, необязательный бит чётности и один или два стоповых бита (высокий уровень). Скорость в бодах — это число бит в секунду, поэтому один бит длится Tb = 1/baud, а кадр из n бит длится n/baud. В распространённом формате 8N1 на байт приходится 10 бит. Генератор бодов делит тактовую частоту: baud = fclk/(16·D) с целым D, поэтому реальная скорость в бодах немного отличается от заданной; погрешность меньше примерно 2 % обычно допустима.

Делитель

D = 10·10⁶/(16·2400) = 260,4 → 260

Реальная скорость в бодах

10·10⁶/(16·260) = 2404 Bd

Погрешность

(2404 − 2400)/2400·100 = 0,1603 %

Ответ

e = 0,1603 %

Погрешность ниже примерно 2 % обычно допустима.

ExamProblems · examproblems.com/courses/digital-electronics