ИНТЕЛЛЕКТУАЛЬНЫЕ ВОЗМОЖНОСТИ МОДЕМОВ
В современном понимании понятие модема значительно шире, чем просто совокупность модулятора и демодулятора. В настоящее время модемы являются интеллектуальными устройствами, позволяющими помимо своей главной задачи — преобразования передаваемых сигналов, реализовать множество других функций, предоставляя дополнительные удобства пользователям. Такие модемы называют интеллектуальными или Smart-модемами.
Интеллектуальные возможности модемов реализуются благодаря наличию схемы управления, выполненной на основе того или иного микропроцессора. В схемах управления модемом часто применяются микропроцессоры общего назначения, такие как Z80, Intel 8086, 80186, 80286, 80386, Motorola 68020, 68030 и другие. Возможно применение и специализированных контроллеров, объединяющих в себе как сигнальный процессор, так и процессор, реализующий дополнительные сервисные функции. К таким контроллерам относятся, например, Intel 89024, 89027, 89С024, 89С124.
Для программного управления режимами работы модема (его схемы управления) со стороны компьютера используется набор специальных команд. Команды управления воспринимаются модемом только в случае, если он находится в командном режиме.
Каждый конкретный модем может воспринимать определенное множество команд, в общем случае не совпадающее командами, поддерживаемыми другими модемами. Однако для удобства применения модемов и совместимости коммуникационных программ необходимо иметь стандартный набор таких команд.
Первенство в создании интеллектуального модема не принадлежит фирме Haves. Прежде чем эта корпорация выпустила свой первый интеллектуальный Smartmodem 300, другие изготовители уже ввели интеллектуальные возможности в свои модемы. Заслуга корпорации Hayes заключается не столько в создании еще одного собственного набора команд, столько в утверждении этого набора команд в качестве промышленного стандарта.
Набор команд, под управлением которых работал Smartmodem 300, был очень мал. Когда модемы стали более совершенными, фирма Hayes расширила этот набор путем введения дополнительных функций управления. Для того, что бы сделать свои модемы Hayes-совместимыми, другие производители скопировали базовый набор команд, а затем разработали собственные дополнительные команды для поддержки специфических характеристик своих модемов. В результате сложилась ситуация, когда несмотря на то, что почти все модемы выполняют базовые команды, практически невозможно встретить два модема, использующие одинаковые команды и их синтаксис для реализации более сложных функций.
В роли стандартов для интеллектуальных модемов в настоящее время выступает набор команд модемов Hayes, называемый также АТ-командами, и команды, определяемые рекомендацией V.25bis.
Рассматриваемые в данной главе интеллектуальные возможности модемов относятся, в первую очередь, к наиболее распространенным абонентским модемам для коммутируемой телефонной сети общего пользования.
4.1. Режимы работы модема
Интеллектуальные модемы работают в одном из двух режимов. В командном режиме модем получает команды от компьютера, которые устанавливают и изменяют условия связи с удаленным модемом. В режиме передачи он работает как ретранслятор, выполняя свою главную задачу по преобразованию и передаче информации.
Командный режим модема устанавливается в следующих случаях:
> при включении питания;
> при первоначальной инициализации модема;
> после неудачной попытки соединения с удаленным модемом;
> при прерывании передачи с клавиатуры путем нажатия комбинации клавиш — "положить трубку" (обычно <Alt><H>);
> при выходе из режима передачи данных через последовательность команд (ESCAPE — последовательность).
Установление соединения и посылка модемом сообщения CONNECT происходит в двух случаях:
> при удавшейся попытке установления связи с удаленным модемом;
> при выполнении модемом самотестирования.
Рис. 4.1. Диаграмма состоянии интеллектуального модема
В режиме передачи модем является "прозрачным" для команд, которые передаются в канал наряду с другими символами. И только ESCAPE-последова-тельность символов будет восприниматься модемом как управляющая команда. После получения этой последовательности модем выходит из режима передачи в командный режим, не прерывая связи с удаленным модемом. Это дает возможность пользователю или прикладному процессу, не разрывая связи, войти в командный режим и изменить параметры обмена информацией или настройки используемой коммуникационной программы.
Возможные состояния интеллектуального модема и переходы между ними поясняются диаграммой, приведенной на рис. 4.1.
4.2. АТ-команды
Основное отличие Haves-совместимых модемов состоит в поддержке командного режима в стандарте АТ-команд. AT (Attention — внимание) — это префикс, который ставится перед одной или несколькими командами Hayes-модема.
В командном режиме символы, набираемые на клавиатуре, попадают в командный буфер и посылаются на исполнение нажатием клавиши <Enter>. Команды могут быть набраны либо строчными, либо прописными буквами и должны содержать численные параметры, если того требует формат команды. Если численный параметр пропущен, то его значение по умолчанию принимается равным нулю. При успешном выполнении команды модем посылает вам сообщение <0k>. При интерпретации команды модем анализирует только семь младших разрядов каждого символа; строчные символы команды эквивалентны прописным символам. Пробелы и управляющие символы, отличные от ASCII-кода возврата каретки 13 (<CR> — Carriage Return) и ASCII-кода забоя 8 (<BS> — Back Space), появляющиеся в командной строке, игнорируются. По умолчанию все факс-модемы должны поддерживать внутриполосное XON/XOFF-управле-ние потоком данных, хотя также могут использоваться другие типы управления потоком.
Все команды современных интеллектуальных модемов можно классифицировать, как это показано на рис. 4.2. Данная классификация не является окончательной и может расширяться в процессе роста функциональных возможностей модемов, например таких, как организация закрытых шифрованных каналов связи.
Как видно из рис. 4.2, префикс AT не ставится только перед перед командой А/ и Escape-последовательностью (+++). Команда А/ означает повторение последней команды. По этой команде происходит повторение последней введенной
команды из внутреннего буфера модема. Escape-последовательность используется для переключения модема в командный режим из режима передачи данных.
Остальные команды являются АТ-командами, так как начинаются с префикса AT. Команды различного рода расширенных наборов имеют также дополнительные префиксы, следующие за префиксом AT. В качестве таких префиксов выступают знаки типа <&>, <>, <*>, <%>, <#>, <+> или другие.
Таблица 4.1. Основные АТ-команды