Разделы
Публикации
Популярные
Новые
Главная » Системы передачи данных

1 ... 6 7 8 9 10 11 12 ... 38

MNP 2 обеспечивает реализацию более высокого уровня дуплексной связи и требует использования модемов с микропроцессорным управлением. Обмен данными по-прежнему осуществляется на. основе стандартного метода асинхронного кадрирования. Поскольку в дополнение к исходной информации должна передаваться протокольная информация, фактическая информационная производительность модема меньше, чем его скорость передачи.

MNP 3 устанавливает процедуру синхронной связи между модемами. Из байтов данных, принимаемых от ООД, формируются группы, называемые пакетами. Каждый пакет пересылается как один синхронный кадр. При таком способе передачи данных отпадает необходимость в стартовых и стоповых битах, которые обычно пересылаются с каждым байтом, и в результате уменьшается количество передаваемой служебной информации.

MNP 4 вводит два новых метода управления данными. Первый метод позволяет модему изменять размер информационного пакета в зависимости от условий на линии связи. Пакет может быть состав , влен из 32, 64, 128, 192 или 256 байтов. По линии с большим уровнем шумов пересылаются пакеты меньших размеров; в результате увеличивается вероятность того, что пакет будет передан без ошибок и, следовательно, его не нужно будет пе1)едавать повторно. По высококачественным линиям могут пересылаться пакеты больших размеров; при этом уменьшается количество избыточной служебной информации и увеличивается производительность.

Второй метод, входящий в MNP 4, позволяет исключать из потока данных повторяющуюся управляющую информацию. Благодаря этому уменьшается количество передаваемой служебной информации, и большая часть информационной пропускной способности канала используется для передачи данных. Эти два метода в комбинации с MNP 3 могут обеспечить увеличение производительности модема на 20% от его номинальной скорости передачи.

MNP-протокол контроля ошибок реализуется как альтернативная процедура стандарта V.42. Возможны два режима работы в зависимости от формата передаваемых данных. При побайтовой передал че данных (когда каждый байт пересылается со своим собственным стартовым и стоповым битами) используются четыре специальных флага, указывающих начало и конец пакета данных. Байтовый па кет состоит из следующих полей.

Стартовые флаги

Заголовок

Информация

Стоповые флаги

16-разрядная контрольная последовательность пакета

Стартовые флаги занимают три, а стоповые - два байта. Значения флагов выбираются таким образом, чтобы с гарантией исключить возможность считывания данных как флагов, в наоборот. Поле за головка содержит параметры как фиксированной, так и переменной длины, и включает команды, ответы и порядковые номера пакетов. Информационное поле содержит передаваемые данные.

Заметим, что контрольная последовательность кадра (16-разрядный ЦИК) добавляется к пакету вслед за стоповыми флагами. ЦИК-многочлен, используемый в этом режиме, отличается от многочлена, используемого LAPM-протоколом.

Во втором режиме данные рассматриваются как непрерывный поток битов. В этом случае пакеты содержат следующие поля.

Стартовый флаг

Заголовок

Информация

16-разрядная контрольная последовательность пакета

Стоповый флаг

В данном режиме стартовые и стоповые флаги идентичны и занимают 8 разрядов. Что касается 16-разрядной контрольной последовательности пакета, то она идентична контрольной последовательности, используемой LAPM-протоколом. Все остальные поля имеют то же самое назначение, что и в байтовом пакете.

Во время высокоскоростной передачи данных передающий модем посылает поток пакетов. Он не ждет подтверждения получения каг ждого пакета в отдельности перед посылкой следующего пакета. В результате при получении сообщения об ошибке модем может оказаться в ситуации, когда ему потребуется дать задний ход нескольким пакетам, прежде чем начать повторную передачу. Все пакеты, следующие за пакетом с обнаруженной ошибкой, передаются повторно, даже если они были получены без ошибок. MNP 9 повышает эффективность этой процедуры за счет разрешения повторной передачи только тех пакетов, которые приняты с ошибками.

MNP 10 - относительно новый протокол. Он предназначен для обеспечения передачи данных при неблагоприятных или изменяющихся условиях на линии связи, характерных, например, для сотовых телефонных систем. Отличительные особенности MNP 10 включают возможность использования многократных попыток установления связи, динамическую подстройку уровня передачи модема и гораздо большую способность подстройки размера пакета. Дополнительным усовершенствованием, обеспечиваемым MNP 10, является возможность изменения скорости передачи не только в сторону ее уменьше-



НИЯ, но и в сторону увеличения - при улучшении условий на линии передачи.

