1. Основные функции программ для модемов
Набор выполняемых связными программами функций чрезвычайно широк и может значительно отличаться в каждом конкретном случае. Основными функциями программ для модемов являются:
^ конфигурирование связного порта и режимов его взаимодействия с внутренней шиной компьютера (для внутренних модемов);
> конфигурирование модема, то есть установка протокола передачи, формата данных, команд и других параметров;
> управление модемом в процессе установления соединения и при передаче данных, вывод ответов модема и информации о состоянии соединения;
> передача файлов между взаимодействующими компьютерами;
> диалоговый текстовый обмен между пользователями компьютеров (Chat-режим);
> доступ к информационным службам, базам данных;
> выход в Internet;
> удаленный доступ к локальной сети предприятия;
> эмуляция режима Host — компьютера (главной ЭВМ) для ряда удаленных терминалов;
> эмуляция режима терминала удаленного Host-компьютера;
> сохранение принимаемой и передаваемой информации;
> регистрация событий, происходящих в течение сеанса связи;
> автоматизация часто повторяющихся последовательностей действий;
> передача факсимильной информации между компьютерами или компью тером и факсимильным аппаратом;
> организация хранения вспомогательной информации, такой как телефон ные номера, данные о конфигурации модема и др.
Связные программы обеспечивают интерфейс пользователя с модемом, позволяют управлять конфигурацией модема и выполнением ими основных своих функций.
Кроме перечисленных основных функций, иногда возможна реализация протоколов сжатия данных и исправления ошибок.
Специфическими особенностями программ передачи факсимильной информации являются:
> передача данных по расписанию многочисленным адресатам;
^ прием и передача факсимильной информации в фоновом режиме;
> преобразование ряда графических форматов данных в стандартные для факсимильных аппаратов;
> возможность просмотра факсимильной информации.
13.2. Типовые команды связных программ
В большинстве связных программ (в основном для операционных систем типа DOS) для управления их режимами работы наряду с меню используются так называемые Alt-команды. Можно сказать, что сформировался некий стандарт де-факто на такие команды. Однако в конкретной реализации коммуникационной программы возможны некоторые отличия. Рассмотрим типовые Alt-команды на примере программы Procomm Plus.
13.2.1. Команды управления соединением
До соединения:
— выход в телефонный справочник и набор номера.
В процессе соединения:
— передача разрыва;
- очистка экрана;
— сохранение информации, выведенной на экран;
— включение/отключение принтера;
— вывод времени соединения;
— использование клавиш макроопределений;
— включение/выключение записи в файл регистрации соеди нения;
- задание паузы записи в файл регистрации соединения;
- запуск Script-файла;
— повторный вывод сохраненного содержимого экрана;
— переключение режима дуплекс/полудуплекс;
— включение режима диалога (Chat—режима);
— включение Host-режима;
— инициализация модема;
— автоматический ответ на вызов;
— сброс терминала;
- режим записи;
— переход в меню команд программы защиты от ошибок прото кола Kermit;
— пауза экрана;
— переключение режимов "возврат каретки/ возврат каретки с переводом строки" (CR/CRLF).
После соединения:
— отключение от линии;
- выход из программы.
13.2.2. Команды установки конфигурации
— конфигурирование модема;
—
конфигурирование портов;
таблица преобразования;
- распределение функций клавиш клавиатуры.
13.2.3. Команды дополнительных функций
— вызов текстового редактора;
— выход в каталог файлов;
— вывод информации о программе;
— просмотр файла;
— смена каталога;
— использование буфера временного хранения (Clipboard);
— режим монитора;
— < ]> изменение состояния;
— < — > изменение строк;
выход в меню программы.
13.3. Конфигурирование порта
13.3.1. Установка номера порта
Большинство программ позволяют использовать последовательные порты СОМ 1—COM4. Однако программы, ориентированные на компьютеры IBM PS/2, могут использовать СОМ1—СОМ8. Номер порта, устанавливаемый в программе, должен соответствовать реально используемому модемом порту. Рис. 13.1 иллюстрирует меню операционной системы Windows'95, в котором производится установка номера порта.
13.3.2. Скорость передачи
Скорость передачи данных по последовательному порту задается одним из значений: 75, 110, 300, 1200, 2400, 4800, 9600, 19600, 38400, 57600, 115200 Бод. Выбор скорости зависит от типа модема, его максимальной скорости и типа микросхемы UART, используемой в контроллерах последовательного порта модема и компьютера.
Если вы не являетесь счастливым обладателем UART 16550A и не используете программные ускорители типа FOSSIL-драйверов, то скорость передачи порта не может быть выше 19200 Бод.
При использовании модема, поддерживающего протоколы сжатия (V.42bis, MNP5), рекомендуется устанавливать скорость порта несколько большей, чем максимально возможная скорость передачи информации модемом. Например, если модем поддерживает протокол V.34 (28800 бит/с), то необходимо установить скорость порта 38400, 57600, или 115200 Бод.
Часто для более устойчивой работы приложений требуется, чтобы скорость передачи по используемому порту была постоянной и не изменялась в течение сеанса связи, даже несмотря на изменение скорости передачи модемом в канале. Это условие, в частности, относится к программам, использующим в своей работе Fossil-драйверы. Такая "залочка" (lock — замок, запирать) порта, как правило, достигается подачей команды АТ&В1 или явным заданием скорости порта в программе. В Windows'95, характеризующейся общим "отчуждением железа" от пользователя, фиксация скорости порта осуществляется установкой флажка "Only connect at this speed" в поле "Maximum speed" меню General (Control PanelModemsGeneral) (рис. 13.1).
13.3.3. Формат передачи
Формат передаваемых через порт асинхронных знаков задается следующими параметрами:
> числом бит данных (7 или 8);
> числом стоповых бит (1, 1.5 или 2);
> типом проверки (на четность — Even, на нечетность — Odd, без проверки — None, проверочный бит всегда равен "1" — Mark, проверочный бит всегда равен "О" — Space).
Наиболее широко используется формат символа, включающий в себя 8 бит данных и 1 столовый бит без использования проверки (8N1). Значения соответствующих параметров для данного формата в Windows'95 показаны на рис. 13.2.
Рис. 13.3. Установка адреса порта и номера прерывания в терминальной программе Telix
13.3.4. Адрес порта и номер прерывания
При конфигурировании встроенных модемов задаются адрес порта ввода-вывода и номер линии прерывания. На рис. 13.3 и 13.4 иллюстрируется выполнение этой операции для DOS с помощью программ Telix и Term95 (терминальной программы, включенной в состав оболочки Norton Commander 5.0).
13.4. Использование FOSSIL-драйверов
FOSSIL-драйверы используются для расширения функций BIOS, обслуживающих асинхронный последовательный порт (FOSSIL — аббревиатура названий нескольких коммуникационных программ Fido/Opus/SEAdog Standard Layer). Дополнительно эти драйверы поддерживают ряд функций для работы с клавиатурой, видеоадаптером и системным таймером.
Применение FOSSIL-драйверов позволяет увеличить скорость обмена по последовательному порту до 38400 Бод, в то время как функции BIOS обеспечивают максимальную скорость передачи только 9600 Бод.
Работа FOSSIL-драйверов основана на перехвате прерываний от портов. Драйверы содержат два внутренних буфера (приемника и передатчика), организованных в виде очереди FIFO. В буфер передатчика записываются данные, передаваемые компьютером модему. Драйвер самостоятельно определяет, когда свободен регистр данных СОМ-порта, и записывает в него очередной символ данных. При этом переданный символ удаляется из буфера, и осуществляется передача следующего символа. В буфер приемника драйвер записывает данные, поступающие в компьютер через СОМ-порт. Затем содержимое этого буфера может быть считано прикладной программой при помощи специальной функции драйвера.
Существуют специальные FOSSIL-драйверы, обеспечивающие программную эмуляцию протоколов исправления ошибок. Наиболее распространенными FOSSIL-драйверами являются XOO.SYS (ХОО.СОМ) и BNU.EXE (BNU.COM). В качестве примера рассмотрим установку этих драйверов.
Для запуска драйвера из стартового файла CONFIG.SYS, в нем необходимо записать строку:
device = XOO.SYS Е 2 Т=1024 R=2048,
где Е — отключение заставки, 2 — номер СОМ-порта, Т=1024 — размер буфера для передачи, R=2048 — размер приемного буфера.
При запуске драйвера из командной строки DOS с теми же параметрами необходимо набрать следующую команду:
ХОО.ЕХЕ Е 2 Т=1024 R=2048 Драйвер BNU.EXE запускают из командной строки следующим образом:
BNU.EXE /T:1024 /R:2048 /М-,
где /Т=1024 — размер буфера для передачи, /R=2048 — размер приемного буфера, /М— — отключение заставки.
Рассматриваемые драйверы допускают фиксацию скорости порта, что оказывается полезным при использовании модемов с аппаратным сжатием передаваемых данных. При фиксации порта в команды запуска FOSSIL-драйверов добавятся следующие параметры (порт COM2, скорость фиксации 9200 Бод):
> при запуске драйвера ХОО в CONFIG.SYS:
device = XOO.SYS Е 2 Т=1024 R=2048 В,2,19200 > при запуске драйвера ХОО из командной строки DOS:
ХОО.ЕХЕ Е 2 Т=1024 R=1024 В,2,19200 > при запуске драйвера BNU:
BNU.EXE /R-.1024 /Т:2048 /М- /L1:19200,8N1
Для большинства модемов V.22bis (2400 Бод) с аппаратными протоколами MNP и V.42bis рекомендуется установить скорость порта 9600 Бод, для модемов V.32 (9600 Бод) - 19200 бод, а для модемов V.32bis (14400 Бод) - 19200 и выше. Максимальная скорость в этом случае зависит уже от параметров СОМ-порта.
13.5. Конфигурирование модема
Установки параметров и управление работой модема осуществляется с помощью АТ-команд. Для удобства пользователя современные коммуникационные программы используют заранее подготовленные данные о конфигурации и АТ-командах большого числа известных модемов. Если модем не входит в их число, то приходится выбирать наиболее близкий по характеристикам из списка либо самостоятельно создать строку инициализации, автоответа, отбоя и т.п., пользуясь документацией на модем.
13.5.1. Строка инициализации
Строка инициализации (init string) задает исходный режим работы модема и состоит из ряда АТ-команд. В общем случае таких строк может быть несколько — для различных режимов соединения. Например, одна — для соединения без использования протоколов сжатия данных и исправления ошибок, другая — с использованием таких протоколов. Часто строку инициализации можно сократить, записав необходимые установки в память модема, например, командой AT&W1.
Пример строки инициализации в меню Modem Settings программы Term 95 приведен на рис. 13.5.
В операционной системе Windows'95 строка инициализации в явном виде практически никогда не задается. При инициализации модема, обслуживаемого Windows'95, посылаются команды, соответствующие установкам параметров модема.
Таблица 13.1. Протокол соединения модема