Набор AT-команд модемов
10.9 Набор AT-команд модемов
Семенов Ю.А. (ГНЦ ИТЭФ)
AT-команды посылаются ЭВМ или терминалом модему через последовательный интерфейс RS-232 (модем должен быть при этом в командном режиме). Все эти команды начинаются с префикса AT, за исключением A/, A> и +++. Код A/ вызывает выполнение модемом предыдущей команды, A> заставляет модем выполнять предыдущую команду до 9 раз или пока не будет нажата какая-либо клавиша терминала или управляющей панели модема, или пока не будет установлена связь с удаленным модемом. Команда +++ (ESC-последовательность) переводит модем в командный режим или возвращает его в режим передачи данных.
Таблица 10.9.1. Стандартные AT-команды
|
Обозначение команды |
Описание функции команды |
A |
| Включает режим отклика (снимается трубка, выполняется подключение к линии) |
|
+ B0 |
| Выбирает режим CCITT V.22 (1200бит/с, по умолчанию) |
|
B1 |
| Выбирает для коммуникации стандарт Bell 212A (1200 бит/с) |
|
D |
| Вход в базовый режим, набор номера и попытка соединения с удаленным модемом.
Числа и модификаторы, применимые с командой D:
0-9,#,* - цифры набора номера. Ниже следуют модификаторы набора.
P - Импульсный набор.
T - Тоновый набор.
R - Начинает вызов в режиме отклика. Вводится как последняя цифра.
S - Набирается номер, записанный в памяти.
W - Ожидание длинного гудка перед набором (длительность ожидания определяется S7, по умолчанию 30сек).
, - Пауза на время, заданное S8 (по умолчанию 2сек).
; - Возврат в командный режим после набора номера.
@ - Ожидание 5 сек. молчания прежде чем продолжить, в противном случае возврат (NO ANSWER). |
|
DL |
| Набор номера, использованного последним. |
|
DSn |
| Набор номера, записанного в EEPROM в позиции n(0-9). |
|
E0 |
| Запрет символьного отклика в командном режиме. |
|
+ E1 |
| Разрешает символьный отклик в командном режиме. |
|
Fn |
| Переключение между дуплексным и полудуплексным режимами (n=0 - полудуплексный; n=1 - дуплексный). |
|
H0 |
| Вешание трубки и отключение от линии |
|
H1 |
| Снятие трубки и подключение к линии |
|
I0 |
Отображение информации о модеме (идентификационный код) |
I1 |
Отображение результата проверки контрольной суммы ROM (EPRROM). |
I2 |
Проверяется состояние внутренней памяти ROM и возвращается сообщение OK или CHECKSUM ERROR. |
I3 |
Выдается версия модема |
I4 |
Модем передает ЭВМ строку, заданную производителем модема. |
I5 |
Выдается код страны производителя. |
I6 |
Выдается код модели модема |
L0-7 |
Управление громкостью динамика (по умолчанию L4). |
M0 |
Громкоговоритель всегда выключен. |
+ M1 |
Громкоговоритель включен пока не обнаружена несущая. |
M2 |
Громкоговоритель всегда включен. |
M3 |
Громкоговоритель включен после набора последней цифры и выключается после детектирования несущей. |
N0-7 |
Управление громкостью звонка. N0 запретит звонок при приходе сигнала вызова. |
O |
Возвращение в состояние on line. |
P |
Импульсный набор |
+ Q0 |
Модем возвращает код результата (по умолчанию) |
Q1 |
Модем не возвращает код результата |
Q2 |
Модем возвращает код результата, но отключается после ответа на звонок. |
Sr=n |
Записывает в S-регистр r код n, n должно быть десятичным числом в интервале 0-255. |
Sr ? |
Отображает код, записанный в регистре r. |
+ T |
Тоновый набор (по умолчанию) |
V0 |
Отображает код результата в сжатой цифровой форме. |
+ V1 |
Отображает код результата в символьной форме (по умолчанию) |
Xn |
Опции отображения работы и кодов результата (по умолчанию X5). Определяет набор сообщений, управляет определением сигнала “занято” и проверкой наличия гудка. |
Yn |
Определяет способ отключения модема от линии. Команда Y1 заставляет модем повесить трубку, если от удаленного модема получен сигнал BREAK. Команда Y0 запрещает прерывать связь при получении длительного сигнала BREAK |
Wn |
Записывает текущую конфигурацию модема в профайл n. |
Zn |
Устанавливает конфигурацию модема из профайла n (n=0-3). Z4 устанавливает заводской набор параметров модема. |
Символ “+” указывает на то, что данный режим является режимом по умолчанию.
Команда X0 заставляет модем посылать сообщения в короткой форме. Номер набирается после паузы вне зависимости от наличия гудка. Состояние “занято” не распознается. После команды X1 модем посылает сообщения в полной форме. Команда X2 отличается от X1 и X0 тем, что набор номера выполняется лишь при наличии гудка. Команда X3 требует полной формы сообщений, номер набирается после паузы вне зависимости от наличия гудка, сигнал занято идентифицируется. Команда X4 сходна с X3, но требует для набора наличия гудка. При получении команд X2 или X4 модем разрывает связь и кладет трубку, если удаленный модем переведет линию в состояние BREAK на 1,6 секунды.
Существует несколько команд вывода справочной информации (работают не на всех модемах):
$ |
справочная информация по базовому набору команд; |
&$ |
справочная информация по расширенному набору команд (названия команд начинаются с символа &); |
*$ |
справочная информация по улучшенному набору команд. |
Таблица 10.9.2. Команды модема из расширенного набора (различие для разных типов модемов здесь может быть значительным).
Команда
|
Описание
|
&B0 |
DTE/DCE скорость следует за быстродействием линии. |
+ &B1 |
DTE/DCE скорость зафиксирована на уровне заданном DTE (300-76800 бит/с, режим по умолчанию) |
&C0 |
Предполагает, что несущая всегда присутствует (делает CD=ON) |
+ &C1 |
CD отслеживает наличие несущей (по умолчанию.) |
&D0 |
Игнорируется DTR сигнал, предполагает DTR=ON. |
&D1 |
Переключение DTR OFF->ON вызывает набор номера по умолчанию. |
&D2 |
DTR OFF вызывает отключение от линии и переход модема в командный режим. |
&D3 |
Аналогична &D2, но вызывает также загрузку профайла 0. |
&F |
Загружает в RAM заводской набор параметров модема. |
&K0 |
Никакого контроля ошибок. |
&K1 |
MNP4 (включая MNP3) |
&K2 |
MNP4 + MNP5 |
&K3 |
V.42 (эквивалентно &K1) |
+ &K4 |
V.42 + V.42bis (эквивалентно &K2) |
+ &L0 |
Выход в обычную городскую телефонную сеть (по умолчанию) |
&L1 |
2-проводная выделенная линия. |
&L2 |
4-проводная выделенная линия |
<
/p>
Пример записи AT-команды: ATDnnnnnnnnn, где последовательность символов n включает номер телефона и модификаторы набора (к модификаторам можно отнести P и T, указывающие на импульсный и тоновый тип набора соответственно. Допускается и более удобная для восприятия запись: ATD 8, (095) 123-94-42.
Таблица 10.9.3. Сообщения модема (коды результата Xn)
Код
|
Название
|
Описание
|
0 |
OK |
Команда выполнена без ошибок |
1 |
Connect |
Установлена связь на скорости 300 бит/с (после реализации команд X1, X2, X3, X4) или на скорости 600, 1200, 2400 бит/с (после команды X0) |
2 |
Ring |
Обнаружен сигнал звонка. Этот код модем передает ЭВМ каждый раз, когда поступает сигнал вызова. |
3 |
No Carrier |
Потеряна или не получена несущая от удаленного модема. |
4 |
Error |
Обнаружена ошибка в командной строке, переполнен командный буфер или обнаружена ошибка контрольной суммы. |
5 |
Connect 1200 |
Установлена связь на скорости 1200 бит/с (см. команды X1, X2, X3, X4). |
6 |
No Dial Tone |
Нет сигнала (гудка) при снятии трубки (см. команды X2, X4) |
7 |
Busy |
Обнаружен сигнал <занято> после набора номера. |
8 |
No Answer |
Отклик может быть получен при использовании в командной строке символа @, если не выполнено условие - 5-сек тишины. |
9 |
Ringing |
Пришел вызов (звонок) |
10 |
Connect 2400 |
Установлена связь на скорости 2400бит/с (см. команды X1, X2, X3, X4). |
11 |
Connect 4800 |
Установлена связь на скорости 4800бит/с |
12 |
Connect 9600 |
Установлена связь на скорости 9600бит/с |
14 |
Connect 19200 |
Установлена связь на скорости 19200бит/с |
15 |
Connect 7200 |
Установлена связь на скорости 7200бит/с |
16 |
Connect 12000 |
Установлена связь на скорости 12000бит/с |
17 |
Connect 14400 |
Установлена связь на скорости 14400бит/с |
18 |
Connect 16800 |
Установлена связь на скорости 16800бит/с |
19 |
Connect 38400 |
Установлена связь на скорости 38400бит/с |
20 |
Connect 57600 |
Установлена связь на скорости 57600бит/с |
21 |
Connect 76800 |
Установлена связь на скорости 76800бит/с |
Содержание раздела