Процедура доступа к линии для модемов (стандарт V.42). Стандарт МККТТ V.42 определяет процедуру доступа к линии для модемов (Link Access Procedure for Modems, LAPM) как основной протокол контроля ошибок. LAPM - протокол, основанный на форматах и процедурах высокоуровневого протокола управленгм каналом {High-level Data Link Control, или HDLC). LAPM-протокол обеспечивает некоторые преимущества над MNP 4, включая усовершенствование процедуры квитирования при установлении связи, лучшие рабочие характеристики при работе на плохих линиях связи и совместимость с выпускающимися OSI-стандартами (стандартами соединения открытых систем).

Согласно LAPM-протоколу все данные передаются в виде пакетов, границы которых задаются 8-разрядными флагами. Каждый пакет содержит следующие поля.

Открывающий флаг

Адрес

Контрольное поле

Информация (может отсутствовать)

Контрольная последовательность пакета Ш Закрывающий флаг

Адресное поле идентифицирует порядковый номер пакета. Этот номер может при необходимости использоваться протоколом контроля ошибок для идентификации пакета, который должен быть передан повторно. Контрольное поле используется для того, чтобы различить два типа пакетов: командные пакеты и пакеты с ответами модема. Информационное поле может присутствовать или отсутствовать в зависимости от типа пакета. Контрольная последовательность пакета представляет собой 16- или 32-разрядный ЦИК, который применяется для контроля целостности пакета. Модемы обмениваются пакетами, когда нужно передать данные и обеспечить контроль ошибок.

Сжатие данных

Метод сжатия данных вряд ли можно отнести к самым недавним изобретениям. Однако использование этого метода в модемах сделало его очень популярным. Сжатие данных осуществляется путем выборки из потока данных повторяющихся последовательностей символов и представления их в более краткой форме записи. На стороне

принимающего модема сокращенные представления этих последовательностей преобразуются в копию исходных данных. В результате большее количество информации передается за единицу времени с заметным увеличением производительности модема.

Более изощренные алгоритмы сжатия данных, применяемые в модемах, для эффективной работы должны сначала пройти курс обучения . При радикальном изменении состава потока данных эффективная скорость передачи снижается и остается на низком уровне до тех пор, пока не будет передано достаточное количество данных, чтобы переучить алгоритм. Многие типы файлов нельзя сжимать при передаче. Так, исполняемые файлы и файлы, которые сжимались еще до передачи, - плохие кандидаты для сжатия в модемах.

Наибольшее распространение получили два стандарта сжатия данных. Первый определяется в стандарте МККТТ V.42bis и предназначен для использования в сочетании с методом контроля ошибок стандарта V.42. Второй стандарт определяется в протоколах (классах) MNP 5 и MNP 7 семейства MNP-протоколов корпорации Microcom и предназначен для использования с протоколами контроля ошибок MNP 2-MNP 4. Оба типа протоколов сжатия данных обсуждаются ниже.

MNP 5. Протокол MNP 5 использует комбинацию адаптивного кодирования с применением кода Хаффмена и группового кодирования. При этом хорошо поддающиеся сжатию данные уменьшают свой исходный объем приблизительно на 50% и, следовательно, эффективная скорость их передачи возрастает вдьое по сравнению с номинальной скоростью передачи данных модемом.

На первом этапе процедуры сжатия используется метод группового кодирования для удаления из потока передаваемых данных слишком длинных последовательностей повторяющихся символов. Этот метод преобразует каждую группу из трех и более (вплоть до 253) одинаковых смежных символов к виду символх число символов. Поскольку групповое кодирование не связано с большими вычислениями, этот метод особенно хорошо подходит для передачи данных по линиям связи.

При реализации этого метода система группового кодирования проверяет выходящий поток данных. Алгоритм остается пассивным до тех пор, пока в этом потоке не обнаруживаются три одинаковых смежных символа. Как только это происходит, алгоритм начинает счет и удаляет из потока данных до 250 одинаковых, следующих друг за другом символов. Счетный байт посылается вслед за тремя исход-ыми символами и передача продолжается. На рис. 5.12 иллюстрируется пример группового кодирования потока данных.



Рис. 6.12. Групповое кодирование согласно протоколу MNP 5

До сжатия

А

В

В

с

с

с

Е

Е

Е

1 1 1 1 1

\ 1

\ 1

А

В

в

с

с

с

Е

После сжатия

Способность метода группового кодирования сжимать длинные последовательности одинаковых символов очевидна. Тем не менее рис. 5.12 иллюстрирует также одну из слабостей данного алгоритма. Кодирование группы точно из трех символов в действительности расширяет поток данных.

