Бывают также платы, содержащие четыре или восемь портов последовательной передачи данных. Их часто используют для подключения нескольких компьютеров или терминалов к одному, центральному компьютеру. Эти платы имеют название "мультипорт".
В основе последовательного порта передачи данных лежит микросхема INTEL 8250 или ее современные аналоги - INTEL 16450,16550,16550A. Эта микросхема является универсальным асинхронным приемопередатчиком (UART - Universal Asynchronous Receiver Transmitter). Микросхема содержит несколько внутренних регистров, доступных через команды ввода/вывода.
Микросхема 8250 содержит регистры передатчика и приемника данных. При передаче байта он записывается в буферный регистр передатчика, откуда затем переписывается в сдвиговый регистр передатчика. Байт "выдвигается" из сдвигового регистра по битам.
Программа имеет доступ только к буферным регистрам, копирование информации в сдвиговые регистры и процесс сдвига выполняется микросхемой UART автоматически.
К внешним устройствам последовательный асинхронный порт подключается через специальный разъем. Существует два стандарта на разъемы интерфейса RS-232-C, это DB-25 и DB-9. Первый имеет 25, а второй 9 выводов. Для работы приемно-адаптерного прибора используется 25-штырьковый разъем.
ТАБЛИЦА 1.
Разводка разъема DB25
Номер Назначение контакта Вход или
контакта (со стороны компьютера) выход
1 Защитное заземление (Frame Ground,FG) -
2 Передаваемые данные (Transmitted Data,TD) Выход
3 Принимаемые данные (Received Data,RD) Вход
4 Запрос для передачи (Request to send,RTS) Выход
5 Сброс для передачи (Clear to Send,CTS) Вход
6 Готовность данных (Data Set Ready,DSR) Вход
7 Сигнальное заземление (Signal Ground,SG) -
8 Детектор принимаемого с линии сигнала
(DataCarrierDetect,DCD) Вход
9-19 Не используются
20 Готовность выходных данных
(DataTerminalReady,DTR) Выход
21 Не используется
22 Индикатор вызова (Ring Indicator,RI) Вход
23-25 Не используются
ТАБЛИЦА 2.
Разводка разъема DB9
Номер Назначение контакта Вход иликонтакта (со стороны компьютера) выход
1 Детектор принимаемого с линии сигнала
(Data Carrier Detect, DCD) Вход
2 Принимаемыеданные (Received Data, RD) Вход
3 Передаваемые данные (Transmitted Data, TD) Выход
4 Готовность выходных данных
(Data Terminal Ready, DTR) Выход
5 Сигнальное заземление (Signal Ground, SG) -
6 Готовность данных (Data Set Ready, DSR) Вход
7 Запрос для передачи (Request to send, RTS) Выход
8 Сброс для передачи (Clear to Send, CTS) Вход
9 Индикатор вызова (Ring Indicator,RI) Вход
Компьютер является терминальным устройством. Модем (адаптер ПС) является устройством связи.
Стандарт RS-232-C определяет возможность управления потоком только для полудуплексного соединения, при котором в каждый момент времени данные могут передаваться только в одну сторону.
Технические параметры интерфейса RS-232-C
При передаче данных на большие расстояния без использования специальной аппаратуры из-за помех, наводимых электромагнитными полями, возможно возникновение ошибок. Вследствие этого накладываются ограничения на длину соединительного кабеля между устройствами DTR-DTR и DTR-DCE.
Официальное ограничение по длине для соединительного кабеля по стандарту RS-232-C составляет 15,24 метра. Однако на практике это расстояние может быть значительно больше. Оно непосредственно зависит от скорости передачи данных.
110бод - 1524м / 914,4м
300бод - 1524м / 914,4м 1200бод - 914,4м / 914,4м 2400бод - 304,8м / 152,4м 4800бод - 304,8м / 76,2м 9600бод - 76,2м / 76,2м
Уровни напряжения на линиях разъема составляют для логического нуля -15..-3 вольта, для логической единицы +3..+15 вольт. Промежуток от -3 до +3 вольт соответствует неопределенному значению.
Порты асинхронного адаптера
На этапе инициализации системы, модуль POST BIOS тестирует имеющиеся асинхронные порты RS-232-C и инициализирует их. В зависимости от версии BIOS инициализируются первые два или четыре порта. Их базовые адреса располагаются в области данных BIOS, начиная с адреса 0000:0400h.
Первый адаптер COM1 имеет базовый адрес 3F8h и занимает диапазон адресов от 3F8h до 3FFh. Второй адаптер COM2 имеет базовый адрес 2F8h и занимает адреса 2F8h..2FFh.
Асинхронные адаптеры могут вырабатывать прерывания:
COM1, COM3 - IRQ4
COM2, COM4 - IRQ3
Имеется 7 основных регистров для управления портами:
а) Регистр данных
Регистр данных расположен непосредственно по базовому адресу порта RS-232-C и используется для обмена данными и для задания скорости обмена.
Для передачи данных в этот регистр необходимо записать передаваемый байт данных. После приема данных от внешнего устройства принятый байт можно прочитать из этого же регистра (см. Приложение 1).
В зависимости от состояния старшего бита управляющего регистра (расположенного по адресу base_adr+3, где base_adr соответствует базовому адресу порта RS-232-C),назначение этого регистра может изменяться. Если старший бит равен нулю, регистр
используется для записи передаваемых данных. Если же старший бит равен единице, регистр используется для ввода значения младшего байта делителя частоты тактового генератора. Изменяя содержимое делителя, можно изменять скорость передачи данных. Старший байт делителя записывается в регистр управления прерываниями по адресу base_adr+1.
Максимальная скорость обмена информацией, которую можно достичь при использовании асинхронного адаптера, достигает 115200 бод, что примерно соответствует 14 Кбайт в секунду.
б) Регистр управления прерываниями
Этот регистр используется либо для управления прерываниями от асинхронного адаптера, либо (после вывода в управляющий регистр байта с установленным в 1 старшим битом) для вывода значения старшего байта делителя частоты тактового генератора.
в) Регистр идентификации прерывания
Считывая его содержимое, программа может определить причину прерывания
г) Управляющий регистр
Управляющий регистр доступен по записи и чтению. Этот регистр управляет различными характеристиками UART: скоростью передачи данных, контролем четности, передачей сигнала BREAK, длиной передаваемых слов (символов).
д) Регистр управления модемом
Регистр управления модемом управляет состоянием выходных линий DTR, RTS и линий, специфических для модемов - OUT1 и OUT2, а также запуском диагностики при соединенных вместе входе и выходе асинхронного адаптера.
е) Регистр состояния линии
Регистр состояния линии определяет причину ошибок, которые могут возникнуть при передаче данных между компьютером и микросхемой UART.
ж) Регистр состояния модема
Регистр состояния модема определяет состояние управляющих сигналов, передаваемых модемом асинхронному порту компьютера.
Инициализация асинхронного адаптера
Первое, что должна сделать программа, работающая с асинхронным адаптером - установить формат и скорость передачи данных. После загрузки операционной системы для асинхронных адаптеров устанавливается скорость 2400 бод, не выполняется проверка на четность, используются один стоповый и восьмибитовая длина передаваемого символа. Можно изменить этот режим командой MS-DOS MODE.
Выполнив ввод из управляющего регистра, программа может получить текущий режим адаптера. Для установки нового режима измените нужные вам поля и запишите новый байт режима обратно в управляющий регистр.
Если вам надо задать новое значение скорости обмена данными, перед записью байта режима установите старший бит этого байта в 1, при этом регистр данных и управляющий регистр используются для задания скорости обмена. Затем последовательно двумя командами ввода загрузите делитель частоты тактового генератора. Младший байт запишите в регистр данных, а старший - в регистр управления прерываниями.
Перед началом работы необходимо также проинициализировать регистр управления прерываниями, даже если в вашей программе не используются прерывания от асинхронного адаптера (см. Приложение 1). Для этого сначала надо перевести регистр данных и регистр управления прерываниями в обычный режим, записав ноль в старший бит управляющего регистра. Затем можно устанавливать регистр управления прерываниями. Если прерывания вам не нужны, запишите в этот порт нулевое значение.
Электронная почта
Большой интерес представляет использование приемно-адаптерного прибора в локальной сети АСУ МЧС как средства обработки и дальнейшего анализа информации. Одной из возможностей сети является организация электронной почты. Если компьютер подключен к сети, и вы имеете специальное программное обеспечение для обмена почтой, имеется возможность отправлять через сеть письма (сообщения) другим пользователям сети (рис. 3).
Само письмо представляет собой обычный файл, содержащий текст письма и специальный заголовок, в котором указано, от кого письмо направлено, кому предназначено, какая тема письма и дата отправления. Автоматизировать данный процесс несложно при наличии программного обеспечения обмена данными по сети на компьютерах.