• ВСЕ, ЧТО ВЫ ХОТЕЛИ ЗНАТЬ О МОДЕМАХ, НО БОЯЛИСЬ СПРОСИТЬ •  

:: Модемы. Справочник пользователя ::

Публикуется с разрешения автора!
Автор: Лагутенко Олег Иванович, к.т.н.
Источник: http://laguten.chat.ru

ГЛАВА 4

ИНТЕЛЛЕКТУАЛЬНЫЕ ВОЗМОЖНОСТИ МОДЕМОВ

В современном понимании понятие модема значительно шире, чем просто совокупность модулятора и демодулятора. В настоящее время модемы являются интеллектуальными устройствами, позволяющими помимо своей главной задачи — преобразования передаваемых сигналов, реализовать множество других функций, предоставляя дополнительные удобства пользователям. Такие модемы называют интеллектуальными или Smart-модемами.

Интеллектуальные возможности модемов реализуются благодаря наличию схемы управления, выполненной на основе того или иного микропроцессора. В схемах управления модемом часто применяются микропроцессоры общего назначения, такие как Z80, Intel 8086, 80186, 80286, 80386, Motorola 68020, 68030 и другие. Возможно применение и специализированных контроллеров, объединяющих в себе как сигнальный процессор, так и процессор, реализующий дополнительные сервисные функции. К таким контроллерам относятся, например, Intel 89024, 89027, 89С024, 89С124.

Для программного управления режимами работы модема (его схемы управления) со стороны компьютера используется набор специальных команд. Команды управления воспринимаются модемом только в случае, если он находится в командном режиме.

Каждый конкретный модем может воспринимать определенное множество команд, в общем случае не совпадающее командами, поддерживаемыми другими модемами. Однако для удобства применения модемов и совместимости коммуникационных программ необходимо иметь стандартный набор таких команд.

Первенство в создании интеллектуального модема не принадлежит фирме Hayes. Прежде чем эта корпорация выпустила свой первый интеллектуальный Smartmodem 300, другие изготовители уже ввели интеллектуальные возможности в свои модемы. Заслуга корпорации Hayes заключается не столько в создании еще одного собственного набора команд, столько в утверждении этого набора команд в качестве промышленного стандарта.

Набор команд, под управлением которых работал Smartmodem 300, был очень мал. Когда модемы стали более совершенными, фирма Hayes расширила этот набор путем введения дополнительных функций управления. Для того, что бы сделать свои модемы Hayes-совместимыми, другие производители скопировали базовый набор команд, а затем разработали собственные дополнительные команды для поддержки специфических характеристик своих модемов. В результате сложилась ситуация, когда несмотря на то, что почти все модемы выполняют базовые команды, практически невозможно встретить два модема, использующие одинаковые команды и их синтаксис для реализации более сложных функций.

В роли стандартов для интеллектуальных модемов в настоящее время выступает набор команд модемов Hayes, называемый также АТ-командами, и команды, определяемые рекомендацией V.25bis.

Рассматриваемые в данной главе интеллектуальные возможности модемов относятся, в первую очередь, к наиболее распространенным абонентским модемам для коммутируемой телефонной сети общего пользования.


4.1 Режимы работы модема

Интеллектуальные модемы работают в одном из двух режимов. В командном режиме модем получает команды от компьютера, которые устанавливают и изменяют условия связи с удаленным модемом. В режиме передачи он работает как ретранслятор, выполняя свою главную задачу по преобразованию и передаче информации.

Командный режим модема устанавливается в следующих случаях:

  • при включении питания;
  • при первоначальной инициализации модема;
  • после неудачной попытки соединения с удаленным модемом;
  • при прерывании передачи с клавиатуры путем нажатия комбинации клавиш — "положить трубку" (обычно "Alt +H");
  • при выходе из режима передачи данных через последовательность команд (ESCAPE — последовательность).

Установление соединения и посылка модемом сообщения CONNECT происходит в двух случаях:

  • при удавшейся попытке установления связи с удаленным модемом;
  • при выполнении модемом самотестирования.

В режиме передачи модем является "прозрачным" для команд, которые передаются в канал наряду с другими символами. И только ESCAPE-последовательность символов будет восприниматься модемом как управляющая команда. После получения этой последовательности модем выходит из режима передачи в командный режим, не прерывая связи с удаленным модемом. Это дает возможность пользователю или прикладному процессу, не разрывая связи, войти в командный режим и изменить параметры обмена информацией или настройки используемой коммуникационной программы.

