Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект II частина.doc
Скачиваний:
38
Добавлен:
17.03.2016
Размер:
534.02 Кб
Скачать

5.5. Последовательный ввод/вывод

Передача данных между МП и устройствами ввода/вывода или внешними ЗУ часто осуществляется в последовательном режиме. В общем случае передача в последовательном режиме происходит по одной линии, причем биты, составляющие слово, передаются друг за другом.

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

Часто необходимо, чтобы на одном или обоих концах последовательного канала данные представлялись в параллельной форме. В этом случае предусматриваются средства преобразования данных из одной формы в другую. Для этого используют сдвиговые регистры. Для преобразования из параллельной формы в последовательную данные сначала параллельно загружаются в сдвиговый регистр. После этого они многократно сдвигаются в одну или другую сторону, в результате чего на выходе одного из концевых триггеров последовательно появляются значения всех битов. Для обратного преобразования линия, в которой появляются последовательные данные, подключается к одному из концов сдвигового регистра, и сдвиговый регистр сдвигается столько раз, сколько битов в слове данных. После этого все биты слова можно получать в параллельной форме на выходах триггеров регистра.

Различают два основных способа передачи данных через последовательный канал: синхронный и асинхронный. При синхронной передаче данных должна существовать общая для источника и получателя линия синхросигналов, импульсы на которой служат для выделения индивидуальных битов в канале. Как источник, так и получатель интерпретируют один и тот же синхроимпульс как указание на наличие в канале очередного бита. Поэтому для работы с синхронным последовательным каналом не требуется точно привязываться к абсолютному времени.

При асинхронном способе источник и получатель не имеют общей синхролинии. В этом случае они должны точно отмерять время появления каждого бита относительно начала слова. Для этого источник должен помечать начало слова так, чтобы получатель мог его распознать.

Синхронная передача

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

а)

б)

Рис.5.18. Синхронный последовательный канал передачи данных

7 битов вводимой информации поступает на D0 –D6,RG. Генератор четности по этим семи информационным битам формирует значение контрольного бита и подает его на вход восьмого триггера в регистре. Построен генератор четности на элементах неравнозначности.

B

A

F

0

0

0

0

1

1

1

0

1

1

1

0

Рис.5.19. Принцип построения генератора четности.

Сигнал 1 появится на выходе генератора четности, только в том случае, когда число единиц на входах D0 –D6 регистра нечетное. Поэтому в суммеD0 –D7 передаваемого байта число единиц всегда четное. При сбоях в КС при передаче может либо добавиться, либо потеряться одна единичка, что будет сразу же замечено схемой контроля четности у получателя.

Генератор импульсов синхронизирует работу как на стороне источника, так и на стороне получателя. На стороне источника установлен трехбитовый счетчик, ведущий счет импульсов синхронизации по модулю 8. Состояние 7 на счетчике вызывает появление стробирующего сигнала "загрузка" по очередному синхроимпульсу. По этому сигналу происходит загрузка сдвигового регистра источника очередным словом, представленным в параллельной форме на его входах.

Во всех состояниях счетчика, отличных от 7, синхроимпульсы поступают на линию «сдвиг» регистра. Таким образом происходит последовательная выдача восьми битов в линию данных канала. Бит D7 попадает в канал сразу после загрузки сдвигового регистра при нулевом состоянии счетчика.D0 подается в канал после седьмого импульса сдвига.

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

Так же как и на стороне источника, на стороне получателя есть трехбитовый счетчик, считающий синхроимпульсы по модулю 8. Счетчики с обеих сторон должны перед началом передачи быть одновременно сброшены. Поэтому они считают согласовано. Каждый раз, когда счетчик получателя достигает до нуля, формируется сигнал «слово получено», означающий, что очередное слово находится на выходах сдвигового регистра. Схема контроля четности в получателе формирует сигнал ошибки, если получено слово с неправильной четностью.

Асинхронная передача

При асинхронной передаче общая синхролиния между источником и получателем, выделяющая моменты передачи отдельных битов, отсутствует, и передача слова может начаться в произвольный момент времени. Для обеспечения синхронизации к каждому передаваемому слову добавляется стартовый и стоповый бит. Пока по каналу нет передачи слов, он находится в состоянии логической единицы. Стоповому биту, завершающему слово, соответствует такое же значение 1. Тогда стартовому биту, начинающему слово, соответствует противоположное, нулевое значение. Таким образом, передний фронт стартового бита всегда вызывает переход состояния из 1 в 0 и может быть распознан получателем. Передний фронт стартового бита используется в получателе и как признак начала слова, и как начало отсчета времени для определения моментов прихода отдельных битов в слове.

Рис.5.20. Порядок асинхронной передачи слова в канале связи для:

а) 8-битового слова;

б) 5-битового телеграфного кода

При асинхронной передаче источник и получатель синхронизируются от физически разных генераторов. Они должны быть настроены на как можно более близкие частоты. Если эти частоты будут отличаться, то при передаче слова будет наблюдаться постепенный уход моментов срабатывания схем в получателе от середины интервалов, в которых передаются отдельные биты. От переднего фронта стартового бита синхронизации схемы в получателе не должно уходить более чем на половину интервала ко времени приема последнего (10-го или 8-го) бита. Это означает, что различие в частотах не должно превышать 5%.

Для подключения к каналу, соединяющему источник с получателем, часто используются интерфейсные схемы, преобразующие электрические сигналы в нужную форму. Для двунаправленных асинхронных каналов между терминалами и ЭВМ наиболее часто применяются интерфейсные схемы двух стандартных типов. В одной, предназначенной для телетайпов и подобных им устройств, логическая 1 кодируется током 20 мА, а логический 0 – отсутствием тока. В другой, входящей в стандарт EIA RS232, логическая 1 кодируется напряжением -12В, а логический 0 – напряжением +12В.

Для асинхронных каналов с большой протяженностью типа телефонных линий или внешних запоминающих устройств типа магнитных лент применяются модуляторы и демодуляторы различных типов. В частности, существуют модули, называемые модемами, содержание модулятор и демодулятор для частотного кодирования данных при работе с телефонными каналами. В таких модемах для передачи в каждом направлении используется своя полоса частот, поэтому одного телефонного канала достаточно для работы в обоих направлениях.

В одной полосе 1 обычно кодируется частотой 1270 Гц, а 0 – 1070 Гц. В другой полосе единице соответствует частота 2225 Гц, а нулю – 2025 Гц. Модемы устанавливаются на обоих концах двунаправленного канала. С помощью тех же модемов можно асинхронно записывать данные на обычный магнитофон для записи звука, поскольку указанные выше частоты лежат в звуковой полосе.

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

а) При передаче данных в КС.

б) При записи, чтении данных с магнитной ленты.