На втором этапе сжатия данных протокол MNP 5 использует адаг птивное кодирование на основе кода Хаффмена, известное также как адаптивное частотное кодирование. Этот способ кодирования основан на предположении, что некоторые символы будут встречаться в потоке данных чаще, чем другие. Символы, которые встречаются чаще, кодируются с использованием небольшого числа битов. Менее часто встречающиеся символы передаются с использованием более длинных кодовых последовательностей.

Когда формат передаваемых данных относительно хорошо известен и постоянен, кодовые битовые последовательности, или лексемы, могут быть определены заранее. Однако адаптивный алгоритм может подстраиваться под данные путем обучения с последующим изменением своих лексем.

В протоколе MNP 5 определяются 256 лексем для всех возможных 8-разрядных величин (октетов). Лексема состоит из 3-разрядного префикса (заголовка) и суффикса (тела, или основы), который может включать от 1 до 8 разрядов. Как передатчик, так и приемник инициализируют свои символьно-лексемные таблицы в соответствии с табл. 5.7. Первая и последняя записи (строки) этой таблищл представляют наиболее и наименее часто встречающиеся октеты соответственно.

После того как обработан каждый октет, эта таблица переопределяется, исходя из частоты появления каждого символа. Октетам, которые появляются чаще всего, приписываются наиболее короткие лексемы. На приемном конце лексемы преобразуются в символы. В соответствии с частотой появления тех или иных символов трансформируется таблица приемника. Тем самым осуществляется самосинхронизация таблиц кодирования и декодирования.

Таблица 6.7. Карта символьно-лексемного дуры уплотнения данных

Значение октета (десятичное)

кодирования на старте проце-

0 1 2 3 4

Заголовок лексемы

ООО

ООО

Тело лексемы

О 1 О 1

00 01 10 И ООО

15 16

011 100

0000

31 32

100 101

1111

00000

63 64

11111

000000

127 128

111111

0000000

254 255

111 111

1111110 11111110



MNP 7. Протокол MNP 7 предоставляет более эффективный (по сравнению с MNP 5) алгоритм сжатия данных и позволяет достичь коэффициента сжатия порядка 3:1. MNP 7 использует улучшенную форму хаффменовского кодирования в сочетании с марковским алгоритмом прогнозирования для создания кодовых последовательностей Хаффмена минимально возможной длины.

Марковский алгоритм пытается предсказать следующий символ в последовательности, исходя из появившегося предыдущего символа. Для каждого октета формируется таблица из всех 256 возможных следующих за ним октетов, расположенных в соответствии с частотой их появления. Октет кодируется путем выбора столбца, соответствующего предыдущему октету (озаглавливающему столбец), с последующим отысканием в этом столбце значения текущего октета. Строка, в которой находится текущий октет, определяет лексему точно так же, как в описанном выше случае кодирования с использованием кода Хаффмена. После того как каждый октет закодирован, порядок следования записей (октетов) в выбранном столбце изменяется в соответствии с новыми относительными частотами появления октетов.

На рис. 5.13 иллюстрируется пример того, как кодировалась бы последовательность октетов 3 1 2 О в предположении, что раньше всех был передан октет 0. Видно, что в столбце, соответствующем этому (предыдущему) октету О, отыскивается запись (строка) октета 3. После этого передается код Хаффмена для этой строки в таблице. Затем в столбце, соответствующем этому только что переданному октету 3, отыскивается строка с записью следующего октета - в данном случае октета 1. Передается код Хаффмена для этой строки и т. д. Ектественно, что в этом примере отсутствует иллюстрация адаптивной части алгоритма, изменяющей порядок расположения октетов в каждом столбце.

V.24bis. Методы сжатия данных, включенные в протоколы MNP 5 и MNP 7, в настоящее время целенаправленно заменяются на метод, который основан на алгоритме словарного типа ЛемпелЗива-Уэлча (LZW-алгоритме). LZW-алгоритм имеет два главных преимущества. Во-первых, он обеспечивает достижение коэффициента сжатия 4:1 на файлах с оптимальной структурой. Вторым и, возможно, более важным преимуществом является то, что LZW-метод утвержден МККТТ как составная часть стандарта V.42bis.

LZW-метод сжатия данных основан на создании древовидного словаря последовательностей символов, в котором каждой последовательности соответствует единственное кодовое слово. Входящий по-

п'1 ?;ЛГяТ:Г^: марковское, алгоритма

I дыдущий окте] -,

Хаффмена


ток данных последовательно - символ за символом - сравнивается с имеющимися в словаре последовательностями. Когда в словаре найдена кодируемая последовательность, идентичная входной, соответствующее ей кодовое слово передается модемом. Алгоритм динамически создает и обновляет словарь символьных последовательностей.

