Доклад: Интеллектуальные возможности модемов
Остальные команды являются АТ-командами, так как начинаются с префикса AT. Команды различного рода расширенных наборов имеют также дополнительные префиксы, следующие за префиксом AT. В качестве таких префиксов выступают знаки типа <&>, <\>, <*>, <%>, <#>, <+> или другие.
Таблица 4.1. Основные АТ-команды
Команда | Назначение АТ-команды |
AT | Префикс командной строки. |
In | Запрос результирующего кода и проверочной суммы ROM: 10 — модем посылает трехцифровой результирующий код; 11 — модем выдает проверочную сумму программы ROM: 12 — модем выдает <0k> или состояние ошибки проверочной суммы программы ROM; 3 — модем выдает свой статус, включая формат данных, протокол Bell или ITU-T. |
А | Автоответ. |
Вп | Выбор протокола Bell или ITU-T: 0 — ITU-T V.22/V.2201S; 1 —Ве11212А. |
Сп | Передача сигнала несущей: 0 — запрещает передачу несущей; 1 — разрешает передачу несущей. |
Dn | Набор номера п и установление связи. |
Р | Использование импульсного набора (метода PULSE). |
R | Установление связи в реврсивном режиме — режиме автоответа. |
S | Набор хранимого номера. |
Т | Использование тонального набора (метода TONE). |
W | Ожидание длинного тона (гудка) из линии. |
® | Ожидание "молчания" в линии. |
. | Задержка, перерыв в последовательности вызовов (время задержки — из регистра S8). |
! | Краткая временная задержка (0,5 с) — имитирует процесс "положить трубку". |
Возврат в командный режим модема после набора номера. | |
/ | Пауза на 1/8 с. |
En | Эхо модемных команд (отображение выдаваемых команд на экране дисплея): ЕО — запрет эха; Е1 — любой символ, посланный в модем в командном режиме, отображается на дисплее. |
Fn | Установка режима дуплекса: FO — полудуплексный режим; F1 — полнодуплексный режим. |
Команда | Назначение АТ-команды |
Нп | Подключение модема к линии: НО — "положить трубку" (HUNGE UP или ON HOOK); Н1 — "поднять трубку" (OFF HOOK). |
Ln | Управление громкостью встроенного динамика: LO — слабая; L1 — выше слабой; L2 — средняя; L3 — высокая. |
Мп | Управление динамиком: МО — выключен; М1 — включен в процессе вызова или ответа (по умолчанию); М2 — всегда включен; МЗ — отключается после получения несущего сигнала при наборе номера. |
On | Управление режимом работы модема: 00 — переводит модем в режим передачи; 01 — переводит модем в режим передачи и переустанавливает протоколы связи и параметры эквалайзера. |
Qn | Выдача сообщений модемом: 00 — разрешает выдачу сообщений модемом (по умолчанию); 01 — запрещает выдачу сообщений. |
Sn-x | Команды записи в S-регистры: п — номер S-регистра; х — значение, записываемое в регистр. |
Sn? | Чтение регистра — считывает содержимое S-регистра с номером п. |
Vn | Выбор кодов для сообщений модема: VO — используются цифры; VI — используются слова. |
Xn | Выбор набора диагностических сообщений, управление определением сигнала "занято" и наличием гудков в линии. Подробная информация о ХО — Х4 приведена в табл. 4.3. Х5.Х6 — переключение голос/данные: Х5 — переход из режима голосовой связи в режим передачи данных; Х6 — переход из режима передачи данных в режим передачи голоса пользователя. |
Yn | Дистанционное отключение сеанса связи: YO — не отключатся; Y1 — отключатся после задержки в 1,6 с. |
Z | Первоначальная установка, приводит к следующим событиям: — модем "кладет трубку"; — содержимое всех S-регистров устанавливается в состояние "по умолчанию"; — очищается командный буфер; — считывается состояние конфигурационных переключателей или файла конфигурации из энергонезависимой памяти; — посылается сообщение <0к>. |
Набор АТ-команд конкретного модема может отличаться от наборов команд модемов других производителей. Полное описание команд должно содержаться в руководстве на модем.
Таблица 4.2. Расширенный набор АТ-команд
Команда | Назначение АТ-команды |
&Сп | Определение положения информационной несущей (DCD): &СО — модем поддерживает DCD (контакт 8 DB-25 RS-232) всегда включенным; &С1 — информационная несущая DCD определяется состоянием связи. |
&Dn | Определение положения линии готовности терминала (DTR): &DO — модем игнорирует сигнал DTR (контакт 20 DB-25 RS-232); &D1 — при пропадании DTR модем переходит в коммандный асинхронный режим; &D2 — выключение OTR приводит к "опусканию трубки", выходу из режима ответа и возвращению к командному режиму; &D3 — отключение DTR инициализирует модем. |
&F | Считывание конфигурации из энергонезависимой памяти (ERPROM) |
&Gn | Выбор частоты сигнала защитного тона: &GO или &G — без защитного тона; &Q1 — 550 Гц; &G2 — 1800 Гц (по умолчанию). |
&Jn | Выбор телефонного разъема: &JO — RJ-11/ RJ-41S/ RJ-45S; &J1 —RJ-12/RJ-13. |
&Ln | Выбор типа линии: &LO — коммутируемая; &L1 — выделенная (арендуемая) линия. |
&Мп | Выбор режима связи: &МО — асинхронный: &М1 — первый синхронный режим — асинхронный вызов и последующий переход в синхронный режим; &М2 — второй синхронный режим — запоминание номера вызова; &МЗ — третий синхронный режим — ручной вызов. |
&Pn | Выбор отношения вызов/пауза (брейк-отношения) для импульсного режима набора: &РО — 39/61 (стандарт США, Канады и России); &Р1 — 33/67 (стандарт Великобритании). |
&Rn | Определение положения сигнала RTS (только в синхронном режиме): &RO — сигнал CTS (контакт 5 DB-25 RS-232) передается при наличии сигнала RTS (контакт 4); &R1 — модем игнорирует RTS и включает CTS, когда готов к приему синхронных данных. |
Команда | Назначение АТ-команды |
&Sn | Определение положения сигнала готовности модема (DSR): &SO — модем устанавливает DSR по включению; &S1 — DSR (контакт 6 DB-25 RS-232) функционирует согласно рекомендации Е1А. |
&Tn | Установление тестового режима: &ТО — прекращает любой выполняемый тест по получении команды; &Т1 — запускает локальный аналоговый тест; &Т2 — запускает локальный цифровой тест; &ТЗ — подготавливает модем к выполнению удаленного цифрового теста по запросу другого модема; &Т4 — запрещает удаленный цифровой тест; &Т5 — разрешает удаленный цифровой тест с другим модемом: &Т6 — инициализирует удаленный цифровой тест; &Т7 — инициализирует удаленный цифровой тест с самодиагностикой. |
&Wn | Запись текущей конфигурации в энергонезависимую память профиля (профайла) п |
&Xn | Выбор источника тактовой частоты синхронизации передачи (только для синхронного режима работы порта): &ХО — модем генерирует тактовую частоту и выдает ее на 15-й контакт DB-25 RS-232; &Х1 — компьютер генерирует тактовую частоту и передает ее на модем через 24-й контакт DB-25, а модем передает ее через контакт 15; &Х2 — модем выделяет сигнал тактовой синхронизации из входного сигнала и поддерживает его на контакте 15 RS-232. |
&Zn | Запоминание телефонного номера п |
Стандартный и расширенный наборы АТ-команд приведены в табл. 4.1. и 4.2 соответственно.
Если модем не выполняет команды, необходимо проверить следующее:
> находится ли модем в командном режиме;
> стоит ли в начале последовательности команд префикс AT;
> находится ли конфигурация компьютера и программы в соответствии с параметрами обмена модема по порту RS-232.
Если после выполнения команды от модема пришло сообщение ERROR, то причиной этого могут быть следующие:
> переполнение командного буфера по причине большого количества команд;
> ошибка в команде.
4.3. Ответные коды модемов
В процессе своей работы модем может информировать компьютер пользователя о текущем состоянии связи и результатах выполнения АТ-команд. Для этого применяются так называемые ответные коды модема. Модемы могут передавать одиночные цифровые коды, которые можно расшифровать, используя руководство пользователя модема или символьный ответ, который близок к простому английскому языку.
В табл. 4.3 приведены основные ответные коды Hayes-совместимых модемов, а также набор Х-команд, определяющих использование соответствующих ответных кодов.
Таблица 4.3. Ответные коды модемов
Символьный | Цифровой | h | •1або | р ко | манд | Значение ответа | |
вид | код | ХО | Х1 | Х2 | ХЗ | Х4 | |
ОК | 0 | + | + | + | + | + | Модем выполнил команду без ошибок |
CONNECT | 1 | + | + | + | + | + | Связь установлена |
со скоростью 300 бит/с (после | |||||||
выполнения команд Х1, Х2, ХЗ, Х4) или | |||||||
со скоростью 600, 1200, 2400 бит/с | |||||||
(после выполнения команды ХО) | |||||||
RING | 2 | + | + | + | + | + | Обнаружение сигнала звонка на линии |
NO CARRIER | 3 | + | + | + | + | + | Модем потерял несущую или не |
получил ответ от удаленного модема | |||||||
ERROR | 4 | + | + | + | + | + | Ошибка в командной строке, |
командный буфер переполнен или | |||||||
ошибка в контрольной сумме | |||||||
(команда 12) | |||||||
CONNECT 1200 | 5 | — | + | + | + | + | Установлена связь со скоростью |
1200 бит/с | |||||||
NO DIALTONE | 6 | — | — | + | — | + | Отсутствие сигнала станции при снятии |
трубки | |||||||
BUSY | 7 | — | — | — | + | + | Модем обнаружил сигнал "занято" |
после набора номера | |||||||
NO ANSWER | 8 | — | — | + | + | + | Использовалась команда 0, но не было |
выполнено условие пятисекундной | |||||||
паузы | |||||||
CONNECT 600 | 9 | — | + | + | + | + | Установлена связь со скоростью |
600 бит/с | |||||||
CONNECT 2400 | 10 | — | + | + | + | + | Установлена связь со скоростью |
2400 бит/с |
Большинство ответов модема зависит от команды и связано с возвратом запрашиваемой информации или сообщением о текущем состоянии модема. Тем не менее, имеются два стандартных ответа — ОК. и ERROR. Ответ ОК означает, что команда принята и модем готов для приема следующей команды.
Если модем обнаруживает использование недопустимого аргумента или неправильный формат команды, он выдает ответ ERROR. Нераспознанные и неподдерживаемые команды также могут приводить к этому ответу. В других случаях, например, при получении вышедших из употребления команд, ответ ОК будет выдаваться для сохранения совместимости с имеющимся программным обеспечением, но при этом в состоянии модема не будет происходить никаких изменений.
Различные модемы по разному реагируют на ошибки в командной строке. Обычно, любая ошибка в командной строке приводит к сбрасыванию всей командной строки без изменения состояния модема. Однако некоторые модемы могут обрабатывать правильные команды в строке до тех пор, пока они не встретят ошибку, после чего обработка командной строки прекращается.
4.4. S-регистры модемов
В интеллектуальных модемах имеется набор регистров, содержимое которых можно считывать и изменять программным образом. Устанавливая определенные значения в соответствующие регистры, можно управлять работой модема. На платах многих модемов имеются конфигурационные переключатели, которые можно установить определенным образом и тем самым задать содержимое некоторых регистров, которое они принимают по умолчанию при включении модема. В табл. 4.4 приведен список S-регистров модема, их содержимое по умолчанию и соответствующие функции модема.
Для того, чтобы прочитать содержимое регистра, необходимо подать команду Sn?, где п — номер регистра. Для записи числа х в регистр Sn используется команда Sn=x. После этой команды можно использовать команду чтения и записи, не включая в командную строку имени регистра, например:
ATS6 — установить указатель на регистр S6;
AT? — считать содержимое регистра S6;
АТ=3 — записать в регистр S6 число 3.
Указатель на данный регистр будет сохранятся до тех пор, пока не будет использована команда Sn со значение п, отличным от текущего.
Как и в случае АТ-команд, между разными изготовителями модемов существует некоторый уровень согласованности и в определениях S-регистров. Однако полная схема использования S-регистров зависит от типа модема. В общем случае можно считать, что 13 S-регистров SO-S12 присутствуют в любом модеме, и выполняемые ими функции согласованы между производителями модемов. Ниже приведено краткое описание и минимальные комментарии по этим тринадцати S-регистрам.
Таблица 4.4. Основные S-регистры интеллектуальных модемов
Регистр | Пределы изменения величин | Значение по умолчанию | Функция |
SO | 0—255 | 1 | Число гудков для автоответа |
S1 | 0—255 | 0 | Счетчик приходящих гудков |
S2 | 0—127 (ASCII) | 43 | ASCII код ESCAPE символа, обычно символа + |
S3 | 0—127 (ASCII) | 13 | ASCII код ENTER (<CR>) символа |
S4 | 0—127 (ASCII) | 10 | ASCII код LINEFEED (<LF>) символа |
S5 | 0—32, 127 (ASCII) | 8 | ASCII код BACKSPACE (<BS>) символа |
S6 | 2—225 (с) | 2 | Время ожидания первого гудка, с |
S7 | 1—255 (С) | 45 | Время одной попытки, с |
S8 | 0—255 (С) | 2 | Значение задержки, определяемой символом <,>, с |
S9 | 1—255(0,1 с) | 6 | Время определения несущей, с |
S10 | 1—255(0,1 с) | 7 | Время ожидания восстановления потеряной несущей, с |
S11 | 50—255(0,1 с) | 70 | Скорость набора для метода TONE |
S12 | 0—255 (0,05 с) | 50 | Пауза для передачи ESCAPE последовательности |
Регистры различных модемов с номерами больше 12 могут значительно отличаться между собой по функциональному назначению. В случае отсутствия документации на используемый модем может пригодиться информация и о S-регистрах других модемов, приводимая в табл. 4.5.