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.Системы счисленияСредняя
8-битная комбинация 1010 0000 хранит целое число со знаком в дополнительном коде. Каково его значение N в десятичной системе?
1010 00008 bit
N =
2.Системы счисленияСложная
Установите биты в 8-битный результат операции 0011 0100 AND 0001 0101. Чему равно значение результата R в десятичной системе?
0011 0100AND0001 0101
R =
3.Цифровая логика: вентили, карты Карно и триггерыСредняя
У мультиплексора 4 в 1 адресные входы S₁ = A и S₀ = B, а информационные входы подключены так: I₀ = 0, I₁ = 1, I₂ = 0, I₃ = C′. Для скольких из 8 комбинаций A, B и C выход F = 1? Найдите N.
I₀ = 0I₁ = 1I₂ = 0I₃ = C′
N =
4.Цифровая логика: вентили, карты Карно и триггерыСложная
4-разрядный сдвиговый регистр Q₃Q₂Q₁Q₀ содержит 0000. По каждому фронту тактового сигнала биты сдвигаются на одну позицию вправо (Q₃ → Q₂ → Q₁ → Q₀, Q₀ теряется), а последовательный вход поступает в Q₃. Последовательный вход равен 1, 0, 0, 0, 1, 1 на 6 фронтах. Укажите итоговое состояние Q = Q₃Q₂Q₁Q₀ в виде десятичного числа.
Q₃Q₂Q₁Q₀ = 00001, 0, 0, 0, 1, 1
Q =
5.Сбор данных и дискретизацияСредняя
Регистратор дискретизирует 2 каналов с частотой 10 kHz каждый с помощью 12-разрядного АЦП. Каждый отсчёт хранится в целом числе байт. Найдите объём памяти M, необходимый для записи длительностью 15 min, в MB (1 MB = 10⁶ байт).
n = 2fs = 10 kHzN = 12t = 15 min
M = MB
6.Сбор данных и дискретизацияСложная
12-разрядный АЦП передаёт каждый отсчёт по UART на скорости 19200 бод в формате 8N1 (стартовый бит, 8 битов данных, 1 стоповый бит). Каждый отсчёт передаётся 2 целыми байтами, и канал занят всё время. Найдите наивысшую частоту сигнала fmax, которую можно дискретизировать без наложения спектров, в Hz.
baud = 19200 BdN = 128N1
fmax = Hz
3Растворы
1.Системы счисления
Ответ: N = −96
Позиционные системы счисления: каждая цифра стоит своего значения, умноженного на степень основания. В двоичной системе разряды стоят 1, 2, 4, 8, 16, …, в шестнадцатеричной 1, 16, 256, …, а A–F обозначают 10–15. В 8-битном дополнительном коде крайний левый бит стоит −128 вместо +128; так хранятся отрицательные числа.
Сложите веса
Остальные биты сохраняют свои обычные положительные веса.
−128 + 32 = −96
Ответ
N = −96
2.Системы счисления
Ответ: R = 20
Установка битов: каждый бит стоит степень двойки (128, 64, …, 1). Одна шестнадцатеричная цифра — это ровно четыре бита, а в 8-битном дополнительном коде крайний левый бит стоит −128. Побитовые операции работают с каждой позицией бита отдельно.
Бит за битом
AND даёт 1 только там, где оба бита равны 1.
0011 0100
AND 0001 0101
= 0001 0100
Значение результата
0001 0100₂ = 20
Ответ
R = 20
3.Цифровая логика: вентили, карты Карно и триггеры
Ответ: N = 3
Мультиплексор: мультиплексор 2ⁿ в 1 передаёт на выход один из своих информационных входов; адресные входы, читаемые как двоичное число, выбирают, какой именно. Для мультиплексора 4 в 1 с адресами S₁S₀ = AB: F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Если подключить информационные входы к 0, 1, C или C′, мультиплексор реализует любую функцию от A, B и C, что — распространённый способ построить логику на одной микросхеме.
Выражение выхода
F = A′B + ABC′
Строки с F = 1
ABC = 010, 011, 110
N = 3
Ответ
N = 3
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.
Состояние после каждого фронта
0000 → 1000 → 0100 → 0010 → 0001 → 1000 → 1100
Десятичное значение
1100₂ = 12
Ответ
Q = 12
5.Сбор данных и дискретизация
Ответ: M = 36 MB
Скорости передачи данных: каждый канал выдаёт fs отсчётов в секунду по N бит, поэтому исходная скорость равна каналы × fs × N bit/s. В памяти отсчёт занимает целое число байт (12-разрядный отсчёт хранится в 2 байтах), поэтому память для записи равна каналы × fs × байт на отсчёт × время. АЦП с мультиплексором преобразует каналы один за другим: каждое преобразование (с установлением) занимает время t, поэтому один цикл по n каналам занимает n·t, а каждый канал дискретизируется с частотой 1/(n·t).
Байт на отсчёт
⌈12/8⌉ = 2 B
Скорость в байтах
2·10000·2 = 40000 B/s
Память
M = 40000·900 = 3,6 × 10⁷ B = 36 MB
Ответ
M = 36 MB
6.Сбор данных и дискретизация
Ответ: fmax = 480 Hz
UART: асинхронный последовательный канал передаёт каждый байт кадром: один стартовый бит (низкий уровень), биты данных, необязательный бит чётности и один или два стоповых бита (высокий уровень). Скорость в бодах — это число бит в секунду, поэтому один бит длится Tb = 1/baud, а кадр из n бит длится n/baud. В распространённом формате 8N1 на байт приходится 10 бит. Генератор бодов делит тактовую частоту: baud = fclk/(16·D) с целым D, поэтому реальная скорость в бодах немного отличается от заданной; погрешность меньше примерно 2 % обычно допустима.