Синхронные последовательные интерфейсы. Контроллеры последовательной передачи и приема
Синхронные последовательные интерфейсы
При последовательной передаче биты слова передаются друг за другом по одному информационному проводу.
В синхронном интерфейсе для тактирования используется дополнительная линия связи — «Синхроимпульсы». По ней передатчик отправляет тактовые импульсы, которые чётко указывают приёмнику моменты, когда нужно считывать очередной бит с линии данных.
- Плюсы: Высокая помехозащищенность, большая дальность передачи, экономия проводов по сравнению с параллельным интерфейсом. Элементарная логика приёмника (не нужно угадывать тайминги).
- Минусы: Наличие лишнего провода для синхроимпульсов, ну и, разумеется, гораздо ниже скорость относительно параллельного интерфейса (в
Xраз медленнее, гдеX- кол-во разрядов в слове передачи).
Контроллер последовательной передачи (Вывод)
Аппаратная реализация регистров: D- и RS-триггеры
Во всех последовательных контроллерах буферные регистры
A1и Сдвиговые регистры строятся на базе D-триггеров. Они запоминают информацию строго в моменты поступления синхроимпульсов на входC. А регистр состоянияA2— это RS-триггер, меняющий состояние по асинхронным сигналамSetиReset. Подробнее: RS- и D-Триггеры.
Переводит данные из параллельного формата (от процессора) в последовательный (в линию связи).
Алгоритм работы:
- Процессор записывает передаваемый байт в буферный регистр
А1. Регистр состоянияА2устанавливается в1(контроллер занят). - Данные параллельно (целиком) перегружаются из буфера
А1в Сдвиговый регистр. - Запускается тактовый генератор (ТГ). По каждому его такту Сдвиговый регистр выталкивает (сдвигает) один бит в линию «Данные», а ТГ отправляет импульс в линию «Синхроимпульсы».
- Специальный счётчик считает переданные биты. Как только передано 8 бит (целый байт), регистр
А2сбрасывается в0, сигнализируя процессору о готовности к передаче следующего байта.
Рис. 1: Контроллер передачи синхронного последовательного интерфейса
Счётчик на картинке — это как раз тот паравозик из 3-х квадратиков. Для хранения числа битов, которое от 0 до 7, понадобится в 2-СС как раз 3 бита.
Контроллер последовательного приема (Ввод)
Собирает последовательные биты с линии связи обратно в параллельный байт.
Алгоритм работы:
- От внешнего устройства начинают поступать биты по линии «Данные» и тактовые импульсы по линии «Синхроимпульсы».
- По каждому пришедшему синхроимпульсу Сдвиговый регистр втягивает в себя очередной бит с линии данных.
- Счётчик импульсов отсчитывает 8 тактов. Как только принят полный байт, он параллельно перегружается из сдвигового регистра в буферный регистр
А1. - Регистр состояния
А2устанавливается в1. Процессор замечает это, считывает готовый байт изА1и сбрасываетА2в0.
Рис. 2: Контроллер приема синхронного последовательного интерфейса