5m Описание команд HAYES-Модема(C) И.Вязаничев __________________________________________ 1. Общее описание команд Hayes'a Все команды надо начинать префиксом AT(или At, aT, at) и заканчивать <CR>. Су-ществует несколько исключений, которые бу-дут описаны ниже. Все вводимые данные пе-редаются эхом обратно в компьютер (терми-нал). Команды можно объединять в команднуюстроку, для улучшения ясности в команднуюстроку можно вводить пробелы, тире и т.п.:AT DP 8W (0572) 30-49-00, легче прочитатьи понять чем ATDP8W0572304900. Командная строка может содержать не бо-лее 40 символов, исключая пробелы и пре-фикс AT. В случае, если строка длиннее 40
символов, модем возвращает ответ ERROR и
игнорирует командную строку. Редактирова-
ние ошибочных символов командной строки
осуществляется с помощью клавиши <Backspa-
se>. На все правильно введенные и испол-
ненные команды модем отвечает OK.
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 модем возвращает эхо
каждого знака передаваемого ему, что поз-
воляет узнать, как действительно работает
командная линия.
n = 0 эхо выключено,
n = 1 эхо включено.
Hn - управление линией.
Команда используется прежде всего при
окончании телефонной связи:
n = 0 отключение модема от линии,
n = 1 подключение модема на линию.
In - производственный код и контрольная
сумма:
n = 0 сообщение сода продукта,
n = 1 подсчет контрольной суммы прог-
раммы содержащейся в EPROM
n = 2 модем проверяет состояние внут-
ренней памяти ROM и возвращает
сообщение OK или ERROR.
Ln - установка громкости сигнала встроен-
ного динамика (громкоговорителя).
n = 0 низкая
n = 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 NNN 1 Модем подключен со
скоростью NNNbps
RING 2 Модем обнаружил правильный
сигнал звонка.
Ответ выдается всегда,
независимо от режима
работы.
NO CARRIER 3 Модем потерял несущую
или не получил ответ
от удаленного модема.
ERROR 4 Ошибка в командной
строке.Командная стро-
ка длиннее 40 симво-
лов,или ошибка в конт-
рольной сумме (смотри
команду L2).
NO DIALTONE 6 Отсутствие сигнала
станции коммутации
(смотри команды X2,
X4).
BUSY 7 Номер (канал) занят.
NO ANSWER 8 - Ответ получается в
случае использования в
командной строке упра-
вляющего символа @ и
если не выполнено ус-
ловие - 5s тишины (см.
команду D).
__________________________________________
Xn - выбор групп ответов модема связанных
с процедурой набора номера:
X0 X1 X2 X3 X4 Сообще-
ние о связи 1 2 2 2 2 Опоздание (S6 s) да
да нет да нет Ожидание сигнала нет нет да
нет да Определение сигнала нет нет нет да
да "занято" номера
Сообщение о связи 1 - обозначает, что мо-
дем после установления связи
сообщит CONNECT, независимо от
скорости работы.
Сообщение о связи 2 - обозначает, что мо-
дем после установления связи
сообщит следующий ответ в зави-
симости от скорости работы:
CONNECT 2400, CONNECT 14400 и
т.д. Ответ CONNECT обозначает
работу со скоростью передачи
данных - 300 bps.
Опоздание (S6 s) - обозначает, что модем
перед набором телефонного номе-
ра, ожидает определенное в
S-регистре S6 время.
Во многих странах существует
требование определения сигнала
централи перед набором телефон-
ного номера.
Ожидание сигнала - обозначает, что модем
будет ожидать сигнала станции 5s
и по истечении этого времени вы-
даст сообщение NO DIALTONE и пе-
рейдет в командный режим работы.
Определение сигнала - обозначает, что мо-
дем в случае занятости вызы-
ваемого номера, выдаст сообщение
BUSY, и возвратится в командный
режим работы.
Yn - способ отключения модема от линии.
n = 0 модем отключается обыкновенно
(см. команду &D),
n = 1 модем отключается после получе-
ния сигнала из линии.
Z - обнуление модема (процессор считывает
конфигурацию модема из памяти NOVRAM).
+++ - последовательность выхода.
Благодаря этой команде можно перейти из
режима передачи в командный режим работы
модема без перерыва связи. Команда требует
тишины перед и после направления последо-
вательности выхода. Величина этого времени
определена в регистре S12 (обычно 50 =
1s). Десятичную величину знака ASCII, ко-
торый является знаком последовательности
выхода содержит регистр S2 (обычно 43 т.е.
'+').
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.
&Z - запись телефонного номера в памяти
NOVRAM, (максимум 33 знака).
4. Описание S-регистров.
Дается описание S-регистров непос-
редственно используемых при работе с моде-
мом. Для описания отдельных S-регистров
указано два параметра:
Диапазон - обозначает диапазон параметров
сохраняемых в S-регистре. Вели-
чина - обозначает заводскую величину
параметра, записанную в S-реги-
стре фирмой изготовителем.
S0 - Количество сигналов звонка
Диапазон: 0 - 255
Величина: 0
Количество сигналов звонка, которого
ждет модем перед ответом на вызов телефон-
ной линии:
S0 = 0 автоответ выключен
S0 > 0 автоответ включен
S1 - Счетчик сигналов звонка (информацион-
ный параметр)
Диапазон: 0 - 255
Содержимое S-регистра увеличивается
каждый раз, когда модем получает сигнал
звонка из телефонной линии и по истечении
8s после сигнала ответа сбрасывается.
Этот регистр - единственный, исполняю-
щий чисто информационную роль, его содер-
жимое можно только читать.
S2 - Символ возврата
Диапазон: 0 - 255
Величина: 043 (ASCII '+')
Содержит десятичный код символа ASCII,
который является знаком последовательности
возврата (смотри '+++').
В случае, когда S2 > 127 происходит
блокировка последовательности возврата.
S3 - Символ <CR>
Диапазон: 0 - 127
Величина: 013
Содержит десятичный код символа ASCII,
который является знаком <CR>.
S4 - Символ <LF>
Диапазон : 0 - 127
Величина : 010
Содержит десятичный код символа ASCII,
который является знаком новой строки <LF>.
S5 - Символ <BS>
Диапазон: 0 - 32, 127
Величина: 008
Содержит десятичный код символа ASCII,
который является знаком "забой" (backspa-
se) <BS>.
S6 - Время ожидания заявления станции
Диапазон: 2 - 255
Величина: 2 s
S7 - Ожидание сигнала несущей
Диапазон: 1 - 155
Величина: 30 s
S8 - Время интервала при наборе
Диапазон: 0 - 255
Величина: 2 s
S9 - Время реакции DCD
Диапазон: 0 - 255
Величина: 5 (x1/10s = 0,6s)
Время задержки активизации сигнала DCD
вследствие появления несущей.
S10 - Задержка разъединения после потери
несущей
Диапазон: 1 - 255
Величина: 14 (x1/10s = 1,4s)
S11 - Не используется
S12 - Время требуемой тишины для последо-
вательности возврата
Диапазон : 20 - 255
Величина : 050 (x20ms = 1,0ms)
Содержимое регистра определяет в 1/50s
время требуемой тишины в передаче перед и
после последовательности возврата (смотри
'+++').
S13 - Не используется
. . .
P.S. Здесь приведены только стандартные
команды. Модемы разных производителей
могут иметь множество других команд,
описание которых следует смотреть в
документации к модему.
__________________________________________