25634-1 (751117), страница 3
Текст из файла (страница 3)
Структурная схема типичного варианта адаптера последовательного порта 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-устройство возобновить передачу данных.














