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

В современном понимании понятие модема значительно шире, чем просто совокупность модулятора и демодулятора. В настоящее время модемы являются интеллектуальными устройствами, позволяющими помимо своей главной задачи — преобразования передаваемых сигналов, реализовать множество других функций, предоставляя дополнительные удобства пользователям. Такие модемы называют интеллектуальными или 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. Режимы работы модема Интеллектуальные модемы работают в одном из двух режимов. В командном режиме модем получает команды от компьютера, которые устанавливают и изменяют условия связи с удаленным модемом. В режиме передачи он работает как ретранслятор, выполняя свою главную задачу по преобразованию и передаче информации. > при выходе из режима передачи данных через последовательность команд (ESCAPE — последовательность). > при выполнении модемом самотестирования. Рис. 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-последовательностью (+++). Команда А/ означает повторение последней команды. По этой команде происходит повторение последней введенной Рис. 4.2. команды из внутреннего буфера модема. Escape-последовательность используется для переключения модема в командный режим из режима передачи данных. Остальные команды являются АТ-командами, так как начинаются с префикса AT. Команды различного рода расширенных наборов имеют также дополнительные префиксы, следующие за префиксом AT. В качестве таких префиксов выступают знаки типа <&>, <\>, <*>, <%>, <#>, <+> или другие. Таблица 4.1. Основные АТ-команды Набор АТ-команд конкретного модема может отличаться от наборов команд модемов других производителей. Полное описание команд должно содержаться в руководстве на модем. Таблица 4.2. Расширенный набор АТ-команд Стандартный и расширенный наборы АТ-команд приведены в табл. 4.1. и 4.2 соответственно. Если модем не выполняет команды, необходимо проверить следующее: > находится ли конфигурация компьютера и программы в соответствии с параметрами обмена модема по порту RS-232. Если после выполнения команды от модема пришло сообщение ERROR, то причиной этого могут быть следующие: > ошибка в команде. 4.3. Ответные коды модемов В процессе своей работы модем может информировать компьютер пользователя о текущем состоянии связи и результатах выполнения АТ-команд. Для этого применяются так называемые ответные коды модема. Модемы могут передавать одиночные цифровые коды, которые можно расшифровать, используя руководство пользователя модема или символьный ответ, который близок к простому английскому языку. В табл. 4.3 приведены основные ответные коды Hayes-совместимых модемов, а также набор Х-команд, определяющих использование соответствующих ответных кодов. Таблица 4.3. Ответные коды модемов Большинство ответов модема зависит от команды и связано с возвратом запрашиваемой информации или сообщением о текущем состоянии модема. Тем не менее, имеются два стандартных ответа — ОК. и ERROR. Ответ ОК означает, что команда принята и модем готов для приема следующей команды. Если модем обнаруживает использование недопустимого аргумента или неправильный формат команды, он выдает ответ ERROR. Нераспознанные и неподдерживаемые команды также могут приводить к этому ответу. В других случаях, например, при получении вышедших из употребления команд, ответ ОК будет выдаваться для сохранения совместимости с имеющимся программным обеспечением, но при этом в состоянии модема не будет происходить никаких изменений. Различные модемы по разному реагируют на ошибки в командной строке. Обычно, любая ошибка в командной строке приводит к сбрасыванию всей командной строки без изменения состояния модема. Однако некоторые модемы могут обрабатывать правильные команды в строке до тех пор, пока они не встретят ошибку, после чего обработка командной строки прекращается. 4.4. S-регистры модемов В интеллектуальных модемах имеется набор регистров, содержимое которых можно считывать и изменять программным образом. Устанавливая определенные значения в соответствующие регистры, можно управлять работой модема. На платах многих модемов имеются конфигурационные переключатели, которые можно установить определенным образом и тем самым задать содержимое некоторых регистров, которое они принимают по умолчанию при включении модема. В табл. 4.4 приведен список S-регистров модема, их содержимое по умолчанию и соответствующие функции модема. Для того, чтобы прочитать содержимое регистра, необходимо подать команду Sn?, где п — номер регистра. Для записи числа х в регистр Sn используется команда Sn=x. После этой команды можно использовать команду чтения и записи, не включая в командную строку имени регистра, например: AT? — считать содержимое регистра S6; АТ=3 — записать в регистр S6 число 3. Указатель на данный регистр будет сохранятся до тех пор, пока не будет использована команда Sn со значение п, отличным от текущего. Как и в случае АТ-команд, между разными изготовителями модемов существует некоторый уровень согласованности и в определениях S-регистров. Однако полная схема использования S-регистров зависит от типа модема. В общем случае можно считать, что 13 S-регистров SO-S12 присутствуют в любом модеме, и выполняемые ими функции согласованы между производителями модемов. Ниже приведено краткое описание и минимальные комментарии по этим тринадцати S-регистрам. Таблица 4.4. Основные S-регистры интеллектуальных модемов Регистры различных модемов с номерами больше 12 могут значительно отличаться между собой по функциональному назначению. В случае отсутствия документации на используемый модем может пригодиться информация и о S-регистрах других модемов, приводимая в табл. 4.5. Таблица 4.5. Дополнительные S-регистры интеллектуальных модемов 50 — количество гудков для автоответа. Значение этого регистра равно числу гудков, после которого модем, находящийся в режиме автоответа, поднимет трубку и начнет устанавливать связь с удаленным модемом. По умолчанию S0=1. Для отключения этой функции необходимо присвоить S0=0. 51 — счетчик приходящих гудков. Эта функция работает при ненулевом значении регистра SO. Если после последнего гудка в течении 8 с новые гудки не последуют, содержимое S1 обнуляется. 52 — символ ESCAPE. Используется в ESCAPE-последовательностях, по умолчанию 43-й символ ASCII — "+" (плюс). Однако можно заменить любым символом от 0 до 127. 53 — символ ENTER. Символ "ввод" или "перевод каретки" (<CR>), по умолчанию равен 13. Можно заменить любым другим символом от 0 до 127. 54 — символ LINEFEED. Символ "прокручивание линии" (<LF>), по умолчанию равен 10. Можно заменить любым другим символом от 0 до 127. 55 — символ BACKSPACE. Символ "забой" (<BS>), по умолчанию равен 8. Можно заменить любым другим символом от 0 до 32 или символом 127. 56 — ожидание первого гудка. Определяет время в секундах, в течение которого должен прийти гудок из линии при "поднятии трубки". Если в течение этого

Похожие статьи:

Hosted by uCoz