Содержание
Последовательные интерфейсы
Интерфейс RS-232C
Электрический интерфейс
Ресурсы СОМ – портов
Конфигурирование СОМ – портов
Использование СОМ – портов
1 Последовательные интерфейсы
Последовательный интерфейс для передачи данных в одну сторону использует одну сигнальную линию, по которой информационные биты передаются друг за другом последовательно. Такой способ передачи определяет название интерфейса и порта, его реализующего (Serial Interface и Serial Port). Последовательная передача данных может осуществляться в синхронном и асинхронном режимах.
При асинхронной передачи каждому байту предшествует старт-бит, сигнализирующий приемнику о начале очередной посылки, за которой следуют биты данных или бит паритета (конроля четности). Завершает посылку стоп-бит. Старт-бит (имеющий значение лог. «0») следующего посланного байта может посылаться в любой момент после окончания стоп-бита. Старт-бит обеспечивает механизм синхронизации приемника по сигналу от передатчика. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты.
Формат асинхронной посылки позволяют выявить возможные ошибки передачи.
Для асинхронного режима принят ряд стандартных скоростей обмена: 50,75,110,150,300,600,1200,2400,4800, 19200,38400,57600,115200 бит/сек. Количество бит данных может составлять 5,6,7,8 бит. Количество стоп битов может быть 1,1.5,2 бита. Асинхронный в РС реализуется с помощью СОМ-порта с использованием протокола RS-232C.
Синхронный режим передачи предполагает постоянную активность канала связи. Посылка начинается с синхробайта, за которым плотно следует поток информационных бит. Если у передатчика нет данных для передачи, он заполняет паузу непрерывной посылкой байтов синхронизации. При передаче больших массивов данных накладные расходы на синхронизацию в данном режиме необходима будет ниже, чем в асинхронном. Однако в синхронном режиме необходима внешняя синхронизация приемника с передатчиком, поскольку даже малое отклонение частот приведет к быстро накапливающейся ошибке и искажению принимаемых данных. Внешняя синхронизация возможна либо с помощью отдельной линии передачи для передачи сигнала синхронизации, либо с использованием самосинхронизирующего кодирования данных, при котором на приемной стороне из принятого сигнала могут быть и импульсы синхронизации. В любом случае синхронный режим требует либо дорогих линий связи, либо дорогого оконеченного оборудования. Для РС существуют специальные платы — адаптеры SDLC, поддерживающие синхронный режим обмена. Они используются в основном для связи с большими машинами IBM и в настоящее время мало распространены. Из синхронных адаптеров в настоящее время чаще всего применяются адаптеры интерфейса V.35.
Последовательный интерфейс на физическом уровне может иметь различные реализации, различающиеся способом передачи электрических сигналов. Существует ряд родственных международных стандартов: RS-232C,RS-432A,RS-422A,RS485.
Несимметричные линии интерфейсов RS-232C,RS-432A имеют самую низкую защищенность от синфазной помехи. Лучшие параметры имеет двухточечный интерфейс
RS-422A и его магистральный (шинный) родственник RS-485, работающие на симметричных линиях связи. В них для каждого сигнала используются дифференциальные сигналы с отдельной (витий) парой приводов.
Наибольшее распространение в РС получил простейший из этих — стандарт RS-232C. В промышленной автоматике широко применяется RS — 422А, а также RS-485, встречающийся и в некоторых принтерах. Существуют относительно несложные преобразователи сигналов для согласования всех этих интерфейсов.
2 Интерфейс RS-232C
Интерфейс RS-232C предназначен для подключения аппаратуры, передающей или принимающей данные (АПД-аппаратура передачи данных), к оконечной аппаратуре каналов данных (АКД). В роли АПД может выступать компьютер, принтер, плоттер и другие ПУ. Этой аппаратуре соответствует аббревиатура DTE-Data Terminal Equipment. В роли АКД обычно выступает модем — DCE (Data Communication Equipment). Конечной целью подключения является соединение двух устройств DTE, полная схема соединения приведена на рис.2. Интерфейс позволяет исключать канал удаленной связи вместе с парой устройств DTE, соединив устройства непосредственно с помощью нуль-модемного кабеля (рис.3).
Стандарт описывает управляющие сигналы интерфейса, пересылку данных, электрический интерфейс и типы разъемов. Стандарт описывает синхронный и асинхронный режимы обмена, но СОМ-порты поддерживают только асинхронный режим. Функционально RS-232C эквивалентен стандарту МККТТ V.24/V.28 и стыку С2, но они имеют различные названия одних и тех же используемых сигналов.
/>
Рис.1-Стандарт последовательного интерфейса
/>
Рис.2-Полная схема соединения по RS-232C
/>
Рис.3-Соединение по RS-232C нуль-модемным кабелем
3 Электрический интерфейс
Стандарт RS-232C использует несимметричные передатчики и приемники — сигнал передается относительно общего провода — схемной земли cимметричные дифференциальные сигналы используются в других интерфейсах — например,RS-422). Интерфейс НЕ ОБЕСПЕЧИВАЕТ ГАЛЬВАНИЧЕСКОЙ РАЗВЯЗКИ устройств. Логической единице соответствует уровень напряжения на входе приемника в диапазоне — 12… — 3 В. Для линий управляющих сигналов это состояние называется ON («включено»), для линий последовательных данных называется MARK. Логическому нулю соответствует напряжение в диапазоне +3… +12 В. Для линий управляющих сигналов это состояние называется OFF («выключено»), для линий последовательных данных называется SPACE. Между уровнями — 3… +3 В имеется зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения соответствующего порога. Уровни сигналов на выходах передатчиков должны быть в диапазонах — 12… — 5 В и +5… +12 В для представления единицы и нуля соответственно. Разность потенциалов между схемными землями (SG) соединяемых устройств должна быть менее 2 В, при более высокой разности потенциалов возможно неверное восприятие сигналов.
Интерфейс предполагает наличие ЗАЩИТНОГО ЗАЗЕМЛЕНИЯ для соединяемых устройств, если они оба питаются от сети переменного тока и имеют сетевые фильтры.
Подключение и отключение интерфейсных кабелей устройств с автономным питанием (не питающихся от интерфейса, таких как, например, мышь) должно производиться при отключении питания. В противном случае разность не выровненных потенциалов устройств в момент коммутации (присоединения или отсоединения разъема) может оказаться приложенной к выходным или входным (что опаснее) цепям интерфейса и вывести из строя микросхемы.
Для интерфейса RS-232C специально выпускаются буферные микросхемы приемников (с гистерезисом) и передатчиков двуполярного сигнала. При несоблюдении правил заземления и коммутации включенных устройств они обычно являются первыми (хорошо, если единственными) жертвами «пиротехнических»эффектов. Иногда их устанавливают в «кроватках», что сильно облегчает замену. Часто буферные схемы входят прямо в состав интерфейсных БИС. Это удешевляет изделие, экономит место на плате, но в случае аварии обычно оборачивается крупными финансовыми потерями. Вывести из строя интерфейсные микросхемы замыканием сигнальных цепей маловероятно, поскольку ток короткого замыкания передатчиков обычно ограничен на уровне 20 мА.
Стандарт RS-232C регламентирует типы применяемых разъемов, что обеспечивает высокий уровень совместимости аппаратуры различных производителей.
На аппаратуре DTE (в том числе, и на СОМ-портах PC) принято устанавливать вилки, (male — «папа») DB25-P или более компактный вариант — -DB9-P.
Девятиштырьковые разъемы не имеют контактов для дополнительных сигналов, необходимых для синхронного режима (в большинстве 25тырьковых разъемов эти контакты не используются).
На аппаратуре DCE (модемах) устанавливают розетки (female — «мама») DB25-S или DB-9S.
Это правило предполагает, что разъемы DCE могут подключаться к разъемам DTE непосредственно (если позволяет геометрия конструктива) или через переходные «прямые» кабели с розеткой и вилкой, у которых контакты cоединены «один в один». Переходные кабели могут являться и переходниками с 9 на 25-штырьковые разъемы.
Если аппаратура DTE соединяется без модемов, то разъемы устройств (вилки) соединяются между собой нуль-модемным кабелем (Zero-modem или Z-modem), имеющим на обоих концах розетки, контакты которых соединяются перекрестно.
Если на каком-либо устройстве DTE (принтер, плоттер, дигитайзер) установлена розетка — это почти стопроцентный признак того, что к другому устройству (компьютеру) оно должно подключаться прямым кабелем, аналогичным кабелю подключения модема. Розетка устанавливается обычно на тех устройствах, у которых удаленное подключение через модем не предусмотрено (или бессмысленно, как, например, у дигитайзера).
В табл.1 приведено назначение контактов разъемов СОМ-портов (и любой другой аппаратуры DTE). Назначение контактов разъема DB25S определено стандартом EIA/TIA-232-Е, разъем DB9S определен стандартом EIA/ TIA-574.
У модемов (DCE) название цепей и назначение контактов, естественно, совпадает, но роли сигналов (вход-выход) меняются на противоположные.
Таблица 1 — Разъемы и сигналы интерфейса RS-232C
/>
1* — шлейф 8-битных мультикарт.
2* — шлейф 16-битных мультикарт и портов на системных платах.
3* — вариант шлейфа портов на системных платах.
4* — широкий шлейф к 25-контактному разъему.
Подмножество сигналов RS-232C, относящихся к асинхронному режиму, рассмотрим с точки зрения СОМ-порта PC, являющегося по терминологии RS-232C терминалом данных (DTE). Следует помнить, что активному состоянию сигнала («включено») и логической единице передаваемых данных соответствует отрицательный потенциал (ниже — 3 В) сигнала интерфейса, а состоянию «выключено» и логическому нулю — положительный (выше +3 В). Назначение сигналов интерфейса приведено в табл.2.
Таблица 2-Назначение сигналов интерфейса
/>
4 Ресурсы СОМ-портов
Начиная с первых моделей в PC имелся последовательный интерфейс — СОМ-порт (Communications Port — коммуникационный порт). Этот порт обеспечивает асинхронный обмен по стандарту RS-232C. Компьютер может иметь до четырех последовательных портов СОМ 1-COM4 (для машин класса AT типично наличие двух портов). СОМ-порты имеют внешние разъемы-вилки (Male «папа») DB25P или DB9P, выведенные на заднюю панель компьютера (назначение выводов приведено в табл.1)
СОМ-порты реализуются на микросхемах UART, совместимых с семейством 18250. Они занимают в пространстве ввода/вывода по 8 смежных 8-битных регистров и могут располагаться по стандартным базовым адресам 3F8h (COM1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Для портов COM3 и COM4 возможны альтернативные адреса 3EOh, 338h и 2EOh, 238h соответственно. Для PS/2 стандартными для портов СОМЗ-СОМ8 являются адреса 3220h, 3228h,4220h, 4228h, 5220h и 5228h соответственно.
Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используются для COM1 и COM3) и IRQ3 (для COM2 и COM4). Кроме того, возможно использование линий прерываний IRQ11 (вместо IRQ4) и IRQ10 (вместо IRQ3). Возможность разделяемого использования одной линии запроса несколькими портами (или ее разделения с другими устройствами) зависит от реализации аппаратного подключения и программного обеспечения. При использовании портов, установленных на шину ISA, разделяемые прерывания обычно не работают.--PAGE_BREAK--
5 Конфигурирование СОМ-портов
Управление последовательным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппаратных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Способ и возможности конфигурирования СОМ-портов зависят от его исполнения и местоположения. Порт, расположенный на плате расширения (обычно на мультикарте), устанавливаемой в слот ISA или ISA+VLB, обычно конфигурируется джамперами на самой плате. Порт, расположенный на системной плате, обычно конфигурируется через BIOS Setup.
Конфигурированию подлежат следующие параметры:
* Базовый адрес, который может иметь значение 3F8h, 2F8h, 3E8h (3EOh,338h), 2E8h (2EOh, 238h). При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и, соответственно, присваивает обнаруженным портам логические имена СОМ1, COM2, COM3 и COM4.
* Используемая линия запроса прерывания: для СОМ1 и COM3 обычно используется IRQ4 или IRQ11, для COM2 и COM4 — IRQ3 или IRQ10. В принципе номер прерывания можно назначать в произвольных сочетаниях с базовым адресом (номером порта), но некоторые программы и драйверы (например, драйверы последовательной мыши) настроены только на стандартные сочетания. Каждому порту, нуждающемуся в аппаратном прерывании, обычно назначают отдельную линию, не совпадающую с линиями запроса прерываний других портов или устройств. Разделяемое использование линий прерывания адаптеров шин ISA проблематично. Прерывания необходимы для портов, к которым подключаются устройства ввода (мышь, дигитайзер), UPS и модемы. При подключении принтера или плоттера прерываниями пользуются только многозадачные ОС (и то не всегда), и этот дефицитный ресурс PC можно сэкономить. Также прерываниями обычно не пользуются и при связи двух компьютеров нуль-модемным кабелем.
*Использование канала DMA (для UART 16450 или 16550, расположенных на системной плате) — разрешение использования и номер канала DMA. Режим DMA при работе с СОМ-портами используют редко, поэтому в большинстве случаев каналы DMA порту не назначают.
Режим работы порта по умолчанию (2400 бит/с, 7 бит данных, 1 стоп-бит и контроль четности), заданный при инициализации порта во время BIOS POST, может изменяться в любой момент при настройке коммуникационных программ или командой DOS MODE COMx: с указанием параметров.
6 Использование СОМ-портов
Вопреки названию, СОМ-порты чаще всего используют для подключения манипуляторов (мышь, трекбол). В этом случае порт используется в режиме последовательного ввода, обеспечивая питание устройства от интерфейса. Мышь может подключаться к любому исправному порту, для согласования разъемов порта и мыши возможно применение переходника DB9S-DB25P или, наоборот,DB25S-DB9P. Для работы с мышью обязательно требуется использование линии прерывания, причем для порта СОМ1 — IRQ4, а для COM2 — IRQ3.
Следующим по популярности идет подключение внешних модемов для связи с удаленными компьютерами или выхода в глобальные сети. Модемы должны подключаться полным (9-проводным) кабелем DTE-DCE. Этот же кабель может использоваться и для согласования разъемов (по количеству контактов), возможно и применение переходников 9-25, предназначенных для мышей. Для работы коммуникационного ПО обычно требуется использование прерываний, но здесь, как правило, больше свободы выбора сочетаний номера (адреса) порта и номера линии прерывания. Если предполагается работа на скоростях 9600 бит/с и выше, то СОМ-порт должен быть реализован на микросхеме UART 16550A или совместимой с ней. Возможности работы с использованием FIFO-буферов и обмена по каналам DMA зависят от коммуникационного ПО.
Для связи двух компьютеров, удаленных друг от друга на небольшое расстояние, используют и непосредственное соединение их СОМ-портов нуль-модемным кабелем. Использование программ типа Norton Commander или Interink MS-DOS позволяет обмениваться файлами со скоростью передачи до 115,2 Кбит/с без использования аппаратных прерываний. Это же соединение может использоваться и сетевым пакетом Lantastic, предоставляющим более развитый сервис.
Подключение принтеров и плоттеров к СОМ-порту требует применения кабеля, соответствующего выбранному протоколу управления потоком: программному XON/XOFF или аппаратному RTS/CTS. Аппаратный протокол предпочтительнее, поскольку он не требует программной поддержки со стороны PC. Прерывания при выводе средствами DOS (командами COPY или PRINT) не используются.
СОМ-порт иногда используется и для подключения электронных ключей (Security Devices), предназначенных для защиты от нелицензированного использования программных продуктов. Эти устройства могут быть как «прозрачными», позволяя воспользоваться тем же портом и для подключения периферии, так и полностью занимающими порт.
СОМ-порт при наличии соответствующей программной поддержки позволяет превратить PC в терминал, эмулируя систему команд распространенных специализированных терминалов (VT-52, VT-100 и других). В принципе простейший терминал получается, если замкнуть друг на друга функции BIOS обслуживания СОМ-порта (Int 14h), функцию телетайпного вывода видеосервиса (Int 10h) и клавиатурный ввод (Int 16h). Однако такой терминал будет работать лишь на малых скоростях обмена (если, конечно, его делать не на Pentium), поскольку функции BIOS хоть и универсальны, но работают не самым быстрым образом.
Этим списком, конечно же, возможности использования СОМ-порта не исчерпываются. Интерфейс RS-232C широко распространен в различных периферийных устройствах и терминалах. Все они, при наличии должной программной поддержки, могут подключаться к PC. Кроме использования по прямому назначению, СОМ-порт может использоваться и как двунаправленный интерфейс, у которого имеется 3 программно-управляемых выходных линии и 4 программно-читаемых входных линии с двуполярными сигналами. Возможность их использования ограничивается только фантазией разработчика. Существует, например, схема однобитного широтно-импульсного преобразователя, позволяющего записывать звуковой сигнал на диск PC, используя входную линию СОМ-порта. Воспроизведение этой записи через обычный динамик обеспечивает разборчивость речи. Конечно, в настоящее время, когда звуковая карта стала почти обязательным устройством PC, это уже не впечатляет, но в свое время такое решение было довольно интересным.