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

Листы формул, ключевые шаги методов по каждой теме и тренировочные задачи (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-битный дополнительный код?−128?64?32?16?8?4?2?1

Запишите −109 как 8-битную комбинацию в дополнительном коде. Прочитайте комбинацию как беззнаковое двоичное число: каково его значение U в десятичной системе?

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

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

1111 0100XOR0100 0110
R =
3.Цифровая логика: вентили, карты Карно и триггерыСредняя
ABCD000111100001111000111302141517161120131150140809011110

С помощью карты Карно найдите минимальную форму «произведение сумм» (POS) для F(A, B, C, D) = Σm(1, 3, 4, 5, 6, 7, 10, 12, 15). Сколько членов-сумм (множителей), N, в ней?

F(A, B, C, D) = Σm(1, 3, 4, 5, 6, 7, 10, 12, 15)
N =
4.Цифровая логика: вентили, карты Карно и триггерыСложная
FFQ0​Q0​FFQ1​Q1​FFQ2​Q2​FFQ3​Q3​FFQ4​Q4​FFQ5​Q5​FFQ6​Q6​CLKMOD-100

Счётчик по модулю 100 построен на минимальном числе триггеров. Сколько из возможных состояний, U, никогда не используется?

N = 100
U =
5.Сбор данных и дискретизацияСредняя
128⋮8 ch∿01N = 1020 kHz? MB

Регистратор дискретизирует 8 каналов с частотой 20 kHz каждый с помощью 10-разрядного АЦП. Каждый отсчёт хранится в целом числе байт. Найдите объём памяти M, необходимый для записи длительностью 10 min, в MB (1 MB = 10⁶ байт).

n = 8fs = 20 kHzN = 10t = 10 min
M = MB
6.Сбор данных и дискретизацияСложная
SD0​D1​D2​D3​D4​D5​D6​D7​1/fbaud​24 MHz / (16·D)

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

fclk = 24 MHzцелевая = 4800 Bd
e = %

3Растворы

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

Ответ: U = 147

Позиционные системы счисления: каждая цифра стоит своего значения, умноженного на степень основания. В двоичной системе разряды стоят 1, 2, 4, 8, 16, …, в шестнадцатеричной 1, 16, 256, …, а A–F обозначают 10–15. В 8-битном дополнительном коде крайний левый бит стоит −128 вместо +128; так хранятся отрицательные числа.

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

109 = 0110 1101
инвертировано: 1001 0010
+1 → 1001 0011

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

1001 0011₂ = 256 − 109 = 147

Ответ

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

Ответ: R = 178

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

Бит за битом

XOR даёт 1 там, где два бита различаются.

1111 0100
XOR 0100 0110
= 1011 0010

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

1011 0010₂ = 178

Ответ

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

Ответ: N = 5

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

ABCD000111100001111000111302141517161120131150140809011110

Сгруппируйте нули

Каждая группа — прямоугольник из 2ᵏ клеток; клетки на краю соседствуют с клетками на противоположном краю.

(B + C + D)
(A′ + C + D′)
(A + B + D)
(A′ + B + D′)
(A′ + B′ + C′ + D)

Минимальная форма POS

F = (B + C + D)(A′ + C + D′)(A + B + D)(A′ + B + D′)(A′ + B′ + C′ + D)
N = 5

Ответ

N = 5

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

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

Ответ: U = 28

Триггеры и счётчики: триггер меняется только по активному фронту тактового сигнала. 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.

Число триггеров

2ⁿ ≥ 100 → n = 7 (2⁷ = 128)

Неиспользуемые состояния

U = 128 − 100 = 28

Ответ

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

Ответ: M = 192 MB

Скорости передачи данных: каждый канал выдаёт fs отсчётов в секунду по N бит, поэтому исходная скорость равна каналы × fs × N bit/s. В памяти отсчёт занимает целое число байт (12-разрядный отсчёт хранится в 2 байтах), поэтому память для записи равна каналы × fs × байт на отсчёт × время. АЦП с мультиплексором преобразует каналы один за другим: каждое преобразование (с установлением) занимает время t, поэтому один цикл по n каналам занимает n·t, а каждый канал дискретизируется с частотой 1/(n·t).

Байт на отсчёт

⌈10/8⌉ = 2 B

Скорость в байтах

8·20000·2 = 320000 B/s

Память

M = 320000·600 = 1,92 × 10⁸ B = 192 MB

Ответ

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

Ответ: e = −0,1597 %

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

Делитель

D = 24·10⁶/(16·4800) = 312,5 → 313

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

24·10⁶/(16·313) = 4792 Bd

Погрешность

(4792 − 4800)/4800·100 = −0,1597 %

Ответ

e = −0,1597 %

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

ExamProblems · examproblems.com/courses/digital-electronics