ИНТЕРФЕЙСЫ МОДЕМОВ
1. Интерфейс RS-232 (V. 24/V. 28)
1. 1. Общие сведения
Последовательные интерфейсы и, в частности, наиболее популярный их них интерфейс RS-232 нашел широкое применение в модемах. Этот стандарт соединения оборудования был разработан в'1969 г. рядом крупных промышленных корпораций и опубликован Ассоциацией электронной промышленности США (Electronic Industries Association — EIA) как вариант "С" рекомендуемого стандарта (Recommended Standard — RS) номер 232. RS-232 разработан как стандарт для соединения компьютеров и различных последовательных периферийных устройств.' Международный союз электросвязи ITU-T использует аналогичные рекомендации под названием V.24 и V.28. Министерство обороны США выпустило практически идентичный стандарт Mil-Std-188C. В нашей стране подобный стандарт введен ГОСТ 18145-81.
Модификация "D" RS-232 была принята в 1987 г. В ней определены некоторые дополнительные линии тестирования, а также в качестве наиболее предпочтительного соединителя для рассматриваемого интерфейса рекомендован разъем типа DB-25.
Самой последней модификацией является модификация "Е", принятая в июле 1991г. как стандарт EIA/TIA-232E. В данном варианте нет никаких технических изменений, которые могли бы привести к проблемам совместимости с предыдущими вариантами этого стандарта. Материал данной главы основан на спецификациях, устанавливаемых стандартом EIA/TIA-232E.
Рекомендация V.24 содержит описание линий и набора сигналов обмена между DTE и DCE. В RS-232 используются другие обозначения линий, однако линии интерфейса RS-232 и рекомендации V.24 выполняют совершенно одинаковые функции. V.24 определяет большее количество линий, чем RS-232, поскольку стандарт V.24 используется и в других интерфейсах. В этом смысле RS-232 является подмножеством V.24. Рекомендация V.24 не определяет электрические характеристики (см. V.28) или другие физические аспекты реализации, такие как тип разъема, расположение контактов, длина кабеля и скорость обмена. Технические вопросы реализации интерфейса подробно изложены в стандарте V.28.
Рекомендация V.28 определяет только электрические характеристики интерфейса V.24, обеспечивающего работу по несимметричным двухполярным линиям обмена на скоростях до 20 Кбит/с. К таким характеристикам относятся уровни используемых сигналов, емкостное сопротивление и т.д. Данная рекомендация не содержит требований к длине кабеля, типу разъемов и расположению их контактов. Поэтому рекомендация V.28 может рассматриваться как подмножество стандарта RS-232.
Стандарт RS-232 в общем случае описывает четыре интерфейсные функции:
> определение управляющих сигналов через интерфейс;
> определение формата данных пользователя, передаваемых через интерфейс;
> передачу тактовых сигналов для синхронизации потока данных;
> формирование электрических характеристик интерфейса.
3.1.2. Сигналы интерфейса RS-232
Интерфейс RS-232 является последовательным асинхронным интерфейсом. Последовательная передача означает, что данные передаются по единственной линии. Для синхронизации битам данных предшествует специальный стартовый бит, после битов данных следует бит паритета и один или два стоповых бита. Такая группа битов совместно со стартовым и стоповым битом, а также битом паритета носит название старт-стопного символа.
Каждый старт-стопный символ, как правило, содержит один информационный символ, например символ американского стандартного кода для обмена информацией ASCII (American Standard Code for Information Interchange). Символы ASCII представляются семью битами. Так например, латинская буква А имеет код 1000001. Для передачи символов по интерфейсу RS-232 наибольшее распространение получил формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Соответствующий сигнал с уровнями ТТЛ при передаче буквы А показан на рис. 3.1, а. Начало асинхронного символа всегда отмечает низкий уровень стартового бита. После него следуют 7 бит данных символа кода ASCII. Бит паритета устанавливается в "1" или "О" так, чтобы общее число единиц в 8-ми битной группе было нечетным (нечетный паритет — нечетность) или четным (четный паритет — четность). Последними передаются два стоповых бита, представленных высоким уровнем напряжения.
Рис. 3.1. Представление кода буквы А уровнями ТТЛ (а) и на сигнальных линиях интерфейса RS-232 (б)
Часто используются национальные расширения кода ASCII, который полностью включает в себя 128 стандартных ASCII-символов и дополнительно содержит еще 128 символов с единицей в старшем бите. Среди дополнительных символов используются буквы ряда европейских алфавитов, буквы греческого алфавита, математические символы и символы псевдографики. В России наибольшее распространение получила альтернативная кодировка ASCII. Число всех символов расширенного кода ASCII равно 256 и, следовательно, каждый такой символ кодируется восьмью битами (2 =256). Удобнее передавать каждый символ расширенной кодировки в виде отдельного старт-стопного символа. Поэтому часто используется формат, состоящий из одного стартового бита, восьми информационных и одного стопового бита. При этом бит паритета не используется.
Таким образом, полный асинхронно передаваемый символ данных состоит из 10—11 бит при том, что собственно пользовательские данные состоят из 7—8 бит. Для приведенного примера старт-стопный символ, соответствующий букве А, состоит из 11 бит и записывается в виде 01000001011. Здесь используется четный паритет, поэтому девятый бит содержит 0.
Используемые в интерфейсе RS-232 уровни сигналов отличаются от уровней сигналов, действующих в модеме или компьютере. Логический О (SPACE) представляется положительным напряжением в диапазоне от +3 до +25В, а логическая 1 (MARK) — отрицательным напряжением в диапазоне от —3 до —25В. На рис. 3.1, б показан асинхронный сигнал для буквы А в том виде, в каком он присутствует на линиях TxD или RxD интерфейса RS-232.
Каждая линия интерфейса задается своим функциональным описанием. Все линии обмена сигналами между DTE и DCE, определяемые стандартом RS-232, можно разбить на четыре основные группы. Это линии данных, управления, синхронизации и линии сигнальной и защитной "земли". Все эти линии перечислены в табл. 3.1. В табл. 3.1. также приведены соответствующие обозначения стандарта V.24. Кроме того, указано направление передачи сигналов между DTE и DCE. Ниже приведем описание всех линий интерфейса RS-232.
Сигнальная "земля" (АВ).
Эта линия является общим проводом для всех электрических цепей, образуемых линиями физического интерфейса. Стандарт рекомендует присоединять этот общий провод к защитной "земле" путем внутреннего соединения в DCE. Смысл такого соединения заключается в том, что корпуса устройств оказываются заземленными через штепсельную розетку.
Защитная "земля" (АД)
Эта линия присутствует только в интерфейсе с разъемом DB-25 и предполагает соединение с корпусом устройства.
Передаваемые данные (ВА)
Сигналы, которые присутствуют на этой линии, вырабатываются местным (локальным) DTE для передачи местному DCE. Посылаемые сигналы могут быть кодами команд, управляющих работой местного DCE (АТ-команды или другие), или данными, которые местное DCE должно передать удаленному DCE-устройству.
Если DTE не передает данные, то оно удерживает эту линию в состоянии логической 1 (MARK). Это свойство можно использовать для того, чтобы отличить DTE от DCE. Согласно стандарта DTE не будет передавать данные до тех пор,, пока управляющие линии "Запрос передатчика", "Сброс передатчика", "Готовность DCE" и "Готовность DTE" не будут находится одновременно в активном (ON) состоянии.
Независимо от того, относится ли данное устройство к DTE или DCE, рассматриваемая линия всегда называется одинаково: "Передаваемые данные". Это выходная линия для DTE и входная для DCE.
Принимаемые данные (ВВ)
Таблица 3.1. Сигналы интерфейса RS-232
Nfi конт. DB-25 № конт. DB-9 Е1А обозн. (RS-232) ITU-T обозн. (V.24> Описание сигнала Аббревиатура От ОСЕ От DTE 1 АА Защитное заземление GNO 2 3 ВА 103 Передаваемые данные ТхО х 3 2 ВВ 104 1ринимаемые данные RxO х 4 7 СА CJ 105 133 Запрос передачи Готовность к приему RTS х х 5 8 СВ 106 Готовность к передаче CTS х 6 6 СС 107 "отовность ОСЕ OSR х 7 5 АВ 102 Сигнальное заземление SG х х 8 1 CF 109 Обнаружение несущей ОСО х 9 Резерв для теста ОСЕ: +12 В, 20 мА х 10 Резерв для теста ОСЕ: -12 В, 20 мА х 11 126 Выбор частоты передачи х 12 SCF 122 Обнаружение несущей дополнительного канала SOCO х 13 SCB 121 Готовность к передаче по дополнительному каналу SCTS х 14 SBA 118 Передаваемые данные дополнительного канала STO х 15 DB 114 Синхронизация передачи (ОСЕ) те х 16 SBB 119 Принимаемые данные дополнительного канала SRO х 17 DD 115 Синхронизация приема (ОСЕ) RC х 18 141 Свободный (Местный шлейф) х 19 SCA 120 Запрос передачи дополнительного канала SRTS х 20 4 CD 108.1 108.2 Готовность ОСЕ Готовность ОТЕ OTR х х 21 CG 110 Детектор качества сигнала SQ х х RL 140 Удаленный шлейф 22 9 СЕ 125 Индикатор вызова RI х 23 СН 111 Переключатель скорости передачи данных (ОТЕ) х 23 Cl 112 Переключатель скорости передачи данных (ОСЕ) х 24 DA 113 Синхронизация передачи (ОТЕ) х 25 142 Свободный (Индикатор тестирования) х
ответами на команды, передаваемыми местным DCE, или данными, получаемыми от удаленного DCE.
Если не выполняется операция подтверждения приема команды, стандартное DCE удерживает эту линию в состоянии логической 1 (MARK) при условии, что линия "Указатель несущей" находится в неактивном состоянии (OFF). Данное свойство также можно использовать для того, чтобы отличить DTE от DCE.
При полудуплексной работе эта линия удерживается в состоянии MARK, когда линия "Запрос передачи" находится в активном состоянии, а также в течение короткого промежутка времени после ее перехода из активного состояние в неактивное.
Независимо от того, относится ли данное устройство к DTE или DCE, рассматриваемая линия всегда называется одинаково: "Принимаемые данные". Это выходная линия для DCE и входная для DTE.
Запрос передачи (СА)
Сигналы на этой линии вырабатывает DTE. В симплексных или дуплексных системах активное состояние этой линии обеспечивает удержание DCE в режиме передачи. Переключение в неактивное состояние приостанавливает передачу. В обоих случаях состояние этой линии никак не влияет на работу DCE-устройства как приемника.
В полудуплексных системах переключение этой линии в активное состояние переводит DCE в режим передачи и приостанавливает его работу на прием. Когда DTE переключает эту линию в неактивное состояние, соответствующее DCE-устройство начинает работать в режиме приема.
Если DTE переключило линию "Запрос передачи" в неактивное состояние, оно не должно снова активизировать эту линию до тех пор, пока DCE-устройство не подтвердит прием этого сигнала путем переключения в такое же неактивное состояние линии "Готовность к передаче".
Переключение линии "Запрос передачи" из неактивного в активное состояние является сигналом на переход DCE в режим передачи. DCE может затем выполнять любые действия, необходимые для подготовки к передаче, и после их завершения устанавливает линию "Готовность к передаче" в активное состояние, сообщая тем самым, что DCE может передавать данные.
Переключение линии "Запрос передачи" из активного в неактивное состояние является сигналом для DCE на завершение обработки любых данных, которые уже получены от DTE-устройства. Затем DCE прекращает передачу или переходит в режим приема. О завершении этого процесса оно сообщает путем переключения линии "Готовность к передаче" в неактивное состояние.
Готовность к передаче (СВ)
Сигналы на этой линии вырабатывает DCE. Эти сигналы сообщают о готовности DCE к приему данных от связанного с ним DTE-устройства. Если линия "Готовность к передаче" находится в неактивном состоянии, DTE не должно передавать данные. Когда DCE переключает эту линию в активное состояние, оно готово принимать данные. Эти данные могут быть командами для DCE или данными, передаваемыми по каналу связи.
Обычно сигнал "Готовность к передаче" является ответом на сигнал "Запрос передачи". Однако DCE может независимо переключить линию "Готовность к передаче" в неактивное состояние, чтобы сообщить DTE о необходимости приостановки передачи данных на некоторый конечный промежуток времени. Любые данные, переданные после переключения линии "Готовность к передаче" в неактивное состояние, могут быть проигнорированы DCE-устрой-ством. DCE может снова активизировать эту линию в любой момент при условии, что линия "Запрос передачи" также находится в активном состоянии. Такая процедура хорошо известна как аппаратное управление потоком данных.
Если линия "Запрос передачи" не используется, DCE будет работать так,
будто эта линия все время находится в активном состоянии.
Готовность DCE (СС)
DCE использует эту линию для информирования DTE о своей готовности к работе. Для соответствующего сигнала часто используется название: "Готовность устройства сопряжения" или "Готовность модема". Активное состояние линии означает, что DCE готово обмениваться информацией с DTE и начать передачу данных.
В некоторых реализациях данная линия в комбинации с линией "Индикатор тестирования" используется для управления обменом сигналами при тестировании и обслуживании DCE. В других случаях эта линия используется вместе с линией "Готовность к передаче" для управления и программирования DCE, поддерживающего последовательную систему автоматического вызова.
Готовность DTE (CD)
Сигналы на этой линии вырабатывает DTE. Переключение этой линии в активное состояние информирует DCE-устройство о том, что ему нужно приготовиться к соединению с каналом связи. Если DCE может автоматически отвечать на последующие вызовы, оно будет делать это только в том случае, если линия "Готовность DTE" находится в активном состоянии. Однако состояние данной линии не влияет на сигналы, присутствующие на линии "Индикатор вызова".
Если текущее соединение с каналом связи установлено, то активное состояние линии "Готовность DTE" указывает, что DCE должно поддерживать это состояние. Если эта линия впоследствии переключается в неактивное состояние, DCE отключится от канала связи после завершения текущей передачи данных. После перехода в неактивное состояние линия "Готовность DTE" не должна активизироваться снова до тех пор, пока от DCE не будет получено подтверждение этого перехода путем переключения линии "Готовность DCE" в неактивное состояние.
Индикатор вызова (СЕ)
DCE использует эту линию для сообщения о том, что по каналу связи принимается сигнал вызова. Сигнал на линии "Индикатор вызова" соответствует состоянию сигнала вызова ON — при наличии сигнала вызова, и OFF — при его отсутствии. Эта линия всегда активна. Однако DTE может игнорировать этот сигнал по своему усмотрению.
Обнаружение несущей (CF)
DCE активизирует эту линию при получении сигнала, служащего указателем возможности установления соединения с подходящим качеством связи. Если линия находится в неактивном состоянии, то это означает либо полное отсутствие сигнала, либо наличие сигнала неудовлетворительного качества. Какой сигнал считать подходящим по качеству — определяет DCE. Для данной линии часто используется название "Указатель сигнала на линии приема несущей".
Если во время передачи данных возникнут обстоятельства, требующие переключения линии "Обнаружение несущей" в неактивное состояние (означающего потерю несущей), DCE также установит сигнал MARK на линии "Принимаемые данные".
В полудуплексных системах данная линия переключается в неактивное состояние всякий раз, когда активизируется линия "Запрос передачи", а также в течение короткого промежутка времени после переключения линии "Запрос передачи" из активного в неактивное состояние.
Детектор качества сигнала (CG)
Использование этой линии в настоящее время не рекомендуется.
Переключатель скорости передачи данных от DTE (СН)
По этой линии DTE сигнализирует о том, какая из двух возможных скоростей передачи данных (в бодах) или какой диапазон скоростей передачи должно выбрать DCE. Активное состояние этой линии соответствует выбору более высокой скорости передачи.
Переключатель скорости передачи данных от DCE (CI)
По этой линии DCE сообщает о том, какую из двух возможных скоростей передачи данных или какой диапазон скоростей передачи оно выбирает. Активное состояние этой линии соответствует выбору более высокой скорости передачи.
Готовность к приему (CJ)
Для обеспечения документированного метода аппаратного управления потоком данных стандартом RS-232 предусмотрена линия "Готовность к приему". DTE активизирует эту линию, чтобы сообщить DCE о своей готовности к приему данных.
Напротив, неактивное состояние этой линии означает, что DTE не может принимать данные от DCE. В этом случае DCE должно сохранить не переданные данные. Локальное DCE-устройство может передать удаленному DCE сигнал на приостановку передачи данных по каналу связи.
В системах, использующих линию "Готовность к приему", все остальные линии работают так, как если бы линия "Запрос передачи" постоянно находилась в активном состоянии.
Местный шлейф (LL)
DTE использует эту линию дли перевода локального DCE в режим петлевого тестирования. Когда DTE активизирует линию "Местный шлейф", локальное DCE-устройство отключает свой сигнальный выход от канала связи и подключает его к своей собственной входной линии. Затем это DCE активизирует линию "Индикатор тестирования". В результате этого любые данные, передаваемые от DTE к DCE, немедленно возвращаются обратно к DTE. При переключении линии "Местный шлейф" в неактивное состояние DCE реконфигу-рирует себя для нормальной работы.
Состояние линии "Местный шлейф" не влияет на работу линии "Индикатор вызова".
Удаленный шлейф (RL)
DTE использует эту линию для перевода удаленного DCE в режим дистанционного тестирования. Когда DTE активизирует линию "Удаленный шлейф", локальное DCE выдает команду удаленному DCE на установку петлевой конфигурации. Когда установка такой конфигурации завершена, локальное DCE переключает линию "Индикатор тестирования" в активное состояние.
При дистанционном тестировании данные, передаваемые локальным DTE-устройством, проходят через .локальное DCE-устройство и далее поступают в канал связи. Удаленное DCE принимает эти данные и сразу же передает их обратно по каналу связи к локальному DCE, а последнее — к локальному DTE. Когда локальное DTE переключает линию "Удаленный шлейф" в неактивное состояние, локальное DCE выдает команду удаленному DCE на окончание тестирования.
Во время дистанционного тестирования удаленное DCE устанавливает линию "Готовность DCE" в неактивное, а линию "Индикатор тестирования" в активное состояние, указывая тем самым, что связь с удаленным DCE невозможна.
Индикатор тестирования (ТМ)
DCE активизирует эту линию для того, чтобы сообщить DTE о своем переходе в тестовый режим. Активизация этой линии является откликом DCE-уст-ройства на переключение линий "Местный шлейф" или "Удаленный шлейф" в активное состояние. Линия "Индикатор тестирования" активизируется также в том случае, когда DCE отвечает на команду перехода в режим петлевого тестирования, поступающего от удаленного DCE. Неактивное состояние линии "Индикатор тестирования" означает, что DCE готово для нормальной работы.
Синхронизация передачи от DTE (DA)
По этой линии DTE передает сигналы для синхронизации DCE. Моменты переключения этой линии из активного состояния в неактивное номинально соответствуют середине каждого элементарного сигнала (импульса), поступающего от DTE на линию "Передаваемые данные". Если эта линия реализована в интерфейсе, то для поступления на нее синхронизирующей информации обычно достаточно, чтобы DTE-устройство находилось во включенном состоянии.
Синхронизация передачи от DCE (DB)
По этой линии DCE передает сигналы для синхронизации DTE. DCE должно выдавать элементарные сигналы на линию "Передаваемые данные" таким образом, чтобы значащие моменты переходов между соседними элементарными сигналами (битами) соответствовали моментам переключения линии DB из неактивного состояния в активное.
Синхронизация приема от DCE (DD)
По этой линии DCE передает сигналы для обеспечения синхронной работы DTE в режиме синхронной передачи данных. Моменты переключения этой линии из активного состояния в неактивное соответствуют середине каждого элементарного сигнала (бита), поступающего от DCE на линию "Принимаемые данные".
Передаваемые данные дополнительного канала (SBA)
Эта линия эквивалентна линии "Передаваемые данные", но используется для организации дополнительного канала связи.
Принимаемые данные дополнительного канала (SBB)
Эта линия эквивалентна линии "Принимаемые данные", Но используется для организации дополнительного канала связи.
Запрос передачи по дополнительному каналу (SCA)
Эта линия эквивалентна линии "Запрос передачи", но используется для организации дополнительного канала связи.
Готовность к передаче по дополнительному каналу (SCB)
Эта линия эквивалентна линии "Готовность к передаче", но используется для организации дополнительного канала связи.
Обнаружение несущей дополнительного канала (SCF)
Эта линия эквивалентна линии "Обнаружение несущей", но используется для организации дополнительного канала связи".
3.1.3. Аппаратная реализация
Аппаратная реализация интерфейса RS-232 включает в себя последовательный адаптер и собственно механический интерфейс (разъемное соединение).
Когда фирма IBM стала выпускать свои первые персональные компьютеры, на их материнской плате не предусматривалось никаких схем для поддержки последовательной связи. Однако дополнительно мог поставляться асинхронный коммуникационный адаптер. Этот адаптер устанавливался в соответствующий слот материнской платы и обеспечивал связь между микропроцессором и программируемым интерфейсом, подобным RS-232. С тех пор много воды утекло, было продано и установлено буквально несчетное число адаптеров, выпускаемых большим числом фирм. Не смотря на это у всех последовательных адаптеров гораздо больше общего, нежели различий. Причина этого — не отсутствие творческого подхода у разработчиков, а необходимость согласования характеристик адаптера с требованиями простого и жестко определенного стандарта
Рис. 3.2. Структурная схема адаптера RS-232
Структурная схема типичного варианта адаптера последовательного порта RS-232 представлена на рис. 3.2.
Преобразование ТТЛ-уровней в уровни интерфейса RS-232 и наоборот производится передатчиками и приемниками EIA, входящими в состав микросхем типа il488 и il489 или их аналогов.
Обычно передача данных осуществляется на одной из нескольких дискретных скоростей: 50, 75, 110, 150 , 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600 или 115200 Бод. Средства BIOS (такие как прерывание Intl4h) поддерживают скорости только до 9600 Бод включительно. Тактовая частота составляет 1,8432 МГц и стабилизирована благодаря использованию кварцевого i снератора. Из этой частоты формируются все остальные необходимые частоты.
В основе контроллера последовательного порта передачи данных лежит микросхема INS8250 (i8250) или ее современные аналоги — 16450, 16550, 16550А. Эта микросхема является асинхронным приемопередатчиком UART (Universal Asinchronouse Receiver Transmitter). Микросхема 8250 содержит регистры передатчика и приемника данных, а также ряд служебных регистров. Точная последовательность операций, выполняемых UART в каждой конкретной ситуации, контролируется внешними параметрами. В общих чертах работу UART в режимах приема/передачи можно описать следующим образом. При передаче символа UART должен выполнить следующие операции:
> принять символ в параллельной форме через системную шину PC;
> преобразовать символ в последовательность отдельных битов (параллельно-последовательное преобразование);
> сформировать старт-стопный символ путем добавления к информационным разрядам стартового, стопового и, возможно, бита паритета (четности или нечетности);
> передать старт-стопный символ на интерфейс с требуемой скоростью;
> сообщить о готовности к передаче следующего символа.
При приеме символа UART должен выполнить обратную последовательность действий:
> принять данные в последовательной форме;
> проверить правильность структуры старт-стопного символа: стартовый бит, информационные разряды, бит паритета; если выявлена ошибка — выдать сигнал ошибки;
> осуществить проверку паритета; если выявлена ошибка — выдать сигнал ошибки паритета;
> преобразовать старт-стопный символ в информационный и передать его в параллельной форме в PC;
> сообщить, что символ принят.
Первые адаптеры последовательной связи фирмы IBM были построены на микросхеме INS8250 фирмы National Semiconductor. За прошедшее время эта микросхема несколько раз модернизировалась. Выпускались и многочисленные функциональные аналоги другими производителями микросхем. Тем не менее, все модификации микросхемы 8250 идентичны между собой по большинству своих функциональных характеристик. Микросхемы 8250 рассчитаны на максимальную скорость 38400 бит/с. В настоящее время UART такого типа практически не используются.
Появившиеся позже микросхемы UART серии 16450 рассчитаны на максимальную скорость 115200 бит/с. При их разработке были исправлены некоторые ошибки микросхем серии 8250.
Работая со скоростями порядка 9600 бит/с микросхемы 8250 и 16450 превосходно выполняли свои функции, полностью соответствуя по своим характеристикам невысокому (в прошлом) быстродействию PC и однозадачным операционным системам. Однако на сегодняшнем уровне техники связи с ее высокими скоростями передачи информации и многозадачными операционными системами (ОС) микросхемы такого типа стали "узким местом" коммуникационной аппаратуры. Чтобы исправить ситуацию были разработаны и выпущены микросхемы типа 16550 (PC16550C/NS16550AF и ряд их функциональных аналогов).
По умолчанию микросхема 16550 работает в режиме микросхемы 8250 и может быть установлена вместо микросхемы 8250. В совместимом режиме, она является полным функциональным аналогом UART 8250 и 16450 и в отличие от микросхем UART более ранних выпусков микросхема 16550 имеет второй режим работы, предусматривающий сокращение вмешательства центрального процессора в процедуру последовательной передачи данных. В этом режиме внутренние буферные регистры приемника и передатчика расширяются от 1 до 16 байтов и управляются с использованием логики FIFO (First In — First Out
— первым пришел — первым вышел). Буфер FIFO приемника используется также для хранения трех битов информации об ошибках для каждого символа. Ошибки паритета, форматирования и сигналы прерывания (BREAK-сигналы) буферируются вместе с символом, к которому они относятся. Микросхема 16550 выполняет следующие функции:
• > обеспечивает простой интерфейс между шиной PC и модемом или другими внешними устройствами;
> автоматически добавляет, удаляет и проверяет форматирующие биты;
> генерирует и проверяет биты паритета под управлением специальной программы;
> выделяет указатели состояния операций передачи и приема, а также состояния линии передачи данных и устройства сопряжения;
> содержит встроенные сдвиговые регистры и регистры хранения для операций передачи и приема данных, что исключает необходимость точной синхронизации работы процессора с потоком последовательных данных;
> содержит программируемый генератор-контроллер скорости передачи, работающий с внешним опорным сигналом частотой до 24 МГц;
> содержит встроенные средства самотестирования;
> может работать под управлением программного обеспечения, разработанного для микросхем 8250 и 16450;
> внутренние буферы позволяют хранить до 16 символов и связанную с ними служебную информацию при операциях передачи и приема данных.
Асинхронный последовательный порт подключается к внешним устройствам через специальный разъем. Существует два стандарта на разъемы интерфейса RS-232 — это DB-25 и DB-9. Первый имеет 25, а второй — 9 контактов. Назначение контактов этих разъемов в соответствии со стандартами RS-232 (EIA) и V.24 (ITU-T) приведены в табл. 3.1.
Рис. 3.3. Расположение контактов разъемов DB-25 и DB-9
Общий вид разъемов DB-25 и DB-9, используемых в интерфейсе RS-232 приведен на рис. 3.3.
3.1.4. Соединения по интерфейсу RS-232. Кабели
Входы TxD и RxD используются устройствами DTE и DCE по-разному. Устройство DTE использует линию TxD для передачи данных, а линию RxD — для приема данных. И наоборот, устройство DCE использует линию TxD для приема, а линию RxD — для передачи данных. Поэтому для соединения терминального устройства и устройства передачи данных их необходимо соединить напрямую, как показано на рис. 3.4 (для DB-25)
Для корректной работы коммуникационных приложений требуется программное либо аппаратное управление потоком данных. Для реализации аппаратного управления потоком данных требуется большее количество управляющих
Рис. 3.4. Подключение DTE к DCE
Рис 3 5 Подключение DTE к DTE
чиний порта Наиболее правильным будет использование кабеля-удлинителя всех линии интерфейса RS-232
Если понадобится соединить два персональных компьютера друг с другом, то необходимо произвести перекрестное соединение линий TxD и RxD, как показа но на рис 3 5. Однако часто этого недостаточно, т к. для устройств DTE и DCE функции, выполняемые линиями DSR, DTR, DCD, CTS и RTS, асимметричны.
Устройство DTE подает сигнал DTR и ожидает получения сигналов DSR и DCD В свою очередь, DCE подает сигналы DSR, DCD и ожидает получения сигнала DTR Таким образом, если вы соедините вместе два устройства DTE, то они не смогут "договориться" друг с другом и осуществить процесс подтверждения связи.
Для решения этих проблем при соединении двух устройств типа DTE (DCE) используется специальный кабель, часто называемый нуль-модемом Имея два разъема и многожильный кабель, нуль-модем можно изготовить самостоятельно, руководствуясь схемами, приведенными на рис 3 6
Рис 3.6 Нуль-модем
Рис. 3.7. Модемный кабель DB25-DB25
Рассмотрим механическое соединение портов RS-232. Для подключения модема к компьютеру, как правило, используют модемный кабель, представляющий собой удлинитель основных цепей RS-232. Внешний вид такого кабеля показан на рис. 3.7.
Из-за использования в компьютерах и модемах разъемов различных типов (рис. 3.8) часто приходится пользоваться переходниками. Схема одного из них приведена на рис. 3.9, а внешний вид модемного кабеля DB-9 — DB-25 показан на рис. 3.10.
Рис.3.8. Внешний вид разъемов, используемых в компьютерах и модемах
Рис. 3.9. Переходник DB-25 — DB-9
Следует отметить, что DTE (компьютер) всегда оборудуется разъемом-вилкой (на инженерном жаргоне — "папа", male), a DCE (модем) — разъемом-розеткой ("мама", female). Переходник для мыти DB-9 — DB-25, выполненный в неразборном компактном корпусе, для подключения модемов с 9-контактным разъемом лучше не использовать. Дело в том, что в этом переходнике линии CTS (5-8), DSR (6-6), DCD (8-1) и RI (22-9) не используются. В результате чего нельзя будет использовать аппаратное управление потоком, что может привести к неполной совместимости с имеющимся программным обеспечением.
Рис. ЗЛО. Модемный кабель DB-9 — DB-25
Рис 3 11 Переходник Mini DIN-8 — DB-25 для компьютеров Macintosh
Для подключения модема к компьютерам Macintosh необходим переходник для подключения к используемому в этих компьютерах разъему Mini DIN-8 Схема одного из возможных вариантов такого переходника приведена на рис 3 11, а внешний вид соответствующего кабеля — на рис 312
Рис 3 12 Модемныи кабель Mini DIN-8 — DB-25 для компьютеров Macintosh
3.1.5. Управление потоком
Различают программный и аппаратный методы управления потоком. При программном методе включение и выключение передачи данных производится путем посылки по встречной информационной линии специальных служебных символов. При аппаратном управлении потоком для приостановки и последующего возобновления передачи используют специальные линии интерфейса
Большинство компьютеров и модемов поддерживают управление потоком. Однако если один из них не поддерживает такой механизм, то необходимо обеспечить работу последовательного порта на скорости, не большей, чем действительная скорость соединения. В данном случае управление потоком должно быть запрещено на соответствующих портах модема и компьютера.
Модем может принимать и передавать данные через последовательный порт на скорости, отличающейся от скорости канального порта модема. Это возможно благодаря наличию двух буферов, по одному на каждое направление потока данных. Если последовательный порт работает на скорости, большей, чем скорость канального порта модема, его буфер заполняется полностью. При использовании механизма управления потоком потерь данных при заполнении буфера не происходит.
Программный метод управления потоком.
Программный метод управления потоком, или метод XON/XOFF, заключается в следующем:
> передача знака XOFF (код DC3h ASCII) по линии TxD (103) для сообщения местному или удаленному DTE о необходимости прерывания потока информации;
> передача знака XON (код DClh ASCII) по линии RxD (104) для сообщения местному или удаленному DTE о необходимости восстановления потока информации.
Знак XOFF представляет собой символ CTRL-S ("S), a XON — символ CTRL-Q (*0). Если управление потоком разрешено по канальному интерфейсу модема и по последовательному порту, и знак XOFF принят по каналу связи, то этот знак заставляет модем приостановить передачу данных из своего буфера в канал связи.
Буфер модема заполняется в процессе передачи данных местным DTE через последовательный порт. Если буфер заполнился, модем передает знак XOFF через последовательной порт, который сообщает местному DTE-устройству о необходимости прервать передачу. Местное DTE возобновляет передачу данных только в том случае, если оно принимает знак XON от модема или по каналу связи от удаленной системы (через местный модем). Это заставляет местное DTE-устро