Возможные состояния интеллектуального модема и переходы между ними поясняются диаграммой, приведенной на рис. 4.1.

Диаграмма состоянии интеллектуального модема
Рис. 4.1 - Диаграмма состоянии интеллектуального модема



4.2 АТ-команды

Основное отличие Hayes-совместимых модемов состоит в поддержке командного режима в стандарте АТ-команд. AT (Attention — внимание) — это префикс, который ставится перед одной или несколькими командами Hayes-модема.

В командном режиме символы, набираемые на клавиатуре, попадают в командный буфер и посылаются на исполнение нажатием клавиши "Enter". Команды могут быть набраны либо строчными, либо прописными буквами и должны содержать численные параметры, если того требует формат команды. Если численный параметр пропущен, то его значение по умолчанию принимается равным нулю. При успешном выполнении команды модем посылает вам сообщение "Ok". При интерпретации команды модем анализирует только семь младших разрядов каждого символа; строчные символы команды эквивалентны прописным символам. Пробелы и управляющие символы, отличные от ASCII-кода возврата каретки 13 ("CR" — Carriage Return) и ASCII-кода забоя 8 ("BS" — Back Space), появляющиеся в командной строке, игнорируются. По умолчанию все факс-модемы должны поддерживать внутриполосное XON/XOFF-управление потоком данных, хотя также могут использоваться другие типы управления потоком.

Все команды современных интеллектуальных модемов можно классифицировать, как это показано на рис. 4.2. Данная классификация не является окончательной и может расширяться в процессе роста функциональных возможностей модемов, например таких, как организация закрытых шифрованных каналов связи.

Структура команд интеллектуальных модемов
Рис. 4.2 - Структура команд интеллектуальных модемов

Как видно из рис. 4.2, префикс AT не ставится только перед перед командой А/ и Escape-последовательностью (+++). Команда А/ означает повторение последней команды. По этой команде происходит повторение последней введенной команды из внутреннего буфера модема. Escape-последовательность используется для переключения модема в командный режим из режима передачи данных.

Остальные команды являются АТ-командами, так как начинаются с префикса AT. Команды различного рода расширенных наборов имеют также дополнительные префиксы, следующие за префиксом AT. В качестве таких префиксов выступают знаки типа <&>, <\>, <*>,<%>, <#>, <+> или другие.

Стандартный и расширенный наборы АТ-команд приведены в табл. 4.1. и 4.2 соответственно.

Таблица 4.1 - Основные АТ-команды

Команда Назначение АТ-команды
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

Если модем не выполняет команды, необходимо проверить следующее:

  • находится ли модем в командном режиме;
  • стоит ли в начале последовательности команд префикс AT;
  • находится ли конфигурация компьютера и программы в соответствии с параметрами обмена модема по порту RS-232.

Если после выполнения команды от модема пришло сообщение ERROR, то причиной этого могут быть следующие:

  • переполнение командного буфера по причине большого количества команд;
  • ошибка в команде.



4.3   Ответные коды модемов

В процессе своей работы модем может информировать компьютер пользователя о текущем состоянии связи и результатах выполнения АТ-команд. Для этого применяются так называемые ответные коды модема. Модемы могут передавать одиночные цифровые коды, которые можно расшифровать, используя руководство пользователя модема или символьный ответ, который близок к простому английскому языку.

В табл. 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-регистры модемов

В интеллектуальных модемах имеется набор регистров, содержимое которых можно считывать и изменять программным образом. Устанавливая определенные значения в соответствующие регистры, можно управлять работой модема. На платах многих модемов имеются конфигурационные переключатели, которые можно установить определенным образом и тем самым задать содержимое некоторых регистров, которое они принимают по умолчанию при включении модема. В табл. 4.4 приведен список S-регистров модема, их содержимое по умолчанию и соответствующие функции модема.

Для того, чтобы прочитать содержимое регистра, необходимо подать команду Sn?, где n — номер регистра. Для записи числа х в регистр Sn используется команда Sn=x. После этой команды можно использовать команду чтения и записи, не включая в командную строку имени регистра, например:

  • ATS6 — установить указатель на регистр S6;
  • AT? — считать содержимое регистра S6;
  • АТ=3 — записать в регистр S6 число 3.

Указатель на данный регистр будет сохранятся до тех пор, пока не будет использована команда 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-регистры интеллектуальных модемов

Раздел находится в стадии редактирования и в данный момент временно полностью недоступен.

Приносим свои извинения.



Назад | Оглавление | Далее
Design by Graj © "ЦСС-ЕВРОКОМ"