Рассмотрим, например, последовательности А, BAG, BAR, BIG, CAT и СЕ. На рис. 5.14 показано, как эти последовательности представлялись бы в виде деревьев в словаре стандарта V.42bis. Каждый путь от корневого узла к вершине дерева представляет последова-



тельность, которая может быть закодирована с помощью единственного кодового слова. Имеющиеся последовательности могут расширяться до тех пор, пока не будет достигнута максимальная длина. Можно добавлять новые последовательности, причем единственным ограничением является объем используемого словаря.

Алгоритм сжатия, определяемый стандартом V.42bis, весьма гибок. К параметрам, значения которых могут быть согласованы между модемами, относятся: максимальный размер кодового слова, полное число кодовых слов, размер символа, число символов в алфавите и максимальная длина последовательности. Кроме того, алгоритм осуществляет мониторинг входного и выходного потока данных для определения эффективности сжатия. Если сжатия не происходит (в силу природы передаваемых данных) алгоритм прекращает свою работу. Это свойство обеспечивает лучшие рабочие характеристики при передаче файлов, которые уже сжимались или которые не поддаются сжатию.

Модемные стандарты

Создателями большинства модемных стандартов являются две организации - компания AT&T и МККТТ. В табл. 5.8 суммируются основные сведения по этим стандартам. Для каждого стандарта указаны скорость передачи данных, режим связи (дуплексный или полудуплексный), метод модуляции, быстродействие (в бодах) и тип связи (синхронная или асинхронная связь).

Во многих случаях стандарт может обеспечивать поддержку более одного режима работы модема. Например, возможна совместимость с более ранними стандартами. Некоторые стандарты могут обеспечить дуплексный режим работы на четырехпроводных выделенных (арендуемых) линиях, но только полудуплексный режим в коммутируемой телефонной сети. В приведенной таблице указываются все возможности каждого стандарта, но это не значит, что модем, работающий под управлением данного стандарта, обязательно должен удовлетворять всем вариантам.

Таблица 6.8. Общепринятые модемные стандарты

Сгавдарт

Bell 103/113> Bell 201 BeU202

Bell 208 Bell 209A Bell 212A

V.17 fax

V.21 V.22

V.22bis V.23

V.26 V.26bis

V.26ter

V.27

V.27bis

Скорость передачи, бит/с

Режим связи

0-300

2400

1200

5(обр.)

4800

9600

1200

14400

12000

9600

7200

0-300

1200

0-300

2400

1200

1200

75(о6р.)

2400

75(обр.)

2400

1200

75(обр.)

2400

1200

4800

75(обр.)

4800

2400

75(обр.)

Д

П

п

Д^>

Д

Д

Д

п

п

п

п

Д

д

д

д

д

д

п

п

п

д

д

п

п

п

д

д

д

д

д^>

Метод модуляции

ЧМн

ОФМн-4

ЧМн

АМн

ОФМн-8

КвАМ-16

ОФМн-4

ЧМн

Trellis-128 TtelUs-64

TrelUs-32

IVelUs-ie

ЧМн

ОФМн-4

ОФМн-2

ЧМн

КвАМ-1б

ОФМн-4

ЧМн

ЧМн

ЧМн

ОФМн-4

ЧМн

ОФМн-4

ОФМн-2

ЧМн

ОФМн-4

ОФМн-2

ОФМн-8

ЧМн

ОФМн-8 ОФМи-4 ЧМн

Быстродействие, бод

0-300 1200 1200 5

1200

2400

2400

2400

2400

2400

0-300

0-300

1200

1200 75

1200 1200 75

1200 1200 1600 75

1600 1200 75

Тип связи

А

с

А

С С С А С

с с с

А

С/А С/А А

С/А

С/А

С/А

С/А

А

С

А

С

С

А

С/А

С/А

С

А

С

С

А



Продолжение таблицы 5.8

Стандарт

Скорость передачи, бит/с

Режим связи

V.27ter V.29

V.32

V.32bis

V.33

V.FAST>

4800

2400

75(обр.)

9600

7200

4800

9600

9600

4800

14400

12000

9600

7200

4800

14400

12000

28800

П П П

Д

д

Д

д

д

д

д

д

д

д

д

д

д

д

Метод

ляцвн

ОФМи-8

ОФМн-4

ЧМн

КвАМ-16

КвАМ-8

КвАМ-4

TreUis-32

КвАМ-16

КвАМ-4

TreUis-128

TrelUs-64

TreUis-32

ТгеШ8-16

КвАМ-4

TreUis-128

TreUis-64

Быстродействие, бод

1600 1200 75

2400

2400

2400

2400

2400

2400

2400

2400

2400

2400

2400

2400

2400

Тип связи

с

С А С С

с с с с с с с с с с с с

