ВСЕ, ЧТО ВЫ ХОТЕЛИ ЗНАТЬ О МОДЕМАХ, НО БОЯЛИСЬ СПРОСИТЬ :: Модемы. Справочник пользователя ::Публикуется с разрешения автора!Автор: Лагутенко Олег Иванович, к.т.н.
|
Команда | Назначение АТ-команды |
AT | Префикс командной строки |
In | Запрос результирующего кода и проверочной суммы ROM: 10 — модем посылает трехцифровой результирующий код; 11 — модем выдает проверочную сумму программы ROM: 12 — модем выдает <Ok> или состояние ошибки проверочной суммы программы ROM; 3 — модем выдает свой статус, включая формат данных, протокол Bell или ITU-T |
А | Автоответ |
Bn | Выбор протокола Bell или ITU-T: 0 — ITU-T V.22/V.2201S; 1 — Ве11212А |
Cn | Передача сигнала несущей: 0 — запрещает передачу несущей; 1 — разрешает передачу несущей |
Dn | Набор номера n и установление связи |
P | Использование импульсного набора (метода PULSE) |
R | Установление связи в реврсивном режиме — режиме автоответа |
S | Набор хранимого номера |
T | Использование тонального набора (метода TONE) |
W | Ожидание длинного тона (гудка) из линии |
® | Ожидание "молчания" в линии |
. | Задержка, перерыв в последовательности вызовов (время задержки — из регистра S8) |
! | Краткая временная задержка (0,5 с) — имитирует процесс "положить трубку" |
Возврат в командный режим модема после набора номера | |
/ | Пауза на 1/8 с |
En | Эхо модемных команд (отображение выдаваемых команд на экране дисплея): Е0 — запрет эха; Е1 — любой символ, посланный в модем в командном режиме, отображается на дисплее |
Fn | Установка режима дуплекса: F0 — полудуплексный режим; F1 — полнодуплексный режим |
Hn | Подключение модема к линии: Н0 — "положить трубку" (HUNGE UP или ON HOOK); Н1 — "поднять трубку" (OFF HOOK) |
Ln | Управление громкостью встроенного динамика: L0 — слабая; L1 — выше слабой; L2 — средняя; L3 — высокая |
Mn | Управление динамиком: М0 — выключен; М1 — включен в процессе вызова или ответа (по умолчанию); М2 — всегда включен; МЗ — отключается после получения несущего сигнала при наборе номера |
On | Управление режимом работы модема: O0 — переводит модем в режим передачи; O1 — переводит модем в режим передачи и переустанавливает протоколы связи и параметры эквалайзера |
Qn | Выдача сообщений модемом: Q0 — разрешает выдачу сообщений модемом (по умолчанию); Q1 — запрещает выдачу сообщений |
Sn=x | Команды записи в S-регистры: n — номер S-регистра; х — значение, записываемое в регистр |
Sn? | Чтение регистра — считывает содержимое S-регистра с номером n |
Vn | Выбор кодов для сообщений модема: V0 — используются цифры; V1 — используются слова |
Xn | Выбор набора диагностических сообщений, управление определением сигнала "занято" и наличием гудков в линии. Подробная информация о Х0 — Х4 приведена в табл. 4.3. Х5 и Х6 — переключение голос/данные: Х5 — переход из режима голосовой связи в режим передачи данных; Х6 — переход из режима передачи данных в режим передачи голоса пользователя |
Yn | Дистанционное отключение сеанса связи: Y0 — не отключатся; Y1 — отключатся после задержки в 1,6 с |
Z | Первоначальная установка, приводит к следующим событиям: — модем "кладет трубку"; — содержимое всех S-регистров устанавливается в состояние "по умолчанию"; — очищается командный буфер; — считывается состояние конфигурационных переключателей или файла конфигурации из энергонезависимой памяти; — посылается сообщение <Ok> |
Набор АТ-команд конкретного модема может отличаться от наборов команд модемов других производителей. Полное описание команд должно содержаться в руководстве на модем.
Таблица 4.2 - Расширенный набор АТ-команд
Команда | Назначение АТ-команды |
&Cn | Определение положения информационной несущей (DCD): &С0 — модем поддерживает DCD (контакт 8 DB-25 RS-232) всегда включенным; &С1 — информационная несущая DCD определяется состоянием связи |
&Dn | Определение положения линии готовности терминала (DTR): &D0 — модем игнорирует сигнал DTR (контакт 20 DB-25 RS-232); &D1 — при пропадании DTR модем переходит в коммандный асинхронный режим; &D2 — выключение DTR приводит к "опусканию трубки", выходу из режима ответа и возвращению к командному режиму; &D3 — отключение DTR инициализирует модем |
&F | Считывание конфигурации из энергонезависимой памяти (ERPROM) |
&Gn | Выбор частоты сигнала защитного тона: &G0 или &G — без защитного тона; &G1 — 550 Гц; &G2 — 1800 Гц (по умолчанию) |
&Cn | Определение положения информационной несущей (DCD): &С0 — модем поддерживает DCD (контакт 8 DB-25 RS-232) всегда включенным; &С1 — информационная несущая DCD определяется состоянием связи |
&Jn | Выбор телефонного разъема: &J0 — RJ-11/ RJ-41S/ RJ-45S; &J1 —RJ-12/RJ-13 |
&Ln | Выбор типа линии: &L0 — коммутируемая; &L1 — выделенная (арендуемая) линия |
&Mn | Выбор режима связи: &М0 — асинхронный: &М1 — первый синхронный режим — асинхронный вызов и последующий переход в синхронный режим; &М2 — второй синхронный режим — запоминание номера вызова; &МЗ — третий синхронный режим — ручной вызов |
&Pn | Выбор отношения вызов/пауза (брейк-отношения) для импульсного режима набора: &Р0 — 39/61 (стандарт США, Канады и России); &Р1 — 33/67 (стандарт Великобритании) |
&Rn | Определение положения сигнала RTS (только в синхронном режиме): &R0 — сигнал CTS (контакт 5 DB-25 RS-232) передается при наличии сигнала RTS (контакт 4); &R1 — модем игнорирует RTS и включает CTS, когда готов к приему синхронных данных |
&Sn | Определение положения сигнала готовности модема (DSR): &S0 — модем устанавливает DSR по включению; &S1 — DSR (контакт 6 DB-25 RS-232) функционирует согласно рекомендации Е1А |
&Tn | Установление тестового режима: &Т0 — прекращает любой выполняемый тест по получении команды; &Т1 — запускает локальный аналоговый тест; &Т2 — запускает локальный цифровой тест; &ТЗ — подготавливает модем к выполнению удаленного цифрового теста по запросу другого модема; &Т4 — запрещает удаленный цифровой тест; &Т5 — разрешает удаленный цифровой тест с другим модемом: &Т6 — инициализирует удаленный цифровой тест; &Т7 — инициализирует удаленный цифровой тест с самодиагностикой |
&Wn | Запись текущей конфигурации в энергонезависимую память профиля (профайла) n |
&Xn | Выбор источника тактовой частоты синхронизации передачи (только для синхронного режима работы порта): &Х0 — модем генерирует тактовую частоту и выдает ее на 15-й контакт DB-25 RS-232; &Х1 — компьютер генерирует тактовую частоту и передает ее на модем через 24-й контакт DB-25, а модем передает ее через контакт 15; &Х2 — модем выделяет сигнал тактовой синхронизации из входного сигнала и поддерживает его на контакте 15 RS-232 |
&Zn | Запоминание телефонного номера n |
Если модем не выполняет команды, необходимо проверить следующее:
Если после выполнения команды от модема пришло сообщение ERROR, то причиной этого могут быть следующие:
В процессе своей работы модем может информировать компьютер пользователя о текущем состоянии связи и результатах выполнения АТ-команд. Для этого применяются так называемые ответные коды модема. Модемы могут передавать одиночные цифровые коды, которые можно расшифровать, используя руководство пользователя модема или символьный ответ, который близок к простому английскому языку.
В табл. 4.3 приведены основные ответные коды Hayes-совместимых модемов, а также набор Х-команд, определяющих использование соответствующих ответных кодов.
Таблица 4.3 - Ответные коды модемов
Символьный вид | Цифровой код | Набор команд | Значение ответа | ||||
X0 | X1 | X2 | X3 | X4 | |||
Ok | 0 | + | + | + | + | + | Модем выполнил команду без ошибок |
CONNECT | 1 | + | + | + | + | + | Связь установлена со скоростью 300 бит/с (после выполнения команд Х1, Х2, ХЗ, Х4) или со скоростью 600, 1200, 2400 бит/с (после выполнения команды Х0) |
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-регистров модема, их содержимое по умолчанию и соответствующие функции модема.
Для того, чтобы прочитать содержимое регистра, необходимо подать команду Sn?, где n — номер регистра. Для записи числа х в регистр Sn используется команда Sn=x. После этой команды можно использовать команду чтения и записи, не включая в командную строку имени регистра, например:
Указатель на данный регистр будет сохранятся до тех пор, пока не будет использована команда Sn со значение n, отличным от текущего.
Как и в случае АТ-команд, между разными изготовителями модемов существует некоторый уровень согласованности и в определениях S-регистров. Однако полная схема использования S-регистров зависит от типа модема. В общем случае можно считать, что 13 S-регистров S0-S12 присутствуют в любом модеме, и выполняемые ими функции согласованы между производителями модемов. Ниже приведено краткое описание и минимальные комментарии по этим тринадцати S-регистрам.
Таблица 4.4 - Основные S-регистры интеллектуальных модемов
Регистр | Пределы изменения величин | Значение по умолчанию | Функция |
S0 | 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.
Таблица 4.5 - Дополнительные S-регистры интеллектуальных модемов