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

Листы формул, ключевые шаги методов по каждой теме и тренировочные задачи (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.Системы счисленияСредняя
веса разрядов в дополнительном коде1−12806413201618040211

8-битная комбинация 1010 1001 хранит целое число со знаком в дополнительном коде. Каково его значение N в десятичной системе?

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

Установите биты в 8-битный результат операции 1110 1101 >> 3. Чему равно значение результата R в десятичной системе?

1110 1101>> 3
R =
3.Цифровая логика: вентили, карты Карно и триггерыСредняя
ABCD00011110000111101111111

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

F = Σm(2, 7, 8, 9, 11, 13, 15)
  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.Цифровая логика: вентили, карты Карно и триггерыСложная
DQ3​Q3​DQ2​Q2​DQ1​Q1​DQ0​Q0​CLKSHIFT

4-разрядный сдвиговый регистр Q₃Q₂Q₁Q₀ содержит 1110. По каждому фронту тактового сигнала биты сдвигаются на одну позицию вправо (Q₃ → Q₂ → Q₁ → Q₀, Q₀ теряется), а последовательный вход поступает в Q₃. Последовательный вход равен 0, 0, 1, 1 на 4 фронтах. Укажите итоговое состояние Q = Q₃Q₂Q₁Q₀ в виде десятичного числа.

Q₃Q₂Q₁Q₀ = 11100, 0, 1, 1
Q =
5.Сбор данных и дискретизацияСредняя
Vin​N = ?1000 mm2ᴺ − 10≤ 0,1 mm

Датчик измеряет расстояние в диапазоне 1000 mm, и его выход заполняет весь диапазон входа АЦП. Показание должно различать 0,1 mm. Найдите наименьшее число разрядов N, которое нужно АЦП.

диапазон = 1000 mmразрешение = 0,1 mm
N =
6.Сбор данных и дискретизацияСложная
128⋮8 ch∿01tc​ = 8 µstset​ = 5 µsfs​ = ?

8-канальный мультиплексор подаёт сигналы на один АЦП. Каждое преобразование занимает 8 µs, а после каждого переключения канала входу нужно 5 µs для установления. Каналы опрашиваются по очереди без пауз. Найдите частоту дискретизации fs каждого канала в kHz.

n = 8tc = 8 µstset = 5 µs
fs = kHz

3Растворы

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

Ответ: N = −87

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

Сложите веса

Остальные биты сохраняют свои обычные положительные веса.

−128 + 32 + 8 + 1 = −87

Ответ

N = −87
2.Системы счисления

Ответ: R = 29

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

Бит за битом

Сдвиг вправо на 3 перемещает каждый бит на 3 позиций вправо; биты, выходящие за правый край, теряются, а слева входят нули.

1110 1101 >> 3
= 0001 1101

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

0001 1101₂ = 29

Ответ

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

Ответ: AB = 00, CD = 10

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

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

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

m2: m3, m0, m6, m10 → 0
ABCD00011110000111101111111

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

m2 = A′B′CD′ → AB = 00, CD = 10

Ответ

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

Ответ: Q = 12

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

Состояние после каждого фронта

1110 → 0111 → 0011 → 1001 → 1100

Десятичное значение

1100₂ = 12

Ответ

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

Ответ: N = 14

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

Необходимое число шагов

1000/0,1 = 10000

Разряды

log₂(10000) = 13,29
213 = 8192 < 10000 ≤ 214 = 16384
N = 14

Ответ

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

Ответ: fs = 9,615 kHz

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

Время на канал

8 + 5 = 13 µs

Время на опрос

8·13 = 104 µs

Частота дискретизации на канал

fs = 1/104 µs = 9,615 kHz

Ответ

fs = 9,615 kHz

ExamProblems · examproblems.com/courses/digital-electronics