Этот стандарт отражает возможности целого семейства модемов. Невсемодё;ш семейства реализуют чол лиЛ набор возможностей ставдарта. ) Дуплексный режим работы только на четырехпраклвых лрвиях. Полудуплексный рижям на двухпросилдщх лаомях.

) Неофициальное обозначение. Стандарт разрабатывается МККТТ.

В таблице используются аббревиатуры: Д - дуплекс, П - полудуплекс, обр. - по обратному каналу, АМв - ..мплитудная манипуляция, КвАМ - KB<vapaTypHaH амллитудвая модуляция, С - синхх-оннг1я, А - асинхронная. Остальные аббревиатуры уже использовались в тексте.

Глава 6

Набор АТ-команд

в главе 5 мы разбили все модемы на два класса в зависимости от их способности воспринимать командную информацию в потоке данных. К первому классу относятся немые (или глупые ) модемы, ко второму - интеллектуальные модемы. Так называемый немой модем работает как простое устройство модуляции/демодуляции сиг^ нала, обеспечивая интерфейс ООД с каналом связи. Выполняя лишь эти ограниченные функции, немой модем фактически не принимает активного участия в процессе связи. По определению, немой модем не может быть запрограммирован и не допускает управления в интерактивном режиме.

Интеллектуальный модем, напротив, характеризуется тем, что он может быть запрограммирован. В отличие от немого модема, интеллектуальный модем может работать в двух различных режимах. В режиме передачи данных (или просто режиме данных) он работает точно так же, как немой модем, обеспечивая интерфейс ООД и канала связи. В ко.мандкол< режиме такой модем может переговариваться с ООД, принимая команды и реагируя на них. Этот обмен по информационному каналу между модемом и ООД известен как внутриполосная (внутридиапазонная) связь и является характеристикой интеллектуального модема. Обмен другими управляющими сигналами, такими, как DTR и RTS, известен как внепо-лосная (енедиапазонная связь).

Концепция интеллектуального модема не является изобретением корпорации Hayes Microcomputer Products. Прежде чем эта корпорация выпустила свой Smartmodem 300, другие изготовители уже ввели интеллектуальность и программируемость в свои модемы. Вклад корпорации Hayes заключался не столько в создании еще одного собственного набора команд, сколько в утверждении этого набора команд - благодаря захвату большей части рынка сбыта - в качестве промышленного стандарта.

Набор команд, под управлением которых работал Smartmodem



300, был очень мал в полном соответствии с ограниченными возможностями этого модема. Когда модемы стали более совершенными, корпорация Hayes расширила этот набор команд для реализации дополнительных функций управления. Чтобы сделать свои модемы Hayes-совместимыми , другие изготовители скопировали базовый набор команд, а затем определили собственные дополнительные команды для поддержки специфических характеристик своих модемов. Поэтому, хотя почти все модемы выполняют базовые команды, редко можно встретить два модема, использующих одни и те же команды или синтаксис для реализации более сложных функций.

В этой главе рассматривается система команд управления модемом, широко известная как набор АТ-команд. Детально обсуждаются базовые команды, которые используются практически во всех модемах и реакция модемов на эти команды. Кроме того, обсуждается основной набор внутренних регистров модема, используемых при его программировании. В конце главы обсуждается набор команд, определяемый стандартом МККТТ V.25bis. Детальные описания команд и регистров базового и расширенных наборов для множества модемов, выпускаемых самыми разными фирмами, можно найти в Приложениях А и В.

Командная строка

Система команд и регистров, разработанная корпорацией Hayes для своего интеллектуального модема, известна как набор АТ-команд, так как каждая команда, посылаемая к модему, должна начинаться с двухсимвольной последовательности AT. Модем должен находиться в командном режиме, для того чтобы символы AT идентифицировались модемом как начало команды.

Исходный Smartmodem требовал, чтобы символы AT вводились как прописные буквы. При использовании современных модемов эти символы, как правило, могут быть или оба строчными, или оба про^ писными. Модем не реагирует на ввод этих символов в смешанном виде - At или аТ. Поскольку символы AT должны предшествовать любой команде, модем может использовать их для определения ског рости передачи и формата данных, с которыми [)аботает ООЛ.

Строка символов, которая посылается к модему, называется коа мандной строкой. Команднгш строка может содержать одну или несколько команд или быть пустой. Командная строка должна начи- наться с символов AT или at ( Внимание! ). После этих символов может появиться любое число действительных команд. Командная строка заканчивается символом возврата каретки (CR). Все модемы

поддерживают минимальную длину командной строки - 40 символов, исключая символы AT и завершающий символ возврата каретки. В зависимости от изготовителя, буфер может вмещать до 255 символов. Командная строка записывается в следующем виде:

