Модемы
Режим команд и режим данных
Переключение модема в командный режим
Переключение модема в режим данных
Смена режима
Ваш модем может находиться в одном из двух основных режимов - командном режиме или режиме данных. В командном режиме модем исполняет команды, выдаваемые оператором. В режиме данных модем воспринимает все, что может быть получено от компьютера как данные, которые должны быть переданы в линию. Таким образом, бесполезно вводить команды в режиме данных, так как модем не воспримет их как команды.
Ниже описано, как модем переключается между этими режимами.
Переключение модема в командный режим
Модем автоматически переключается в командный режим в следующих случаях:
При включении питания Вашего компьютера
При потере соединения с удаленным модемом
Если модем набирает номер, а Вы нажали какую-нибудь клавишу на клавиатуре Вашего компьютера. ( В этом случае, перед тем как перейти в командный режим, модем аннулирует текущий вызов.)
При обнаружении перехода сигнала DTR (Data Terminal Ready) из состояния "ON" ("включен") в "OFF" ("выключен"), если задана одна из команд &D1, &D2 или &D3.
Переключение модема в режим данных
Модем автоматически переходит в режим данных после установления соединения с удаленным модемом или факсом.
Как описывалось выше, в момент установления соединения, модемы проводят обмен подтверждающими сигналами (handshake), после чего начинают обмен данными. Обычно, в момент установления соединения и при передаче данных, звук в динамике модема отключается, однако, если необходимо слышать, что происходит на линии, то можно включить постоянный аудиоконтроль командой M2.
Смена режима
Если Ваш модем установил асинхронное соединение с удаленным модемом, то перевести его в командный режим, не разрывая текущее соединение, можно, введя с клавиатуры специальную управляющую последовательность символов, которая называется Escape-последовательностью.
По умолчанию, Escape-последовательностью является последовательность из трех подряд символов "плюс" - "+++". Если требуется, данные символы можно заменить, изменив содержимое регистра S2.
Ниже приводится процедура, в которой описано, как при помощи Escape - последовательности переходить из режима данных в командный режим, не теряя при этом установленного соединения.
Escape-символы в синхронном режиме игнорируются
после установления асинхронного соединения с удаленным модемом подождите не менее одной секунды, прежде чем что-либо набирать.
Введите Escape-символ три раза, по умолчанию три подряд символа "+" и подождите не менее одной секунды.
Примерно через 1-2 секунды модем должен выдать OK и перейти в командный режим без разрыва соединения.
Теперь можно посылать модему AT-команды, например, для чтения или изменения значений S-регистров.
Для возобновления передачи данных (если вы не разорвали соединение) наберите ATO и нажмите
, модем выдаст сообщение "CONNECT nnnn", где nnnn - скорость установленного соединения, после чего вернется в режим данных.
Естественно, такой возврат возможен только в том случае, если Вы не выдавали команд, приводящих к разрыву соединения.
Вместо команды O можно пользоваться и другими командами:
Если Вы желаете, чтобы, помимо обычного возврата в режим данных, Ваш и удаленный модем провели также и тестирование канала с целью оптимизации параметров передаваемых ими сигналов с учетом особенностей данного канала (затухание, отражения, несогласованность и т.д.), воспользуйтесь командой O1.
Если и Ваш,
и удаленный
модем поддерживают
протоколы
исправления
ошибок и сжатия
данных (MNP, V.42, V.42bis) и
Вы хотите возобновить
дальнейшую
передачу данных
с использованием
этих протоколов
(причем первоначально
соединение
установлено
без использования
протоколов
коррекции
ошибок), следует
использовать
команду O (введите
AT O
Ввод AT-команд
Для управления
функциями
модема, такими
как набор номера,
установление
соединения
для передачи
данных или
факс-сообщений,
ответ удаленному
модему или
разъединение,
используются
AT-команды. Для
того, чтобы
ввести AT-команду,
необходимо
набрать командную
строку, завершив
ее клавишей
Сообщения модема.
После того, как Вы послали модему команду, и ее выполнение завершено, модем выдает сообщение о результатах (обычно подтверждающее сообщение "OK").
Замечание. Некоторые коммуникационные программы перехватывают это сообщение, и Вы не всегда можете видеть ответы модема у себя на экране.
Вопросы совместимости
В таблицах 2-2 и 2-3, соответственно, приведены стандарты протоколов передачи данных и факс-сообщений поддерживаемые Вашим модемом. Здесь же указаны максимальные скорости передачи данных, возможные при работе в соответствии с тем или иным протоколом.
Таблица 2-2 Протоколы передачи данных
Максимальная скорость, бит/с |
Стандарт |
14400 | МКТТ V.32bis |
9600 | МКТТ V.32 |
2400 | МКТТ V.22bis |
1200 | МКТТ V.22 |
1200 | Bell 212 |
1200/75 | МКТТ V.23 |
300 | МКТТ V.21 |
Bell 103 |
Таблица 2-3 Протоколы передачи факс-сообщений
Максимальная скорость, бит/с |
Стандарт |
14400 | МКТТ V.17 |
9600 | МКТТ V.29 |
7200 | |
4800 | |
4800 | МКТТ V.27ter |
2400 | |
300 | МКТТ V.21 CH. 2 |
Глава 3. Управление модемом
В главе 3 описан формат AT-команд. Здесь также описаны возможные сообщения, выдаваемые модемом в ответ на введенную команду.
Обычно пользователи работают с модемом посредством развитых телекоммуникационных программами, в этом случае нет необходимости управлять модемом посредством AT-команд напрямую и анализировать непосредственные ответы модема. Программа сама посылает команды и обрабатывает сообщения модема. Иными словами, весь интерфейс низкого уровня скрыт от пользователя, которому обычно не важно, что именно телекоммуникационный пакет посылает модему, и какие сообщения получает в ответ, для того, чтобы, например, передать файл или положить письмо в ящик электронной почты, так как Вас, как правило, интересует конечный результат, а не способ его достижения.
Ввод команд
Как исправить неправильно набранную команду
Как набирать команды в виде, наиболее удобном для восприятия
Ввод командных строк длиной более сорока символов
Пропуск параметров (параметры по умолчанию)
Повторное выполнение командной строки
Сведения о командах
С помощью AT-команд Вашему модему можно приказать исполнять большое количество разнообразных функций, среди которых - набор номера, ответ удаленному модему, действия по передаче факсов и многие другие. Однако, модем воспринимает AT-команды тогда и только тогда, когда он находится в командном режиме.
Чтобы ввести AT-команду, сделайте следующее:
Наберите AT в латинском регистре (вообще, всюду в данном документе все символы команд набираются в латинском регистре). Эти две буквы всегда должны стоять в начале командной строки (за исключением случая A/, описанного ниже). Допустимо использовать или заглавные, или строчные буквы, но не те и другие одновременно ( AT или at, но не At)
Наберите команду или подряд несколько команд, которые Вы хотите исполнить. Длина командной строки не должна превышать 40 символов.
Нажмите клавишу
. Модем выполнит командную строку и выдаст сообщение о результате.
Как исправить неправильно набранную команду.
Если при
наборе команды
вы обнаружили
ошибку, то для
ее исправления
следует клавишей
Как набирать команды в виде, наиболее удобном для восприятия.
Чтобы сделать
набранную
командную
строку более
удобно читаемой
и, тем самым,
избежать возможных
ошибок, допустимо
отделять отдельные
команды и поля
параметров
знаками препинания
и пробелами.
В любом месте
командной
строки допускается
ставить пробел.
В телефонном
же номере допустимы
кроме пробелов
и знаки скобок,
и дефис.
Например:
AT M3 DT 9, 1 (818)555-1234
При разборе командной строки модем игнорирует пробелы и указанные знаки препинания. Однако, длина строки команд вместе с этими знаками не должна превышать 40-символьный лимит.
Ввод командных строк длиной более 40 символов
Если Вы хотите
ввести строку
длиной более
40 символов, вам
придется разбить
ее на две отдельные
строки и вводить
каждую отдельно.
В случае, если
требуется
ввести очень
длинную команду
набора номера
D (к примеру, команда
для набора
номера и выдачи
тонового пароля
может оказаться
значительно
длиннее), наберите
сначала первую
часть номера,
длиной до 39 символов
(вместе с самой
командой AT, D и
прочими символами),
в конце поставьте
';' и нажмите
Пропуск параметров (параметры по умолчанию)
Некоторые команды требуют задания числовых параметров, однако, при вводе эти параметры можно опустить, тогда модем, исполняя команду, будет использовать параметр, принятый по умолчанию. Везде в этом документе, где явно не указано иное, значением параметра по умолчанию является 0.
Например, команда Q - "Задать режим выдачи ответов" имеет параметр 0 или 1.
Q0
- говорит модему,
что тот обязан
сопровождать
каждую выполняемую
команду подтверждающим
сообщением.
Q1 - запрещает
какие либо
подтверждения.
При этом ввод
Q без параметра
(например, AT Q)
эквивалентен
Q0.
Другим хорошим примером является строка инициализации, используемая программой MTEZ с некоторыми модемами, часто вызывающая удивление пользователей:
AT S=Q
которую можно записать в более понятном виде, как AT S0=0 Q0 (т.е. запретить автоматический ответ и разрешить выдачу подтверждений).
Повторное выполнение командной строки.
Следует отметить, что последняя введенная командная строка хранится в памяти модема до тех пор, пока ее не заменит следующая команда. Поэтому имеется возможность повторить исполнение последней командной строки. Для этого служит специальная команда A/. Поскольку при выключении питания или аппаратном сбросе содержимое буфера командной строки разрушается, очевидно, что в этом случае пытаться повторить последнюю командную строку бессмысленно.
Внимание! Команда A/ набирается без стандартного префикса AT и не завершается клавишей. Просто наберите A/ и модем автоматически выполнит предыдущую команду.
Команда A/ обычно используется для повторного выполнения длинной команды или для перенабора телефонного номера, который был занят.
Команду A/ можно использовать неоднократно, до тех пор, пока не будет набрана новая командная строка, начинающаяся с AT, или не произойдет сброс модема или выключение питания.
Сообщения модема
Текстовые и числовые сообщения
Наборы сообщений
Сообщения модема при работе с протоколами коррекции ошибок и сжатия данных
Когда Вы посылаете модему какую-либо команду, модем выдает в ответ сообщение - обычно OK. Вы можете никогда не увидеть этих сообщений, так как некоторые телекоммуникационные программы перехватывают и самостоятельно их обрабатывают до того, как они могут быть выведены на дисплей. Однако, если Вы собираетесь непосредственно управлять модемом, Вам необходимо знать, какие сообщения и в каких случаях выдает модем.
В данном разделе рассматриваются все виды сообщений, выдаваемые модемом.
Текстовые и числовые сообщения
Модем, в зависимости от настроек, может посылать два типа сообщений - в виде текста и в виде чисел (соответственно, называемые текстовыми или числовыми сообщениями). Каждому текстовому сообщению однозначно соответствует числовое и наоборот. Как правило, большинство программ и пользователей, работающих с модемом непосредственно, используют более удобные текстовые сообщения, на которые модем настроен по умолчанию. Однако в этом тексте для краткости иногда будут указаны только соответствующие им числовые сообщения. (См. Табл. 3-1).
Если Ваше программное обеспечение требует числовых ответов, то перевести модем в этот режим можно при помощи команды V0.
Запретить получение каких-либо ответов вообще (например, для модема, подключенного к принтеру) можно командой Q1.
Наборы сообщений
Модем может работать в одном из пяти режимов, задаваемых командой Xn. Каждый из этих режимов предусматривает свой метод набора номера и каждому из них соответствует определенный набор сообщений, которые может выдавать модем в ответ на введенную команду или в ответ на возникшую ситуацию, например обнаружение сигнала "занято" или установление соединения. Так как команда Xn влияет не только на вид сообщений модема, но и на метод набора номера.
Сообщения модема при работе с протоколами коррекции ошибок и сжатия данных
Ваш модем поддерживает протоколы исправления ошибок и сжатия данных MNP и V.42/V.42bis. При работе с этими протоколами модем выдает дополнительные сообщения, перечисленные в Таблице 3-1. Чтобы разрешить выдачу расширенного набора сообщений, следует пользоваться командой Wn.
Внимание! Команду W, разрешающую выдачу расширенных сообщений при прохождении фазы выбора протокола коррекции-сжатия данных в момент установления соединения между двумя модемами, следует отличать от модификатора W в команде D (набор номера).
По умолчанию принимается установка W0, запрещающая выдачу расширенного набора ответов, если регистр S95=0 (заводская установка). В режиме W0 все сообщения "CONNECT XXXX" соответствуют скорости обмена данными между модемом и Вашим терминалом (DTE speed).
Командой W1 разрешается выдача сообщений "CARRIER" и "PROTOCOL". В этом режиме сообщения "CONNECT XXXX" также указывают скорость обмена данными с терминалом. Последнее справедливо в случае, если регистр S95=0.
Если Вы желаете, чтобы сообщение "CONNECT XXXX" указывало физическую скорость передачи данных в канале (DCE speed) вместо скорости обмена с терминалом, введите команду W2. Эта команда запрещает выдачу расширенного набора ответов, если регистр S95=0.
Модемы, поддерживающие протоколы исправления ошибок и сжатия данных MNP и V.42/V.42bis, обрабатывают также команду V1. В этом режиме все сообщения "CONNECT" будут содержать суффикс /ARQ, если модем установил соединение с использованием протокола коррекции ошибок. Этот режим устанавливается по умолчанию.
Внимание! Многие программы могут работать некорректно в режиме W1, а некоторые - и в режиме W2, поэтому не рекомендуется изменять заводские настройки, если вы не уверены, что ваша программа способна работать с расширенными сообщениями. С другой стороны, коммуникационные программы, использующие современные протоколы передачи файлов (например, Zmodem), могут работать неустойчиво, если установлен режим W0 или отсутствуют суффиксы /ARQ в режиме W2.
Таблица 3-1
Сообщение модема |
Сообщение в числовой форме |
Значение сообщения |
OK | 0 | Команда выполнена успешно |
CONNECT | 1 | Если модем находится в состоянии, отличном от X0, данное сообщение означает, что установлено соединение со скоростью 300 bps. В состоянии X0 оно означает, что было установлено соединение с удаленным модемом на произвольной скорости. |
RING | 2 | Модем обнаружил входящий звонок |
NO CARRIER | 3 | Потеряна (или не обнаружена в процессе установления соединения) несущая удаленного модема. |
ERROR | 4 | Была введена неверная или недопустимая в данном режиме команда, произошел сбой аппаратуры модема или длина командной строки превысила 40 символов |
CONNECT 1200 | 5 | Установлено соединение на скорости 1200 bps (в режиме X0 не выдается) |
NO DIALTONE | 6 | Модем не обнаружил непрерывного гудка (сигнала "набирайте"). Сообщение выдается только в режимах X2 и X4, а так же в любом режиме, если использован символ 'W' в команде набора номера. |
BUSY | 7 | Модем обнаружил короткие гудки (сигнал "занято"). Это сообщение не выдается в режимах X0, X1, X2, так как определение сигнала "занято" в этих режимах не производится. |
NO ANSWER | 8 | Модем не обнаружил "тишину" в линии, когда был использован символ '@' в команде набора номера. |
CONNECT 2400 | 10 | Установлено соединение на скорости 2400 bps (в режиме X0 не выдается) |
CONNECT 4800 | 11 | Установлено соединение на скорости 4800 bps |
CONNECT 9600 | 12 | Установлено соединение на скорости 9600 bps |
CONNECT 14400 | 13 | Установлено соединение на скорости 14400 bps |
CONNECT 19200 | 14 | Установлено соединение на скорости 19200 bps |
CONNECT 16800 | 15 | Установлено соединение на скорости 16800 bps |
CONNECT 38400 | 16 | Установлено соединение на скорости 38400 bps |
CONNECT 57600 | 18 | Установлено соединение на скорости 57600 bps |
CONNECT 1200/REL | 22 | Установлено соединение с коррекцией ошибок на скорости 1200 bps |
CONNECT 2400/REL | 23 | Установлено соединение с коррекцией ошибок на скорости 2400 bps |
CONNECT 4800/REL | 24 | Установлено соединение с коррекцией ошибок на скорости 4800 bps |
CONNECT 9600/REL | 26 | Установлено соединение с коррекцией ошибок на скорости 9600 bps |
CONNECT 19200/REL | 27 | Установлено соединение с коррекцией ошибок на скорости 19200 bps |
CONNECT 38400/REL | 28 | Установлено соединение с коррекцией ошибок на скорости 38400 bps |
CARRIER 300 | 40 | Скорость обмена с удаленным модемом 300 bps |
CARRIER 1200/75 V.23 | 44 | Скорость передачи 1200 bps, скорость приема - 75 bps |
CARRIER 75/1200 V.23 | 45 | Скорость передачи 72 bps, скорость приема - 1200 bps |
CARRIER 1200 | 46 | Скорость обмена с удаленным модемом 1200 bps |
CARRIER 2400 | 47 | Скорость обмена с удаленным модемом 2400 bps |
CARRIER 4800 | 48 | Скорость обмена с удаленным модемом 4800 bps |
CARRIER 7200 | 49 | Скорость обмена с удаленным модемом 7200 bps |
CARRIER 9600 | 50 | Скорость обмена с удаленным модемом 9600 bps |
CARRIER 12000 | 51 | Скорость обмена с удаленным модемом 12000 bps |
CARRIER 14400 | 52 | Скорость обмена с удаленным модемом 14400 bps |
CARRIER 16800 | 52 | Скорость обмена с удаленным модемом 16800 bps (только для IDC-19xx) |
CARRIER 19200 | 52 | Скорость обмена с удаленным модемом 19200 bps (только для IDC-19xx) |
COMPRESSION: CLASS 5 | 66 | Установлен протокол сжатия данных MNP-5 |
COMPRESSION: V.42 BIS | 67 | Установлен протокол сжатия данных V.42bis |
COMPRESSION: NONE | 69 | Протокол сжатия данных не установлен |
PROTOCOL: NONE | 70 | Асинхронный режим, без коррекции ошибок |
PROTOCOL: LAPM | 77 | Установлен протокол коррекции ошибок V.42 LAPM |
PROTOCOL: ALT | 80 | Установлен протокол коррекции ошибок MNP |
PROTOCOL: MNP 2,4 | 81 | Установлен байт- ориентированный протокол коррекции ошибок MNP 4 |
PROTOCOL: MNP 3,4 | 82 | Установлен бит-ориентированный протокол коррекции ошибок MNP 4 |
COMPRESSION: MNP 5 | 83 | Установлен протокол сжатия данных MNP 5 |
Список используемых сайтов :
1. bankreferatov
2. referats
3. citforum