Контроллер приема асинхронного последовательного интерфейса

Назначение и состав

Аппаратная реализация регистров: D- и RS-триггеры

Буферный регистр A1 и Сдвиговый регистр построены на базе D-триггеров. Они защёлкивают информацию со входа D строго по синхроимпульсам на входе C. Регистр состояния A2 — это RS-триггер, управляемый сигналами Set и Reset. Подробнее: RS- и D-Триггеры.

Контроллер принимает данные с одной асинхронной линии связи, аппаратно вырезает стартовые/стоповые биты и передаёт чистый байт процессору. Использует принцип деления частоты для центровки момента считывания, чтобы избежать влияния помех и рассинхронизации.

Основные элементы: буфер А1 и триггер А2, Сдвиговый регистр, Тактовый генератор (ТГ), Делитель на 16 и Счётчик по модулю 9.

Алгоритм работы (прием)

  1. Ожидание: Изначально на линии «Данные от ВУ» висит логическая 1 (режим простоя), которая блокирует работу делителя частоты.
  2. Ловля стартового бита: Как только напряжение на линии падает до 0 (пришёл стартовый бит), блокировка с делителя снимается. Он начинает считать такты ТГ.
  3. Центровка (защита от помех): Досчитав до 8 (ровно середина стартового бита), контроллер проверяет линию. Если там всё ещё 0, стартовый бит считается истинным. Делитель сбрасывается и начинает отсчитывать полные циклы по 16 тактов.
  4. Сдвиг данных: Ровно через каждые 16 тактов (в геометрическом центре каждого бита) значение с линии защёлкивается и вдвигается в Сдвиговый регистр.
  5. Окончание приема: С каждым вдвинутым битом Счётчик по модулю 9 (отсчитывающий 1 стартовый + 8 информационных битов) увеличивается. Досчитав до 9, он выдает сигнал, по которому:
    • Чистые 8 бит данных параллельно перегружаются из Сдвигового регистра в буфер А1.
    • Триггер состояния А2 устанавливается в 1.
    • Блокируется работа делителя до прихода нового стартового бита.
  6. Чтение процессором: Процессор видит А2 = 1, подаёт команду “Ввод”, забирает байт из А1, и аппаратура автоматически сбрасывает А2 в 0. Контроллер готов к приему нового кадра.

Рис. 1: Контроллер приема асинхронного последовательного интерфейса