AT[[command[argument]]...] < CR >

Пробелы могут быть включены в командную строку для улучшения читабельности . Эти пробелы, однако, игнорируются модемом и не включаются в число символов, определяющее предельную длину строки. Символ возврата (Backspace) можно использовать для редактирования командной строки до того, как введена завершающая команда возврата каретки.

Синтаксис команд

Исходный набор АТ-команд был весьма мал, в нем использовались односимвольные буквенные обозначения команд, мнемоника которых большей частью соответствовала конкретному действию, выполняемому модемом по данной команде. Например, команда D (от Dial а Number - набрать номер) являлась командой набора телефонного номера. Команда L (от Loudness - громкость) устанавливала уровень громкости динамической головки. Эти команды известны как базовые команды.

Когда модемы стали более сложными, потребовалось соответствующим образом увеличить число команд. В связи с этим были введены команды второго типа, называемые расширенными командами. Расширенная команда формируется путем об-!,единения небуквенного префиксного символа с буквенным символом. Для своего набора расширенных команд корпорация Hayes выбрала префиксный символ к, (амперсанд). Примерами расширенных команд являются команда &D, управляющая ответами модема на DTR-сигналы, и команда &F, вызывающая конфигурационную информацию из энергонезависимой памяти.

Другие производители, не долго думая, копировали эти расширенные команды. Кроме того, они определяли - и переопределяли - собственные дополнительные команды, используя символы \, #, %, * > *. -1 +1 и ) в качестве префиксов. Во всех случаях командные символы могут быть или строчными, или прописными.

. Из-за быстрого увеличения числа наборов команд термин Hayes-совместимый стал значить не более чем мои команды начинаются с АТ . Даже Hayes-модемы уже не являются буквально Hayes-совместимыми, так как одни и те же команды могут инициировать различные действия в разных типах модемов.



Команда А/. Формат команды А/ представляет собой исключение по отношению к стандартному формату ДТ-команд. Эта команда должна вводиться как единственная команда на строке. Перед ней не могут находиться АТ-символы, и за ней не может следовать символ возврата каретки. Модем реагирует на эту команду повторным выполнением всей командной строки, которую он получил последней перед командой А/.

Каждая командная строка, посылаемая к модему, остается в буфере команд до тех пор, пока не обработана следующая АТ-команда или от модема не отключено питание. Бели модем принимает новую команду, теряет питание или перезапускается, команды в этом буфере стираются, и команда А/ не вызывает никакого действия.

S-KOманда. S-команда обеспечивает установку или проверку содержимого внутренних регистров модема и имеет три различных формы. Первая форма - Sr?, где г представляет номер регистра н определяется как десятичное число в интервале 0-255. Модем реагирует на эту команду отображением текущего содержимого регистра г. Вторая форма этой команды Sr = п используется для записи величины п в регистр с номером г. Третья форма Sr указывает регистр, который будет использоваться по умолчанию в следующих командах. S-регистры обсуждаются подробно позже в данной главе.

Аргументы

Для одних АТ-команд требуется аргумент, для других аргумент необязателен, многие команды вообще не допускают никаких аргументов. Если аргумент присутствует, он должен следовать за командой на командной строке без каких-либо промежуточных символов, исключая пробелы. Команда и ее аргументы должны появляться в одной и той же командной строке и не могут разделяться завершающим строку символом возврата каретки.

Как правило, АТ-команды допускают числовые аргументы. Однако команда набора номера и некоторые расширенные команды, поддерживающие факс-модемы, содержат и нечисловые данные. Числ№ вые аргументы всегда определяются в десятичной системе без начальных нулей. Если в команде, требующей аргумента, этот аргумент не указан, принимается, что он равен 0. Другими словами, модем интерпретирует АТС как АТСО.

Ответы модема

Получение ответов от-модема не менее важно, чем посылка к нему команд. Когда модем обрабатывает команду, он может сообщить об ее

успешном выполнении или сбое или возвратить запрашиваемую величину или информацию о своем состоянии (статусе). По меньшей мере, ответ модема указывает на то, что модем действительно связался с ООД.

Каждый раз, когда модем получает командную строку (начинающуюся с АТ-последовательности), он посылает внутриполосный ответ к ООД. Модем может быть запрограммирован для словесных ответов на английском языке или для ответов числовыми символами. Перед словесным ответом и после него посылгется символьная пара, состоящая из символов возврата каретки и перевода строки. Числовые ответы сопровождаются только завершающим символом возврата каретки.

