Поддержка
Статьи появляются по мере возникновения Ваших вопросов,
заданных в отделе технической поддержки или в письме
на адрес: infodars@yandex.ru
Описание команд HAYES-Модема
1.1 Общее описание команд Hayes'a
Все команды надо начинать префиксом AT (или At, aT, at) и заканчивать .
Существует несколько исключений, которые будут описаны ниже. Все вводимые данные
передаются эхом обратно в компьютер (терминал). Модем автоматически настраивает
свою скорость передачи данных и формат знака к параметрам терминала.
Чтобы изменить скорость обмена, надо определить ее в командной строке
завершенной на терминале. Модем дает согласие на введенное изменение и
отвечает OK. Команды можно объединять в командную сторку, для улучшения ясности
в командную строку можно вводить пробелы, тире итп.: AT DP 8W (044) 430-49-00,
легче прочитать и понять чем ATDP8W0444304900.
Командная строка может содержать не более 40 символов, исключая пробелы и
префикс AT. В случае, если строка длиннее 40 символов, модем возвращает ответ
ERROR и игнорирует командную строку. Редактирование ошибочных символов командной
строки осуществляется с помощью клавиши . На все правильно введенные
и исполненные команды модем отвечает OK. Модем может быть настроен на передачу
ответа в форме цифрового кода (удобно для програмного обслуживания модема).
Каждый ответ является одно- или двузначным кодом.
После включения модем (как правило) настроен на передачу ответа в символьном
виде.
1.2 Основной набор команд
AT |
начало (префикс) командной строки.
После получения этой команды модем автоматически подстраивает скорость передачи
и формат знака к параметрам терминала. |
A |
ручной ответ.
Команда переключает модем из командного режима на режим ожидания сигнала
несущей вызывающего модема.
После получения сигнала несущей, модем реализует процедуру положительного
ответа на вызов и действует как переключенный на процедуру автоматического
ответа.
Если модем работает на выделенных линиях связи, то отвечает несущей без
указания частоты. В этом случае если автоматический ответ (auto-answer)
выключен (S0=0) и происходит вызов, то для получения связи надо передать команду
ATA. |
A/ |
модем повторяет предыдущую командную строку.
Команда подается без префикса (AT) и нажатия (CR). |
Bn |
выбор коммуникационного стандарта:
- n = 0 CCITT V.21, V.22, V.22 bis,
- n = 1 BELL 103/202A.
|
Ds |
автоматический набор номера.
После получения этой команды, модем начинает набор номера и при получении
связи переходит в режим передачи.
Команда состоит из телефонного номера, в состав которого могут входить
следующие управляющие параметры:
- s = P обозначает, что цифры телефонного номера
идущие после символа P модем должен набирать импульсно (используются символы
0-9).
- s = T обозначает, что цифры телефонного номера
идущие после символа T модем должен набирать частотой (разрешено использовать
символы 0-9, A-D, * а также #).
- s = , обозначает перерыв перед набором следующей
цифры (2s).
- s = ; если применяется как последний знак в
командной строке, то модем после набора номера переходит в командный режим
работы.
- s = @ модем ожидает 5-секундной тишины на линии,
если она не появится в течении 30s (содержимое регистра S7), модем
отключается, и отвечает NO ANSWER.
- s = ! если знак ! стоит перед знаками
последовательности набора, модем переходит в состояние ON HOOK (кладет
трубку) на 0,5s, а затем снова перейдет в состояние OFF HOOK (снимает трубку).
- s = S модем набирает телефонный номер записанный
в памяти EEROM.
- s = R при записи как последний символ в
командной строке, устанавливает модем после набора номера в режим "answer",
но только в том случае, если модем звонит к модему "originate".
- s = W модем ожидает ответ станции (длинный
гудок) перед дальнейшим набором телефонного номера (например выход на
автоматическую междугороднюю связь).
|
En |
местное эхо ON/OFF.
После команды E1 модем возвращает эхо каждого знака передаваемого ему, что
позволяет узнать, как действительно работает командная линия. Команда E0
блокирует эту функцию.
- n = 0 эхо выключено,
- n = 1 эхо включено
|
Hn |
управление линией.
Команда используется прежде всего при окончании телефонной связи:
- n = 0 отключение модема от линии,
- n = 1 подключение модема на линию.
|
In |
производственный код и контрольная сумма:
- n = 0 сообщение сода продукта,
- n = 1 подсчет контрольной суммы программы
содержащейся в ROM (EPROM),
- n = 2 модем проверяет состояние внутренней
памяти ROM и возвращает сообщение OK или ERROR.
|
Ln |
установка громкости сигнала встроенного динамика (громкоговорителя).
- n = 0,1 низкая
- n = 2 средняя
- n = 3 высокая
|
Mn |
управление динамиком (громкоговорителем).
- n = 0 динамик выключен,
- n = 1 динамик включен только во время набора
номера и выключается после обнаружения несущей,
- n = 2 динамик включен все время,
- n = 3 динамик включается после набора последней
цифры номера и выключается после обнаружения несущей отвечающего модема.
|
Qn |
управление ответом модема.
- n = 0 ответ включен,
- n = 1 ответ выключен.
Независимо от состояния Q0 или Q1 модем всегда сообщает содержание S-регистров,
код продукта, контрольную сумму и результаты теста (смотри команды S, I, а также
&T).
| O |
после прохождения команды, модем настраивается на режим передачи данных и
отвечает CONNECT (если до этого он находился в командном режиме работы). |
Sr |
управление S-регистрами.
- Sr? считывание содержимого S-регистра номер r.
- Sr=nnn ввод числового параметра nnn в S-регистр
номер r.
Все команды модифицируют содержимое одного или более S-регистров. Некоторые
S-регистры содержат временные параметры, которые можно поменять только командой
S.
| Vn |
выбор вида ответа модема.
- n = 0 ответ цифровым кодом,
- n = 1 ответ в символьном виде на английском
языке.
Стандартный набор ответов модема |
Ответ в символьном виде |
Ответ цифровым кодом |
Значение ответа |
OK | 0 |
Модем выполнил команду |
CONNECT | 1 |
Модем подключен со скоростью 300bps после команды X0 возможна работа со
скоростью 600, 1200, 2400 bps. |
RING | 2 |
Модем обнаружил правильный сигнал звонка. Ответ выдается всегда, независимо
от режима работы. |
NO CARRIER | 3 |
Модем потерял несущую или не получил ответ от удаленного модема. |
ERROR | 4 |
Ошибка в командной строке. Командная строка длиннее 40 символов, или ошибка
в контрольной сумме (смотри команду L2). |
CONNECT 1200 | 5 |
Модем подключен со скоростью 1200 bps, (смотри команды X1, X2, X3, X4). |
NO DIALTONE | 6 |
Отсутствие сигнала станции коммутации (смотри комманды X2, X4). |
BUSY | 7 |
Номер (канал) занят. |
NO ANSWER | 8 |
Ответ получается в случае использования в командной строке управляющего
символа @ и если не выполнено условие - 5s тишины (см команду D). |
CONNECT 600 | 9 |
Модем подключен со скоростью 600 bps, (смотри команды X1, X2, X3, X4). |
CONNECT 2400 | 10 |
Модем подключен со скоростью 2400 bps, (смотри команды X1, X2, X3, X4). |
|
Xn |
Xn - выбор групп ответов модема связанных с процедурой набора номера:
| X0 | X1 | X2 | X3 | X4 |
Сообщение о связи |
1 | 2 | 2 | 2 | 2 |
Опоздание (S6 s) |
да | да | нет | да | нет |
Ожидание сигнала коммутатора |
нет | нет | да | нет | да |
Определение сигнала "занято" номера |
нет | нет | нет | да | да |
Сообщение о связи 1 |
обозначает, что модем после установления связи сообщит CONNECT,
независимо от скорости работы. |
Сообщение о связи 2 |
обозначает, что модем после установления связи сообщит следующий ответ
в зависимости от скорости работы: CONNECT, CONNECT 600, CONNECT 1200,
CONNECT 2400. Ответ CONNECT обозначает работу со скоростью передачи данных
- 300 bps. |
Опоздание (S6 s) |
обозначает, что модем перед набором телефонного номера, ожидает
определенное в S-регистре S6 время. Во многих странах существует требование
определения сигнала централи перед набором телефонного номера. |
Ожидание сигнала коммутатора |
обозначает, что модем будет ожидать сигнала станции 5s и по истечении этого
времени выдаст сообщение NO DIALTONE и перейдет в командный режим работы. |
Определение сигнала "занято" номера |
обозначает, что модем в случае занятости вызываемого номера, выдаст
сообщение BUSY, и возвратится в командный режим работы. |
|
Yn |
способ отключения модема от линии.
Существуют два способа отключения модема от линии: обыкновенный, когда
модем получит неактивный сигнал DTR, и когда модем получит от удаленного
модема сигнал перерыва.
Команда ATH0 направляет сигнал перерыва, который длится 4 s.
- n = 0 модем отключается обыкновенно (см. команду &D),
- n = 1 модем отключается после получения сигнала из линии.
|
Z |
обнуление модема (процессор считывает конфигурацию модема из памяти NOVRAM).
|
+++ |
последовательность выхода.
Благодаря этой команде можно перейти из режима передачи в командный режим
работы модема без перерыва связи. Команда требует тишины перед и после
направления последовательности выхода. Величина этого времени определена в
регистре S12 (обычно 50 = 1s). Десятичную величину знака ASCII, который
является знаком последовательности выхода содержит регистр S2 (обычно 43 те.'+').
|
1.3 Дополнительный набор команд Hayes'a
&Cn |
функция сигнала DCD.
- n = 0 сигнал DCD всегда активен,
- n = 1 сигнал DCD существует с момента, когда
модем определит несущую.
|
&Dn |
функция сигнала DTR в асинхронном режиме работы.
- n = 0 модем игнорирует DTR,
- n = 1 с момента потери DTR модем переходит в
командный режим работы,
- n = 2 с момента потери DTR модем прекращает
связь, выключает функцию "auto-answer" и переходит в командный режим работы,
- n = 3 с момента потери DTR модем автоматически
реализует команду ATZ. Модем обнаруживает потерю DTR если сигнал DTR длится
дольше времени определенного в S-регистре S25.
|
&F |
модем считывает свою конфигурацию записанную в EPROM. |
&Gn |
включение / выключение защитной частоты.
- n = 0 защитная частота выключена,
- n = 1 модем высылает защитную частоту 550 Hz,
- n = 2 модем высылает защитную частоту 1800 Hz.
|
&Ln |
вид линии связи.
- n = 0 передача на коммутируемых линиях связи,
- n = 1 передача на постоянных линиях связи.
|
&Mn |
режим работы.
- n = 0 асинхронный,
- n = 1 для терминалов, которые могут работать
как в синхронном, так и в асинхронном режиме работы; команду набора номера
модем передает асинхронно, а передачу данных - синхронно,
- n = 2 с момента появления сигнала DTR, модем
набирает номер записанный командой &Z в памяти NOVRAM,
- n = 3 при неактивном сигнале DTR производится
ручой набор номера. После получения соединения, с момента поступления
сигнала DTR модем подключается к линии.
|
&Pn |
установка импульсного коэффициента.
- n = 0 коэффициент заполнения замыкание/интервал 39/61%,
- n = 1 коэффициент заполнения замыкание/интервал 33/67%.
|
&Rn |
управление зависимостей RTS/CTS:
- n = 0 сигнал CTS наступает после сигнала RTS.
Такой вариант проявляется во время моделирования полудуплексного режима
работы. Данные появляющиеся до поступления сигнала CTS игнорируются.
- n = 1 модем игнорирует RTS, при активном CTS
сразу после подключения модема. Во время асинхронной передачи данных
(команда &M0) сигнал CTS всегда активен.
|
&Sn |
функции сигнала DSR:
- n = 0 сигнал DSR активен,
- n = 1 DSR активизируется, после окончания этапа установления связи.
|
&Tn |
тесты модема.
- n = 0 окончание текущего теста,
- n = 1 начало местной аналоговой петли,
- n = 2 не используется,
- n = 3 начало местной цифровой петли,
- n = 4 модем дает согласие начала цифровой петли, которую передает удаленный модем,
- n = 5 модем не дает внешнему устройству согласия,
- n = 6 начало дистанционной цифровой петли,
- n = 7 модем генерирует петлю RDL, а затем генерирует и передает тестирующий сигнал,
- n = 8 аналоговая петля связанная с внутренним тестом.
|
&W |
модем читает свою конфигурацию из памяти RAM и записывает ее в память NOVRAM.
Доступ к S-регистрам в памяти NOVRAM.
|
&Xn |
выбор опорного времени для передачи.
n = 0 модем генерирует основу времени - сигнал таймера 114 (15-ый штырек),
n = 1 модем получает основу времени для передачи из компьютера : сигнал таймера 113 (14-ый штырек),
n = 2 модем получает основу времени для передачи из линии, от несущей.
|
&Z |
запись телефонного номера в памяти NOVRAM,(максимум 33 знака).
|
2.0 Описание S-регистров.
Дается описание S-регистров непосредственно используемых при работе с модемом.
Для описания отдельных S-регистров указано два параметра:
- диапазон - обозначает диапазон параметров сохраняемых в S-регистре.
- величина - обозначает заводскую величину параметра, записанную в S-регистре фирмой изготовителем.
Регистр |
Величина |
Диапазон |
Коментарии |
S0 | 000 | 0-255 |
Количество сигналов звонка
Количество сигналов звонка, которого ждет модем перед ответом на вызов
телефонной линии:
- S0 = 0 автоответ выключен
- S0 больше 0 автоответ включен
-
|
S1 | - | 0-255 |
Счетчик сигналов звонка (информационный параметр)
Содержимое S-регистра увеличивается каждый раз, когда модем получает сигнал
звонка из телефонной линии и по истечении 8s после сигнала ответа сбрасывается.
Этот регистр - единственный, исполняющий чисто информационную роль, его
содержимое можно только читать. |
S2 | 043 (ASCII '+') | 0-255 |
Символ возврата
Содержит десятичный код символа ASCII, который является знаком
последовательности возврата /смотри '+++'/.
В случае, когда S2 больше 127 происходит блокировка последовательности
возврата. |
S3 | 013 ASCII (CR) или Ctrl-M (^M) | 0-127 |
Символ
Содержит десятичный код символа ASCII, который является знаком (CR). |
S4 | 010 ASCII (LF) или Ctrl-J (^J) | 0-127 |
Символ (LF)
Содержит десятичный код символа ASCII, который является знаком новой строки (LF). |
S5 | 008 ASCII (BS) или Ctrl-H (^H) | 0-32,127 |
Символ
Содержит десятичный код символа ASCII, который является знаком "забой" (backspase) (BS). |
S6 | 002 s | 2-255 |
Время ожидания заявления станции |
S7 | 030 s | 1-155 |
Ожидание сигнала несущей |
S8 | 002 s | 0-255 |
Время интервала при наборе |
S9 | 005 (x1/10s=0,6s) | 0-255 |
Время реакции DCD
Время задержки активизации сигнала DCD вследствие появления несущей. |
S10 | 014 (x1/10s=1,4s) | 1-255 |
Задержка разъединения после потери несущей |
S11 | | |
Не используется |
S12 | 050 (x20ms=1,0ms) | 20-255 |
Время требуемой тишины для последовательности возврата
Содержимое регистра определяет в 1/50s время требуемой тишины в передаче
перед и после последовательности возврата (смотри '+++'). |
S13 | | |
Не используется |
|