Асинхронные последовательные интерфейсы.
Организация асинхронного последовательного обмена данными с ВУ осложняется тем, что на передающей и приемной стороне последовательной линии связи используются настроенные на одну частоту, но физически разные генераторы тактовых импульсов и, следовательно, общая синхронизация отсутствует. Рассмотрим им примерах организацию контроллеров последовательных интерфейсов для последовательных асинхронных передачи и приема данных.
Простейший контроллер для асинхронной передачи данных и ВУ по по-следовательной линии связи представлен на рис. 8.10. Он предназначен для передачи данных в формате с двумя стоповыми битами.
После передачи очередного байта данных в регистр состояния А2 за-писывается 1. Единичный выходной сигнал регистра Л2информирует процес сор о готовности контроллера к приему следующего байта данных и пере-даче его по линии связи в ВУ. Этот же сигнал запрещает формировани импульсов со схемы выработки импульсов сдвига — делителя частоты сиг-налов тактового генератора на 16. Счетчик импульсов сдвига (счетчик nmod 10) находится в нулевом состоянии, и его единичный выходной сигнал поступает на вентильИ, подготавливая цепь выработки сигнала загрузи сдвигового регистра.
Процесс передачи байта данных начинается с того, что процессор, выпол-няя команду «Вывод» (см. пример 8.1), выставляет этот байт на шине дан-ных. Одновременно процессор формирует управляющий сигнал системного интерфейса «Вывод», по которому производятся запись передаваемого байта в буферный регистр Л1, сброс регистра состояния А2 и формирование на вентилеИсигнала «Загрузка». Передаваемый байт переписывается разряды 1, ... , 8 сдвигового регистра, в нулевой разряд сдвигового регистр записывается 0 (стартовый бит), а в разряды 9 и 10 — 1 (стоповые биты) Кроме того, снимается сигнал «Сброс» с делителя частоты, он начинает на-капливать импульсы генератора тактовой частоты и в момент приема шест-надцатого тактового импульса вырабатывает импульс сдвига.
|
|
На выходной линии контроллера «Данные» поддерживается состоя-ние 0 (значение стартового бита) до тех пор, пока не будет выработан первый импульс сдвига. Импульс сдвига изменит состояние счетчика импульсов сдвига и перепишет в нулевой разряд сдвигового регистра первый инфор-мационный бит передаваемого байта данных. Состояние, соответствующее значению этого бита, будет поддерживаться на линии «Данные» до следующего импульса сдвига.
Аналогично будут переданы остальные информационные биты, первый стоповый бит и, наконец, второй столовый бит, при передаче которого счетчик импульсов сдвига снова установится в нулевое состояние. Это приведет к записи 1 в регистр состояния А2. Единичный сигнал с выхода регистра А2запретит формирование импульсов сдвига, а также информирует процессор о готовности к приему нового байта данных. После завершения передачи очередного кадра (стартового бита, информационного байта и двух стопо-вых битов) контроллер поддерживает в линии связи уровень логической единины (значение второго стопового бита).
|
|
Уровень логической единицы поступает по линии «Данные» в контроллер тля асинхронного приема данных (рис. 8.11). Этот уровень создает условия для выработки сигнала, запрещающего работу делителя частоты генератора тактовых импульсов. Действительно, после приема предыдущего байта данных счетчик импульсов сдвига (счетчик по тог] 9) находится в нулевом состоянии и на вентильИпоступают два единичных сигнала: со счетчика сдвшов и из линии «Данные». На выходе вентиляИвырабатывается сигнал сброса делителя частоты сигналов тактового генератора, запрещающий формирование импульсов сдвига.
В момент смены стопового бита на стартовый бит (момент начала передачи нового кадра) на линии «Данные» появится уровень логического нуля и тем самым снят сигнал сброса с делителя частоты. Состояние 4-разряд ного двоичного счетчика (делителя частоты) начнет изменяться. Когда на счетчике накопится значение 8, он выдаст сигнал, поступающий на входы сдвигового регистра и счетчика импульсов сдвига. Так как частота сигналов генератора тактовых импульсов приемника должна совпадать с частотой генератора тактовых импульсов передатчика, то сдвиг (считывание) бита произойдет примерно на середине временного интервала, отведенного на передачу бита данных, т. е. времени, необходимого для выработки шестнадцати тактовых импульсов. Это делается для уменьшения вероятности ошибки из-за возможного различия частот генераторов передатчика и приемника, искажения формы передаваемых сигналов (переходные процессы) и т. п. Следующий сдвиг произойдет после прохождения шестнадцати тактовых импульсов, т. е. на середине временного интервала передачи первого информационного бита.
|
|
При приеме в сдвиговый регистр девятого бита кадра (восьмого информационного бита) из него «выдвинется» стартовый бит и, следовательно, в сдвиговом регистре будет размещен весь принятый байт информации. В этот момент счетчик импульсов сдвига придет в нулевое состояние и на его выходе будет выработан единичный сигнал, по которому:
|
|
содержимое сдвигового регистра перепишется в буферный регистр;
в регистр состояния А2запишется 1 и он будет информировать процессор об окончании приема очередного байта;
вентильИподготовится к выработке сигнала «Сброс» (этот сигнал сформируется после прихода первого стопового бита).
Получив сигнал готовности (1 в регистре А2), процессор выполнит команду «Ввод» (см. пример 8.2). При этом вырабатывается управляющий сигнал системного интерфейса «Ввод», по которому производятся пересылка принятого байта данных из буферного регистра в процессор (сигнал «Чтение») и сброс регистра состояния А2.
Отметим, что для простоты изложения в контроллере на рис. 8.11не показаны схемы контроля стоповых битов принимаемого кадра. Не показаны также схемы контроля четности или нечетности (паритета) передаваемой информации (обычно в передаваемом байте восьмому биту придается значение 0 или 1 так, чтобы в этом байте было четное количество единиц), В реальных контроллерах имеются такие схемы, и если контроллер не принимает из линии связи нужного количества стоповых битов или вырабатывается сигнал ошибки паритета в схеме контроля четности, то принятые в текущем кадре биты данных игнорируются и контроллер ожидает поступления нового стартового бита.
Обмен данными с ВУ по последовательным линиям связи широко используется в современных микроЭВМ, особенно в тех случаях, когда не требуется высокой скорости обмена. Вместе с тем применение в микроЭВМ последовательных линий связи с ВУ обусловлено двумя важными причинами. Во-первых, последовательные линии связи просты по своей организации: два провода при симплексной и полудуплексной передаче или четыре — при дуплексной. Во-вторых, в микроЭВМ широко используются ВУ, обмен С которыми необходимо вести в последовательном коде.
В современных микроЭВМ применяют, как правило, универсальные контроллеры для последовательного обмена, т. е. обеспечивающие как синхронный, так и асинхронный режим обмена данными с ВУ. Примером такого контроллера может служить «Устройство последовательного обмена из состава модулей микроЭВМ типа «Электроника-60». Большое распростра-нение получили и БИС универсальные приемопередатчики для последова-тельного обмена данными. Типичным примером такой БИС появляется БИС КР580ВВ51
Дата добавления: 2022-01-22; просмотров: 20; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!