Большинство ответов модема зависит от команды и связано с возвратом запрашиваемой информации или сообщением о текущем состоянии модема. Имеются, однако, два стандартных ответа - ОК (ВСЕ В ПОРЯДКЕ) и ERROR (ОШИБКА). Ответ ОК (О в цифровой форме), как правило, означает, что команда принята и модем готов для приема следующей команды.

Если модем обнаруживает использование недопустимого аргумента или неправильный формат команды, он выдает ответ ERROR (число 4). Нераспознанные и нереализуемые команды могут также приводить к этому ответу. В других случаях, например при получении вышедших из употребления команд, ответ О К будет выдаваться для сохранения совместимости с коммуникационным программным обеспечением, но при этом в состоянии модема не будет происходить никаких изменений.

Различные модемы по разному обрабатывают ошибки в командной строке. Традиционно, любая ошибка в командной строке приводит к отбрасыванию всей командной строки без изменения состояния модема. Однако некоторые модемы могут обрабатывать правильные команды в строке до тех пор, пока они не натолкнутся на ошибку, после чего обработка командной строки прекращается. В прикладных программах, получающих в этом случг1е ответ ERROR, следует предусмотреть обязательную повторную посылку всей командной последовательности.

Типы команд

Современный интеллектуальный модем по существу представляет собой коммуникационный процессор, обеспечивающий сервис для ООД-пользователя. Чтобы модем выполнял требуемые задачи, нужно просто посылать к нему надлежащие команды. Однако модемы - сложные устройства, поэтому это гораздо легче сказать, чем сделать.



Например, модем QX/4232bis+ корпорации Microcom может выполнять более 130 различных команд! Умножьте это на несметное число фирм-производителей, каждая из которых в большей или меньшей степени изменяет определения команд, и окажется, что программирование модема - весьма сложная задача.

К счастью, большинство модемов по умолчанию устанавливает большую часть своих опций для работы в среде базовых систем последовательной связи. Это сводит число требуемых команд до минимума. Очень небольшой поднабор важнейших команд - это все, что нужно для осуществления связи в большинстве стандартных ситуаций. Важнейшие команды естественным образом разбиваются на три категории: конфигурационные команды, операционные команды и команды набора (номера).

В данном разделе рассматриваются эти три категории, образующие поднабор важнейших АТ-команд, необходимых для установки конфигурации и обеспечения работы большинства модемов. Недавно разработанные и фирменные команды детально обсуждаются в Приложении А. Исчерпывающий перечень S-регистров приведен в Приложении Б.

Конфигурационные команды

Команды, которые изменяют пользовательский интерфейс с модемом или определяют, как должен работать модем, известны как конфигурационные команды. Эти команды не вызывают непосредственного выполнения модемом каких-либо действий, но могут влиять на возможность их выполнения. Перечисленные здесь команды используются для установки основных модемных конфигураций. Заметим, что Р- и Т-команды обсуждаются в разделе, посвященном модификаторам набора, а S-команда рассматривается в разделе по S-регистрам.

Е Командный эхоплекс. Когда модем находится в командном; режиме, команда Е (от echo - эхо) определяет, будет ли полученная модемом команда передаваться как эхо обратно к ООД. Команду-АТЕО запрещает командный эхоплекс и обычно реализуется по умолчанию. Для разрешения командного эхоплекса используйте командуч АТЕ1.

0 Командный эхоплекс запрещен

1 Командный эхоплекс разрешен

L Уровень громкости динамической головки. Некоторые модемы поддерживают команду L (от loudness - громкость) для обеспечения программного контроля уровня громкости динамической головки. В модемах с ручным управлением громкостью или не имеющих громкоговорителя эта команда игнорируется, но не приводит к ошибке. L-команда обеспечивает установку одного из трех различных уровней громкости. Чтобы полностью отключить громкоговоритель, используйте М-команду.

0 Низкий уровень громкости

1 Низкий уровень громкости

2 Средний уровень громкости

3 Высокий уровень громкости

М Управление громкоговорителем. Команда М (monitor) разрешает или запрещает работу громкоговорителя в соответствии с конкретными требованиями. Большинство модемов использует АТМ1 по умолчанию и позволяет пользователю осуществлять прослушивание телефонного вызова, включая набор номера и процедуру согласования параметров связи. В этом случае пользователь может слышать речевой ответ телефонной компании, сигнал занятости или голос отвечающего по телефону. При поиске неисправностей часто возникает необходимость слухового контроля процесса согласования параметров между двумя модемами. Некоторые модемы поддерживают команду АТМЗ, которая отключает громкоговоритель во время набора номера, а затем удерживает его во включенном состоянии до момента установления связи.

0 Всегда выключен

1 Включен до момента установления связи

2 Всегда включен

