Синхронные последовательные интерфейсы. Контроллеры последовательной передачи и приема

Синхронные последовательные интерфейсы

При последовательной передаче биты слова передаются друг за другом по одному информационному проводу.

В синхронном интерфейсе для тактирования используется дополнительная линия связи — «Синхроимпульсы». По ней передатчик отправляет тактовые импульсы, которые чётко указывают приёмнику моменты, когда нужно считывать очередной бит с линии данных.

  • Плюсы: Высокая помехозащищенность, большая дальность передачи, экономия проводов по сравнению с параллельным интерфейсом. Элементарная логика приёмника (не нужно угадывать тайминги).
  • Минусы: Наличие лишнего провода для синхроимпульсов, ну и, разумеется, гораздо ниже скорость относительно параллельного интерфейса (в X раз медленнее, где X - кол-во разрядов в слове передачи).

Контроллер последовательной передачи (Вывод)

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

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

Переводит данные из параллельного формата (от процессора) в последовательный (в линию связи).

Алгоритм работы:

  1. Процессор записывает передаваемый байт в буферный регистр А1. Регистр состояния А2 устанавливается в 1 (контроллер занят).
  2. Данные параллельно (целиком) перегружаются из буфера А1 в Сдвиговый регистр.
  3. Запускается тактовый генератор (ТГ). По каждому его такту Сдвиговый регистр выталкивает (сдвигает) один бит в линию «Данные», а ТГ отправляет импульс в линию «Синхроимпульсы».
  4. Специальный счётчик считает переданные биты. Как только передано 8 бит (целый байт), регистр А2 сбрасывается в 0, сигнализируя процессору о готовности к передаче следующего байта.

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

Счётчик на картинке — это как раз тот паравозик из 3-х квадратиков. Для хранения числа битов, которое от 0 до 7, понадобится в 2-СС как раз 3 бита.

Контроллер последовательного приема (Ввод)

Собирает последовательные биты с линии связи обратно в параллельный байт.

Алгоритм работы:

  1. От внешнего устройства начинают поступать биты по линии «Данные» и тактовые импульсы по линии «Синхроимпульсы».
  2. По каждому пришедшему синхроимпульсу Сдвиговый регистр втягивает в себя очередной бит с линии данных.
  3. Счётчик импульсов отсчитывает 8 тактов. Как только принят полный байт, он параллельно перегружается из сдвигового регистра в буферный регистр А1.
  4. Регистр состояния А2 устанавливается в 1. Процессор замечает это, считывает готовый байт из А1 и сбрасывает А2 в 0.

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