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 bit/s
АЦП с мультиплексором
fs = 1/(n·(tc + tset))
UART
Tb = 1/baud; 8N1 = 10 бит на байт; byte/s = baud/число бит в кадре
Делитель скорости передачи
baud = fclk/(16·D)
Метод
Запишите, что дано: частоту дискретизации, частоты сигналов, число разрядов, диапазон входа, скорость в бодах.
В задачах на дискретизацию сравнивайте каждую частоту с fs/2; более высокая частота появляется как fa = |f − k·fs| с ближайшим кратным fs.
В задачах на разрешение найдите 1 LSB = VFSR/2ᴺ или наименьшее N, при котором 2ᴺ ≥ диапазон/разрешение.
Для скоростей передачи данных и каналов UART считайте всё, что передаётся: каналы, отсчёты в секунду, биты или целые байты на отсчёт, а также стартовые, контрольные и стоповые биты каждого кадра.
2Тренировочные задачи
1.Системы счисленияСредняя
Установите биты так, чтобы они хранили −23 в 8-битном дополнительном коде. Чему равно значение комбинации U, если читать её как число без знака?
N = −238 bit
U =
2.Системы счисленияСложная
Установите биты в 8-битный результат операции 0101 1111 AND 0100 1111. Чему равно значение результата R в десятичной системе?
0101 1111AND0100 1111
R =
3.Цифровая логика: вентили, карты Карно и триггерыСредняя
Упростите F = A′C′ + A′BC + BC + ABC′ до минимальной формы «сумма произведений». Сколько литералов, L, содержит упрощённое выражение?
F = A′C′ + A′BC + BC + ABC′
L =
4.Цифровая логика: вентили, карты Карно и триггерыСложная
4-разрядный сдвиговый регистр Q₃Q₂Q₁Q₀ содержит 1001. По каждому фронту тактового сигнала биты сдвигаются на одну позицию вправо (Q₃ → Q₂ → Q₁ → Q₀, Q₀ теряется), а последовательный вход поступает в Q₃. Последовательный вход равен 0, 0, 1, 0, 1, 0 на 6 фронтах. Укажите итоговое состояние Q = Q₃Q₂Q₁Q₀ в виде десятичного числа.
Q₃Q₂Q₁Q₀ = 10010, 0, 1, 0, 1, 0
Q =
5.Сбор данных и дискретизацияСредняя
UART передаёт байты на скорости 38400 бод в формате 8N1: 8 битов данных, без бита чётности и 1 стоповых бит, плюс стартовый бит. Найдите наибольшее число байт данных в секунду, которое он может передать.
baud = 38400 Bd8N1
RB = B/s
6.Сбор данных и дискретизацияСложная
Прямоугольный сигнал 700 Hz дискретизируется с частотой 2 kHz без антиэлайзингового фильтра. Прямоугольный сигнал содержит нечётные гармоники 3f₁, 5f₁, 7f₁, … На какой частоте fa его гармоника 5f₁ появится в дискретизированных данных? Дайте ответ в Hz.
f₁ = 700 Hzfs = 2 kHzгармоника: 5f₁
fa = Hz
3Растворы
1.Системы счисления
Ответ: U = 233
Установка битов: каждый бит стоит степень двойки (128, 64, …, 1). Одна шестнадцатеричная цифра — это ровно четыре бита, а в 8-битном дополнительном коде крайний левый бит стоит −128. Побитовые операции работают с каждой позицией бита отдельно.
Инвертируйте и прибавьте единицу
23 = 0001 0111
инвертировано: 1110 1000
+1 → 1110 1001
Прочитайте как беззнаковое
1110 1001₂ = 256 − 23 = 233
Ответ
U = 233
2.Системы счисления
Ответ: R = 79
Установка битов: каждый бит стоит степень двойки (128, 64, …, 1). Одна шестнадцатеричная цифра — это ровно четыре бита, а в 8-битном дополнительном коде крайний левый бит стоит −128. Побитовые операции работают с каждой позицией бита отдельно.
Бит за битом
AND даёт 1 только там, где оба бита равны 1.
0101 1111
AND 0100 1111
= 0100 1111
Значение результата
0100 1111₂ = 79
Ответ
R = 79
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′C′ → m(0, 2)
A′BC → m(3)
BC → m(3, 7)
ABC′ → m(6)
Сгруппируйте и прочитайте
F = B + A′C′
Посчитайте литералы
L = 3
Ответ
L = 3
4.Цифровая логика: вентили, карты Карно и триггеры
Ответ: Q = 5
Триггеры и счётчики: триггер меняется только по активному фронту тактового сигнала. 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.
Состояние после каждого фронта
1001 → 0100 → 0010 → 1001 → 0100 → 1010 → 0101
Десятичное значение
0101₂ = 5
Ответ
Q = 5
5.Сбор данных и дискретизация
Ответ: RB = 3840 B/s
UART: асинхронный последовательный канал передаёт каждый байт кадром: один стартовый бит (низкий уровень), биты данных, необязательный бит чётности и один или два стоповых бита (высокий уровень). Скорость в бодах — это число бит в секунду, поэтому один бит длится Tb = 1/baud, а кадр из n бит длится n/baud. В распространённом формате 8N1 на байт приходится 10 бит. Генератор бодов делит тактовую частоту: baud = fclk/(16·D) с целым D, поэтому реальная скорость в бодах немного отличается от заданной; погрешность меньше примерно 2 % обычно допустима.
Бит в кадре
1 + 8 + 0 + 1 = 10
Скорость в байтах
38400/10 = 3840 B/s
Ответ
RB = 3840 B/s
6.Сбор данных и дискретизация
Ответ: fa = 500 Hz
Дискретизация: АЦП измеряет сигнал fs раз в секунду. По теореме Найквиста–Шеннона частота f фиксируется правильно, только пока f < fs/2, то есть ниже частоты Найквиста (частоты свёртки), поэтому частота дискретизации должна превышать удвоенную наивысшую частоту сигнала. Более высокая частота не теряется: она проявляется как ложная частота fa = |f − k·fs|, где целое число k выбирается так, чтобы результат оказался между 0 и fs/2. Отсчёты не позволяют различить эти две частоты, поэтому аналоговый антиэлайзинговый фильтр должен удалить всё выше fs/2 до АЦП.
Частота гармоники
5f₁ = 5·700 Hz = 3,5 kHz
Ближайшее кратное частоты дискретизации
m = round(1,75) = 2
Ложная частота
fa = |3500 − 2·2000| = 500 Hz
Ответ
fa = 500 Hz
Ложная частота попадает внутрь полосы сигнала, где её не удалит ни один цифровой фильтр. Помогает только аналоговый фильтр перед АЦП.