Q Разрешение или запрещение ответов модема. Команда Q (от quiet - тишина, молчание) управляет посылкой модемом к ООД кодов результата, подтверждающих команды или сообщающих теку-в ее состояние телефонного вызова. Команда ATQO разрешает ответы и обычно реализуется по умолчанию. Команда ATQ1 запрещает ответы ОК и ERROR на команды, а также команды ОК, BUSY и RING, посылаемые модемом для указания текущего состояния вызова. Запрещение ответов модема будет приводить к сбоям в работе большинства коммуникационных программ.

0 Ответы модема разрешены

1 Ответы модема запрещены



V Формат кода результата. Значение аргумента команды V (от verbose - многословный) определяет, в какой форме - в виде числовых символов или слов - будет выдавать ответы модем.

0 Использовать числовые ответы

1 Использовать словесные ответы

По умолчанию большинство модемов устанавливается в режим вьвдачи словесных ответов. Следовательно, большая часть коммуникационных программных средств зависит от приема ответов именно в этой форме. Как вариант, команда ATVO конфигурирует модем для выдачи числовых ответов. Ниже указаны восемь основных ответов модема.

Число Слово

0 ОК (ВСЕ В ПОРЯДКЕ)

1 CONNECT (СВЯЗЬ)

2 RING (ЗВОНОК)

3 N0 CARRIER (НЕТ НЕСУЩЕЙ)

4 ERROR (ОШИБКА)

6 N0 DIALTONE (НЕТ ГУДКА)

7 BUSY (ЗАНЯТО)

8 N0 ANSWER (НЕТ ОТВЕТА)

Заметим, что в некоторых случаях словарный ответ предпочтительней числового. Модем, устанавливающий высокоскоростную связь, мог бы, например, выдать сообщение CONNECT 57600. Коммуникационная программа общего назначения, рассматривая эту CONNECT-последовательность, вероятнее всего, зарегистрировала бы факт установления связи. Соответствующая числовая команда для этого сообщения (18 в случае модема 14400FXSA фирмы Practical Peripherals), вполне возможно, не была бы распознана.

X Выбрать набор кодов результата. Вообще говоря, Х-коман-да устанавливает совместимость данного модема с более ранними мог. делями модемов. Эта команда определяет набор тех сообщений, к^; торые посылаются модемом к ООД, и те обстоятельства, о которых они сообщают.

0 CONNECT

1 CONNECT бит/с

fcWn Записать профиль в память (п - номер конфигураци-овного профиля). В модемах, имеющих энергонезависимую память

2 CONNECT бит/с, N0 DIALTONE

3 CONNECT бит/с, BUSY

4 CONNECT бит/с, NO DIALTONE, BUSY

Например, когда модем сконфигурирован с помощью команды АТХО, он ведет себя как исходный Smartmodem 300. Модем набирает номер вслепую - тональные сигналы-приглашения к набору номера и сигналы занятости игнорируются - и после установления связи возвращается сообщение CONNECT. Такой набор команд обычно допускается для непосредственной связи близко расположенных модемов.

Команда АТХ1 заставляет модем посылать код, указывающий скорость передачи (бит/с). Численное значение скорости передачи указано в предыдущих примерах.

Если модем получил команду АТХ2, он будет пытаться обнаружить тональный сигнал-приглашение (гудок) перед набором номера. Если этот тональный сигнал не обнаруживается в течение пяти секунд, возвращается сообщение N0 DIALTONE.

Команда АТХЗ игнорирует гудок, но задает регистрацию сигнала занятости BUSY и окончание вызова при получении последнего. Команда АТХ4 разрешает реализацию всех возможностей по регистрации сигналов и приему сообщений. Заметим, что эти коды результата допускают дальнейшую модификацию путем установки других аргументов, определяющих скорость передачи, тип протоколов контроля ошибок и сжатия данных.

L.W Представить хранимые конфигурационные профили.

Команда AT&V заставляет модем отобразить текущие значения выбранных конфигурационных параметров и содержимого S-регистров. В модемах с энергонезависимой памятью будут представлены также параметры, хранящиеся в энергонезависимой памяти (они записываются туда с помощью команды &W). Команда &V не требует никаких аргументов. Формат и тип отображаемой информации изменяется в зависимости от фирмы - изготовителя модема. Один из возможных примеров представления наборов конфигурационных параметров по этой команде иллюстрируется на рис. 6.1. Хранимые профили могут быть загружены с помощью команд Z и &F, описанных в следующем разделе.



1 ... 6 7 8 9 10 11 12 ... 38
© 2004-2024 AVTK.RU. Поддержка сайта: +7 495 7950139 в тональном режиме 271761
Копирование материалов разрешено при условии активной ссылки.
Яндекс.Метрика