Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS_2015.docx
Скачиваний:
442
Добавлен:
11.05.2015
Размер:
2.07 Mб
Скачать

51.Организация последовательной передачи данных.

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

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

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

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

Восьмиразрядный буферный регистр контроллера DXR служит для временного хранения байта данных до его загрузки в сдвиговый регистр. Запись байта данных в буферный регистр из шины данных системной магистрали производится так же, как и в параллельном интерфейсе,только при наличии единицы в одноразрядном адресуемом регистре состояния контроллера SR. Единица в регистре состояния указывает на готовность контроллера принять очередной байт в буферный регистр. При записи очередного байта в буферный регистр DXR обнуляется регистр состояния SR.

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

Количество переданных в линию бит информации подсчитывается счетчиком. Как только содержимое счетчика становится равным 7, т.е. в линию переданы 8 бит (один байт) информации, формируется управляющий сигнал Загрузка, обеспечивающий запись в сдвиговый регистр очередного байта избуферного регистра. Этим же управляющим сигналомустанавливается в 1 регистр состояния. Очередным тактовым импульсом счетчикбудет сброшен в 0, и начнется очередной цикл выдачи восьми битов информации из сдвигового регистра в линию связи.

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

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

Буферный регистр контроллера DRR служит для временного хранения байта данных, поступившего из сдвигового регистра. Чтение байта данных микропроцессором из буферного регистра производится так же, как и в параллельном интерфейсе. Единица в регистре состояния контроллера SR указывает на готовность контроллера передать очередной байт данных в системную магистраль.

Данные, поступающие из линии связи в последовательном коде, преобразуются в контроллере в параллельный код с помощью сдвигового регистра и трехразрядного двоичного счетчика тактовых импульсов. Входная последовательная линия связи Данные подключается в контроллере к последовательному входу сдвигового регистра, а входная линия Синхронизация – науправляющий вход Сдвиг сдвигового регистра и на вход счетчика тактовых импульсов. По очередному тактовому сигналу, поступившему от синхрогенератора ПУ по линии Синхронизация, производятся сдвиг содержимого сдвигового регистра на один разряд влево и запись очередного бита данных из линии связи Данные в младший разряд этого регистра. Одновременно увеличивается на единицу содержимое счетчика тактовых импульсов.Как только содержимое счетчика становится равным 7, т.е. в сдвиговый регистр приняты последовательно восемь битов информации, формируется управляющий сигнал Запись, который обеспечивает запись в буферный регистр очередного принятого байтаиз сдвигового регистра. Этим жеуправляющим сигналом устанавливается в 1 регистр состояния.

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

Асинхронная последовательная передача данных

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

Рисунок 81 – Форматкадра при асинхронном последовательном обмене

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

Процесс передачи байта данных начинается с того, что процессор по команде выводазаписывает передаваемый байт в буферный регистр DXR. Одновременно с этим происходит сброс регистра состояния, что снимает блокировку с делителя частоты. Делитель частоты начинает подсчитывать импульсы генератора тактовой частоты и в момент приема шестнадцатого тактового импульса вырабатывает импульс сдвига. При этом на выходную линию контроллера Данные выдается значение стопового бита (состояние 1). Импульс сдвигаизменитсостояние счетчика импульсов сдвигана 0 и сформируется сигнал Загрузка. Передаваемый байт переписывается в разряды 1, …, 8 сдвигового регистра, при этом в нулевой разряд сдвигового регистра записывается 0 (стартовый бит), а в разряды 9 и 10 – единицы (стоповыебиты). На выходной линии контроллера Данные появится состояние 0 (значение стартового бита),которое будет поддерживаться до тех пор, пока не будет выработан очередной импульс сдвига.

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

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

Действительно, после приема предыдущего байта данных счетчик импульсов сдвига (счетчик по mod 9) находится в нулевом состоянии и на схему И поступают два единичных сигнала: со счетчика сдвигов и из линии «Данные». На выходе схемы И формируется сигнал блокировки делителя частоты тактового генератора, запрещающий формирование импульсов сдвига.

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

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

  • содержимое сдвигового регистра перепишется в буферный регистр;

  • в регистр состояния запишется 1, и он будет информировать процессор об окончании приема очередного байта;

  • схема И подготовится к выработке сигнала блокировки делителя частоты, который сформируется послеприхода первого стопового бита.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]