Последовательная асинхронная передача данных
Суть асинхронного принципа управления состоит в независимой (полностью или частично) работе (по времени) передатчика и приемника, управляемой регулярной последовательностью сигналов синхронизации при реализации функций обмена и обработки информации.
Наибольшее применение получили стартстопные принципы синхронизации по битам и знакам. Суть стартстопного принципа управления состоит в том, что стартовый импульс в сообщении запускает местный синхрогенератор приемника, который работает на частоте передатчика, и линия стробируется в соответствии с частотой местного синхронизатора, а стоповый импульс в сообщении останавливает синхрогенератор.
Передача данных осуществляется порциями (кадрами). Начало и конец каждой порции информации отмечаются специальными метками.
Стандартный формат кадра последовательной асинхронной передачи данных изображен на рис. 2.1.
Уровень логической единицы в линии называют маркером, уровень логического нуля - пробелом. При отсутствии данных в линии действует сигнал маркера. Передача кадра начинается с посылки стартового бита пробела. После этого передаются биты данных, число которых в кадре может устанавливаться от 5 до 8. За битами данных может следовать бит паритета, который также называется битом контроля четности (или нечетности). Этот бит выбирается в каждом кадре данных таким образом, чтобы общее число единиц в битах данных и бите паритета было четным (или нечетным). Кадр заканчивается стоп-битом, имеющим уровень маркера. Может устанавливаться один, полтора или два стоповых бита. После этого в линии может поддерживаться состояние отсутствия данных (уровень маркера) либо начинаться следующий кадр (стартовым битом пробела).
Рис. 15.1 - Формат кадра при асинхронной последовательной передаче
Сигналы в линии могут иметь различное представление. При передаче на небольшое расстояние в линии действуют уровни напряжения 312 В. При расстояниях до 1-1,5 км используют токовую петлю - импульсы постоянного тока значением 20 мА, передаваемые по витой паре или кабелю. Асинхронная связь постоянным током (токовая петля) по четырехпроводной дуплексной линии носит название радиального последовательного интерфейса (ИРПС).
При передаче информации по телефонным линиям через модемы, уровни напряжения преобразуют в посылки (пачки) синусоидальных сигналов. Сигналу маркера соответствует частота (тон) 1270 Гц, сигналу пробела - 1070 Гц. Для дуплексной связи по одной и той же телефонной линии используют две пары частот, например 1270...1070 Гц и 2225...2025 Гц. Частота 2225 Гц служит для передачи в обратном направлении сигнала маркера, частота 2025 Гц - сигнал пробела.
Структура линии связи электронного оборудования источника информации с удаленной ЭВМ изображена на рис. 2.2.
Рис. 15.2 - Структура линии связи при последовательной передаче данных
Электронное оборудование (ЭО) должно быть снабжено последовательным интерфейсом (ПИ), преобразующим параллельный код, поступающий из ЭО, в последовательный в соответствии с описанным выше стандартным форматом. Преобразование сигналов напряжения, действующих на выходе ПИ, в сигналы телефонного тона осуществляется специальным устройством - модемом. Для управления модемом (подключения модема к линии, включения тона, передачи данных, контроля состояния модема) предусматриваются соответствующие стандартные сигналы. Совокупность линий для передачи этих сигналов образует стык С2, широко используемый в вычислительных системах.
Подключение телефонной линии к ЭВМ осуществляется через второй модем, преобразующий телефонные посылки в уровни напряжения стыка С2, и последовательный интерфейс, называемый часто адаптером дистанционной связи (АДС) или устройством последовательного обмена (УПО), который является связующим звеном между стыком С2 и системным интерфейсом ЭВМ. Следует отметить, что из трех изображенных на рис. 2.2. элементов линии связи - АДС, модема и ПИ - два первых относятся к числу стандартных устройств, включаемых в состав вычислительных систем (АДС) либо выпускаемых промышленностью как самостоятельные изделия (модемы). Что же касается последовательного интерфейса, то, поскольку его конструкция в какой-то степени определяется назначением и характеристиками подключаемого к нему электронного оборудования, его надо разрабатывать для каждого конкретного применения. Разработка ПИ облегчается тем, что основные функциональные узлы интерфейса выпускаются в виде интегральных микросхем.
Описанная структура связи (с преобразованием в частотный телефонный сигнал) применяется только в тех случаях, когда расстояние между ЭО и ЭВМ весьма велико - более 1,5...2 км. При меньших расстояниях необходимость в использовании модемов отпадает, и связь ПИ и АДС осуществляется по двухпроводной линии с помощью токовой петли. Стандартные АДС часто имеют два выхода: на стык С2 (аналог RS-232) и токовую петлю.
Рассмотрим структуру адаптера дистанционной связи (рис. 2.3). Он включает в себя узлы связи с системным интерфейсом ЭВМ, универсальный асинхронный приемопередатчик (УАПП) и узлы согласования, осуществляющие, в частности, преобразование ТТЛ-уровней в уровни стыка С2. Узлы связи с системным интерфейсом (дешифратор адреса, модуль управления прерываниями и пр.) обеспечивают протокол системной магистрали при передаче данных между ЦП и интерфейсом.
Рис. 15.3 - Структура адаптера дистанционной связи
Наиболее специфической частью АПД является УАПП, упрощенная структурная схема которого приведена на рис. 2.4.
Асинхронный приемопередатчик состоит из трех секций: передачи, управления и приема. Секция передачи служит для преобразования данных из параллельной формы в последовательную. Байт данных поступает из ЭВМ (по команде программы) в параллельной форме в регистр данных РД передатчика. После завершения передачи в линию предыдущего байта и освобождения выходного регистра байт данных переносится (также параллельно) в выходной сдвиговый регистр. Здесь к нему добавляются служебные биты: стартовый, стоповый и паритета. Полученное таким образом содержимое кадра многократно сдвигается в сторону младших битов, в результате чего на выходе концевого триггера регистра, связанного с передающей линией, последовательно появляются значения всех битов кадра. Пока биты данных передаются в линию, в РД передатчика может загружаться из ЭВМ следующая порция информации.
Рис. 15.4 - Структура УАПП
Секция приема работает аналогично. Биты, поступающие из линии, вдвигаются во входной сдвиговый регистр. После получения всего кадра из него убираются служебные биты и оставшаяся информационная часть переносится параллельно в РД приемника, откуда по команде программы данные принимаются в ЭВМ. Пока происходит пересылка данных в ЭВМ, входной сдвиговый регистр может принимать следующую порцию (кадр) данных.
В секции управления имеются регистры команд и состояний (РКС) (обычно два), с помощью которых программно устанавливаются характеристики УАПП: скорость передачи, число информационных битов, наличие и вид паритета и т.д. Кроме того, отдельные разряды РКС (или иногда дополнительные разряды РД) фиксируют ошибки приема данных, например получения в РД приемника следующего байта данных до считывания в ЭВМ предыдущего (ошибка наложения или переполнения).
Тактовый генератор, входящий в состав УАПП, определяет частоту сдвига в сдвиговых регистрах и тем самым скорость передачи и приема данных. Очевидно, что передача и прием в конкретной линии должны вестись с одной скоростью.
Если АДС работает на токовую петлю, функции узла согласования ограничиваются преобразованием уровней напряжения, действующих на выходе УАПП, в токовые посылки. Если же АДС предназначен для подсоединения к модему либо другой аппаратуре с выходом на стык С2, узел согласования должен вырабатывать и воспринимать ряд управляющих сигналов. Число этих сигналов определяется функциональными возможностями АДС.
В простейшем случае из нескольких десятков сигналов, предусмотренных стандартом на стык С2, используются следующие:
- цепь 108: подключить АПД к линии (сигнал вырабатывается по команде ЭВМ, говорит о готовности ЭВМ передавать данные и требует подключения модема к линии);
- цепь 107: АПД готова (сигнал вырабатывается модемом в ответ на сигнал 108 и говорит о том, что модем подключен к линии связи и готов взаимодействовать с ЭВМ);
- цепь 105: запрос передачи (модем, получив от ЭВМ этот сигнал, включает сигнал маркера и информирует тем самым удаленный модем о начале сеанса связи);
- цепь 106: готов к передаче (сигнал вырабатывается модемом в ответ на сигнал 105 и говорит о готовности модема принимать данные);
- цепь 103: передаваемые данные;
- цепь 104: принимаемые данные;
- цепь 109: детектор принимаемого сигнала (этим сигналом приемный модем сообщает АДС об обнаружении на линии несущей частоты - сигнала маркера).
Адаптер дистанционной связи с модемом или без него (в зависимости от длины линии связи) может использоваться для подключения к ЭВМ терминального оборудования, а также связи двух ЭВМ с целью организации двухпроцессорной вычислительной системы. При этом, если обе ЭВМ имеют выход на стык С2, их можно связать через нуль-модем, представляющий собой два разъема стыков С2 с перемычками, соединяющими ответные цепи: цепь 103 с цепью 104, цепь 105 с цепью 106 и т.д. Естественно, на обеих ЭВМ должны быть активизированы программы приема-передачи данных. Часто электронное оборудование, предназначенное для использования в автоматизированных системах, имеет выход на стык С2. Это дает возможность подключения такого оборудования к ЭВМ через стандартный последовательный интерфейс.