12/02/94 09:57am
com_vved.lek
А.В.Фролов, Г.В.Фролов
"Программирование модемов"
серия БСП том 4 М. "ДИАЛОГ-МИФИ"
1994 издание второе, стереотипное.
А.В.Фролов, Г.В.Фролов "Локальные
сети персоналиных компьютеров.
Использование протоколов IPX, SPX,
NETBIOS" серия БСП том 8 М.
"ДИАЛОГ-МИФИ" 1993.
Основные сведения о COM портах.
Последовательный
асинхронный адаптер представляет
собой отдельный модуль или
расположен на материнской плате.
Каждый адаптер может содержать
несколько портов, через которые к
компьютеру подключаются внешние
устройства.
Каждому порту соответствует
несколько регистров для
организации взаимодействия с ним и
линия IRQ для реализации механизма
работы по прерываниям (иногда
несколько портов используют одну
линию запроса прерывания. Каждый
COM-порт имеет логический номер от 1
до 4.
Обмен с периферийным оборудованием ведется в последовательном коде по стандарту интерфейса RS-232-C, разработанному ассоциацией электронной промышленности (Electronic Industries Association - EIA). Советский аналог интерфейса называется "Стык С2".
Основные понятия и термины, применяемые в RS-232-C.
Под последовательным кодом понимается, что для передачи всех битов слова используется одна линия связи. Вообще обмен может вестись в синхронном и асинхронном режимах:
При СИНХРОННОМ обмене передатчик и приемник синхронизируются по выполняемым операциям и работают как одно целое. Промедление на одной из сторон неизбежно приводит к потере данных. В этом режиме данные передаются единым блоком без промежутков между отдельными байтами. Режим применяется при необходимости передать большое количество информации с большой скоростью.
АСИНХРОННЫЙ
РЕЖИМ используется при передаче
отдельных байт, причем промежуток
времени между передачей соседних
байт может быть произвольным.
При асинхронном обмене
информационные байты оформляются в
слова, формат которых зависит от
текущей настройки порта:
Стартовый бит - сигнализирует приемнику о начале передачи слова;
Информационная часть - содержит 5..8 бит передаваемого байта (младший бит передается первым);
Необязательный бит паритета - используется для проверки правильности данных на приемной стороне;
Стоповые биты - сообщают приемнику о конце передачи, количество бит программируется и бывает равно 1 или 2 (некоторые микросхемы могут быть настроены на генерацию полутора стоповых бит).
COM-порты являются усечением интерфейса RS-232-C и могут работать только в асинхронном режиме.
ОТМЕЧЕННЫМ (mark) состоянием называется состояние линии связи между передачей отдельных байт (соответствует логической единице).
ПУСТОЕ (space) состояние это момент передачи стартового бита (соответствует логическому нулю).
Состояние РАЗРЫВА (break) фиксируется, если "space" продолжается более определеного времени.
Скорость обмена может указываться в двух величинах:
В БОДАХ - соответствует частоте с которой биты слова "выталкиваются" в линию связи.
В БИТАХ в СЕКУНДУ - в этом случае скорость определяется количеством информационных бит, переданных за единицу времени (эффективная скорость).
В каждый момент времени в обмене учавствуют два устройства:
ТЕРМИНАЛЬНОЕ устройство (Data Terminal Equipment - DTE) - конечное устройство выдающее или принимающее информацию - компьютер или диспей. Это устройство осуществляет преобразование параллельного кода в последовательный и наоборот;
Устройство СВЯЗИ (Data Communication Equipment - DCE) - промежуточное устройство, преобразующее сигнал в форму, удобную для транспортировки (производит модуляцию сигнала). К DCE так же относится периферийное оборудование (принтеры, графопостроители...).
В целом схема связи выглядит так:
При малом расстянии между DTE можно организовать связь между ними напрямую (без DCE), но надо применять специальные методы - каждое DTE должно считать, что оно работает с DCE. Для осуществления такой связи применяется специальный кабель, называемый НУЛЬ-МОДЕМ.
Каждое из устройств, участвующее в обмене потенциально может принимать и передавать информацию, поэтому существует классификация обмена по очередности приема/передачи:
СИМПЛЕКСНАЯ связь - обмен всегда в одну сторону (компьютер --> принтер).
ДУПЛЕКСНАЯ связь - обмен двусторонний, причем оба устройства могут передавать и принимать информацию одновременно.
ПОЛУДУПЛЕКСНАЯ связь - обмен двусторонний, но в каждый конкретный момент передача осуществляется только в одну сторону.
Назначение основных сигналов COM-порта:
DCD (Data Carrier Detect) - Детектор принимаемого сигнала с линии (при помоши этого сигнала DCE сообщает своему DTE, что связь с DCE на другом конце линии установлена);
RxD (Received Data) - Принимаемуе данные (по этой линии DTE получает от DCE данные);
TxD (Transmitted Data) - Передаваемые данные (по этой линии DTE отправляет к DCE данные);
DTR (Data Terminal Ready) - Готовность выходных данных (при помощи этого сигнала DTE указывает DCE что он готов к проведению сеанса связи и что DCE должно выполнить необходимую коммутацию);
SG (Signal Ground) - Сигнальное заземление (существует еще Frame Ground - защитное заземление);
DSR (Data Set Ready) - Готовность данных (этим сигналом DCE сообщает своему
DTE, что оно может осуществить связь с ним);
RTS (Request To Send) - Запрос для передачи (DTE указывает, что оно готово начать передачу);
CTS (Clear To Send) - Сброс для передачи (DCE сообщает, что оно готово принимать данные от DTE);
RI (Ring Indicator) - Индикатор вызова (DCE сообщает DTE что на линии связи находится устройство, желающее осуществить обмен).
Офицально длина кабеля между DTE и DCE не может превышать 15.24 метра; но на практике допустимая длина непосредственно зависит от скорости обмена и наличия экрана. Например при скорости 2400 бод максимальная длина экранированного кабеля 304.8 метра, а неэкранированного 152,4 метра.
Логическому нулю соответствует напряжение -(15..3) вольт, а логической единице +(3..15). Промежуток -3..+3 соответствует неопределенному значению.