Программирование модема. Часть три:
Существует ещё несколько команд
Дополнительные команды MNP-модемов
В настоящее время получили широкое распространение модемы со
встроенной коррекцией ошибок на основе набора протоколов MNP фирмы
Microcom, поэтому имеет смысл уделить внимание дополнительным командам
этих модемов. MNP команды вводятся так же, как и обычные
АТ команды. Наиболее часто встречаются модемы, аппаратно
поддерживающие MNP уровня 5, хотя фирма Microcom уже выпускает
модемы, поддерживающие MNP уровня 10. Уровень 4 алгоритмически
обеспечивает практически 100-процентную защиту передаваемых данных, в
уровнях 5 и 7 достигнуто общее увеличение эффективности передачи
путем использования сжатия данных. При использовании MNP модемов,
как правило, можно устанавливать скорость работы последовательного
порта, к которому подключен модем, вдвое больше номинальной
cкорости модема. Протоколы MNP различных уровней совместимы снизу
вверх. Дальнейшее развитие протоколов MNP направлено на обеспечение
еще более устойчивой работы на зашумленных линиях (что особенно
актуально в нашей стране).
В процессе установления связи MNP модем пытается определить наивысший
возможный MNP уровень абонента. Если модем или программное обеспечение
абонента не поддерживают MNP, MNP модем работает как обычный модем.
Необходимо отметить, что в связи с общепринятой практикой передачи
по телефонным каналам предварительно архивированных данных объявленное
фирмой Microcom 200- и 300-процентное повышение эффективности передачи
не достигается.
В MNP модемах режим передачи данных имеет следующие разновидности :
- режим прямой передачи (Direct mode) ;
- нормальный режим с буферизацией (Normal mode) ;
- режим передачи с коррекцией ошибок и автоматической настройкой
(Auto-reliable mode) ;
- режим передачи с коррекцией ошибок и буферизацией (Reliable mode).
Режим прямой передачи MNP модемов эквивалентен стандартному режиму
передачи данных обычных модемов.
В нормальном режиме модем обеспечивает буферизацию данных. Это
позволяет работать с различными скоростями обмена данных между модемом
и терминалом и по линии, что повышает производительность
передачи данных.
Режим передачи данных с коррекцией и автоматической настройкой
предназначен для ситуаций, когда заранее неизвестен тип модема
абонента. После согласования характеристик модемов в начале сеанса
связи MNP модем переходит в один из трех других режимов.
Режим передачи с коррекцией ошибок и буферизацией - это стандартный режим
передачи данных между MNP модемами с полным использованием всех
преимуществ MNP модемов.
MNP команды.
\An : устанавливает максимальный размер блока протокола MNP.
Выбор большего значения блока повышает скорость передачи
данных по хорошей линии, меньшее значение позволяет
устойчиво передавать данные по линиям плохого качества.
MNP 4 и 5 автоматически корректируют размер блока в
зависимости от числа сбоев при передаче:
\A0 : максимальный размер блока - 64 байта
\A1 : максимальный размер блока - 128 байта
\A2 : максимальный размер блока - 192 байта
\A3 : максимальный размер блока - 256 байта
%An : значение n от 0 до 127 определяет код принимаемого символа,
используемый командой \C2 при переходе из режима передачи
данных с буферизацией и автоматической настройкой в
нормальный режим.
\B : команда вызывает передачу специального сигнала прерывания.
Обработка прерывания определяется режимом, установленным
командой \K.
\Cn : установка размера буфера для режима передачи данных с
буферизацией и автоматической настройкой.
n=0 отменяет буферизацию и переход в нормальный режим;
n=1 устанавливает размер буфера равным 200 символов;
n=2 разрешает переход в нормальный режим, если будет принят
символ, установленный командой %An.
%Cn : %C0 отменяет сжатие данных при передаче по протоколу MNP,
%C1 разрешает сжатие данных (MNP 5).
\En : n=0 отменяет эхо-печать символов;
n=1 устанавливает эхо-печать.
\Gn : устанавливает режим управления потоками данных между
модемами с помощью символов XON/XOFF:
n=0 отменяет контроль;
n=1 разрешает контроль.
\Jn : n=0 запрещает передачу данных между модемом и терминалом и
по линии с разными скоростями.
n=1 позволяет такой обмен, чем достигается максимальная
эффективность при использовании протокола MNP 5.
\Kn : устанавливает детали процесса обработки прерывания
(Break) после выполнения команды \B. Подробности можно
узнать в документации, прилагаемой к модему.
\Nn : выбор режима передачи данных:
n=0 устанавливает нормальный режим с буферизацией ;
n=1 устанавливает режим прямой передачи ;
n=2 устанавливает режим передачи с коррекцией ошибок и
буферизацией;
n=3 устанавливает режим передачи с коррекцией ошибок и
автоматической настройкой.
\O : команда заставляет модем инициировать режим передачи
данных с коррекцией ошибок и буферизацией независимо от
того, инициирует ли модем связь или отвечает. При неудаче
модем переходит в нормальный режим.
\P : по этой команде телефонный номер записывается в
энергонезависимую память.
\Qn : команда определяет метод управления потоками данных
между модемами по линии и терминалом. В зависимости
от возможностей используемого оборудования, такое
управление может быть запрещено или разрешено. Программное
обеспечение передачи данных по протоколу MNP позволяет
эффективно использовать управление потоками данных и
буферизацию для общего повышения производительности при
передаче данных. Если терминал не поддерживает управление
потоком данных, управление запрещается, причем скорость
передачи данных через последовательный порт должна быть
установлена равной или ниже скорости связи по линии. В
другом случае допускается работа с разными скоростями.
При пересылке двоичных данных рекомендуется использование
метода управления потоками данных с помощью сигналов
CTS/DTS порта RS-232:
n=0 отменяет управление потоками данных;
n=1 определяет управление с помощью символов
XON/XOFF,
при котором посылка символа XOFF (Control-S)
приостанавливает передачу данных, а символа XON
(Control-Q) - возобновляет;
n=2 определяет управление с помощью сигналов CTS/DTS.
\S : показ активной конфигурации модема, позволяющий быстро
определить многие параметры установки.
\Tn : установка таймера пассивности, значение n меняется в
интервале 0-90 минут. Если n=0, таймер отключается.
Связь разрывается, если в течение указанного периода
данные не передавались.
\U : указание модему установить режим RELIABLE независимо от
того, отвечает модем на звонок или инициирует его. При
невозможности установления модем переходит в нормальный
режим.
%U : сброс значения скорости передачи данных через
последовательный порт. Используется в модемах Microcom
серии AX. В других модемах команда обычно воспринимается,
но не выполняется.
\Vn : модификация представления кода результата. \V0 показывает,
что код результата должен представляться в стандартном
виде, \V1 - код модифицируется в соответствии с MNP.
Значения стандартных и модифицированных кодов :
CONNECT 1 CONNECT 0300/REL 20
CONNECT 1200 5 CONNECT 1200/REL 22
CONNECT 2400 10 CONNECT 2400/REL 23
Остальные коды результата командами \V не изменяются.
%V : показ информации изготовителя модема.
\Xn : команда определяет, передавать или нет распознанные символы
XON/XOFF между модемом и портом, а также между модемом и
терминалом:
n=0 отменяет передачу распознанных символов XON/XOFF по
линии;
n=1 разрешает передачу распознанных символов XON/XOFF по
линии.
\Y : переключение в режим передачи данных с коррекцией ошибок
и буферизацией в момент, когда установлено соединение и
модем находится в прямом или нормальном режимах. При
неудаче модем возвращается в нормальный режим.
\Z : переключение из режима передачи данных с коррекцией ошибок
и буферизацией в нормальный в момент, когда установлено
соединение. Данные, находящиеся в буферах, будут утеряны.
Автор будет благодарен читателям, приславшим в редакцию свои отзывы,
замечания и добавления.