Смекни!
smekni.com

Системы телекоммуникации и связи (стр. 3 из 12)

Если вы допустили ошибку при наборе команды, то ее можно исправить, используя клавишу BackSpace.

После выполнения каждой команды модем посылает обратно компьютеру ответ в виде числа или слова. Этот ответ означает, выполнена ли команда или произошла ошибка. Если у вас внешний модем, то на его лицевой панели находится восемь световых индикаторов. Хотя их расположение на различных моделях может меняться, их обозначения являются стандартными:

· MR Modem Ready - Модем готов к обмену данными. Если этотиндикатор не горит, то надо проверить линию питания модема.

· TR Terminal Ready - Компьютер готов к обмену данными с модемом. Этот индикатор горит, когда модем получил от компьютерасигнал DTR.

· CD Carrier Detect - Индикатор зажигается, когда модем обнаружил несущую частоту на линии. Индикатор должен гореть на протяжении всего сеанса связи и гаснуть, когда один из модемов освободит линию.

· SD Send Data - Индикатор мигает, когда модем получает данные от компьютера.

· RD Receive Data - Индикатор мигает, когда модем передает данные к компьютеру

· HS High Speed - Модем работает на максимально возможной для него скорости.

· AA Auto Answer - Модем находится в режиме автоответа. То есть модем автоматически будет отвечать на приходящие звонки. Когда модем обнаружит звонок на телефонной линии, этот индикатор замигает.

· OH Off-Hook - Этот индикатор горит, когда модем снял трубку (занимает линию).

1.3.1 Основные команды модема

AT - Начало (префикс) командной строки. После получения этой команды модем автоматически подстраивает скорость передачи и формат данных к параметрам компьютера.

· A - Автоответ. Если режим автоматического ответа выключен (S0=0), команда используется для ответа на звонок от удаленного модема. Команда заставляет модем снять трубку ( подключиться к линии ) и установить связь с удаленным модемом.

· A/ - Модем повторяет последнюю введенную команду. Команда передается на модем без префикса AT и исполняется модемом немедленно, не ожидая прихода символа возврата каретки. Если вы передадите модему строку AT A/ <CR>, то модем укажет на ошибку и вернет слово ERROR.

· Bn - Команда производит выбор стандарта, согласно которому будет происходить обмен данными между модемами. При скорости передачи 300 бит/с происходит выбор между стандартами BELL 103 и CCITT V.21, при скорости 1200 bps - между BELL 212A и CCITT V.22bis. При скорости 2400 bps эта команда игнорируется и используется стандарт CCITT V.22. Если n=0, устанавливаются стандарты CCITT V.21/V.22, а если n=1 - стандарты BELL 103/212A.

· Ds - Команда используется для набора номера. После получения этой команды модем начинает набор номера и при установлении связи переходит в режим передачи данных. Команда состоит из префикса AT, символа D и телефонного номера, в состав которого могут входить следующие управляющие модификаторы: P или T. Эти модификаторы производят выбор между импульсной и тоновой системой набора ( в нашей стране используется импульсная система).

· , - Символ запятой вызывает паузу при наборе номера. Длительность паузы определяется содержимым регистра S8.

· ; - Символ точки с запятой, если он находится в конце командной строки, переводит модем после набора номера в командный режим.

· @ - Модем ожидает пятисекундной тишины на линии в течение заданного промежутка времени. Промежуток времени, в течение которого модем ожидает тишины, задается в регистре S7. Если в течение этого времени паузы тишины не было, модем отключается и отвечает NO ANSWER.

· ! - Если знак ! стоит перед знаками последовательности набора, модем переходит в состояние ON HOOK (кладет трубку) на 1/2 секунды, а затем снова переходит в состояние OFF HOOK (снимает трубку).

· S - Модем набирает телефонный номер, записанный в его памяти. Эта команда выполняется только для модемов, имеющих встроенную энергонезависимую память и возможность записи в нее номеров телефонов.

· R - После набора номера переводит модем в режим автоответа. Этот модификатор должен находиться в конце набираемого номера.

· W - Перед дальнейшим набором телефонного номера модем ожидает длинный гудок из линии. Причем время ожидания гудка содержится в регистре S7. Если в отведенное время гудок не появился, модем прекращает набор номера и возвращает сообщение NO DIALTONE. Этот параметр может быть полезен при наборе междугородних номеров.

· En - Управление эхо-выводом команд, передаваемых модему. После команды Е1 модем возвращает каждый знак, передаваемый ему, обратно компьютеру, что позволяет узнать, как работает связь модема и компьютера. Команда Е0 запрещает эхо-вывод.

· Fn - Переключение между дуплексным/полудуплексным режимами. При n=0 переход в полудуплексный режим, а при n=1 - в дуплексный.

· Hn - Эта команда используется для управления телефонной линией. Если n=0, то происходит отключение модема от линии, если n=1, модем подключается к линии.

· In - Выдает идентификационный код модема и контрольную сумму содержимого памяти модема. Если n=0, модем сообщает свой идентификационный код, если n=1, модем проводит подсчет контрольной суммы EPROM и передает ее компьютеру, n=2 - модем проверяет состояние внутренней памяти ROM и возвращает сообщение OK или CHECKSUM ERROR (ошибка контрольной суммы). При n=3 выдается состояние модема.

· Ln - Установка громкости сигнала внутреннего динамика: n=0,1 соответствует низкой громкости, n=2 - средней и n=3 - максимальной.

· Mn - Управление внутренним динамиком. При n=0 динамик выключен. При n=1 динамик включен только во время набора номера и выключен после обнаружения несущей. При n=2 динамик включен все время. При n=3 динамик включается после набора последней цифры номера и выключается после обнаружения несущей отвечающего модема.

· Qn - Управление ответом модема на AT-команды. При n=0 ответ разрешен, при n=1 ответ запрещен. Независимо от состояния Q0 или Q1 модем всегда сообщает содержание S-регистров, свой идентификационный код, контрольную сумму памяти и результаты теста.

· On - Команда переводит модем из командного режима в режим передачи данных. При этом модем отвечает CONNECT. Команда О и О0 переводят модем в режим передачи данных без инициирования последовательности сигналов проверки линии связи. Команда О1 переводит модем в режим передачи данных и заставляет модем передать последовательности сигналов проверки линии связи, т.е. производить повторное квитирование с удаленным модемом.

· Sr? - Чтение содержимого регистра модема, имеющего номер r. Sr=n - Запись в регистр модема с номером r числа n. Число n может иметь значения от 0 до 255. Все команды модифицируют содержимое одного или более S-регистров. Некоторые S-регистры содержат временные параметры, которые можно поменять только командой S.

· Vn - Производит выбор вида ответа модема на AT-команды. При n=0 ответ происходит цифровым кодом, а при n=1 модем отвечает в символьном виде на английском языке. Использование цифровой формы ответа облегчает обработку результатов выполнения команды при написании собственных программ управления модемом.

1.3.2 Стандартный набор ответов модема

· OK - Модем выполнил команду без ошибок

· CONNECT - Модем установил связь со скоростью 300 bps

· RING - Модем обнаружил сигнал звонка

· NO CARRIER - Модем потерял несущую частоту

· ERROR - Ошибка в командной строке

· CONNECT X - Модем установил связь со скоростью X

· NO DIALTONE - Отсутствие сигнала станции при снятии трубки

· BUSY - Модем обнаружил сигнал "занято"

· NO ANSWER - Нет ответа после ожидания сигнала

1.3.3 Основные принципы программирования модемов

Доступ к модему происходит через последовательный асинхронный порт. При этом для передачи модему команд их необходимо просто записать в регистр данных COM-порта, на котором находится модем. Ответ от модема также поступает через последовательный порт.Передавая модему команды, его можно проинициализировать, перевести в режим автоответа или заставить набрать номер.

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

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

1.4 Последовательность действий для установления связи

1. Инициализация COM-порта.
Проводим инициализацию COM-порта, к которому подключен мо- дем. Для этого программируем регистры микросхемы UART, задавая формат данных и скорость обмена. Заметим, что модем будет проводить соединение с удаленным модемом как раз на этой скорости. Чем скорость выше, тем быстрее будет происходить обмен данными с удаленным модемом. Однако при увеличении скорости на плохих телефонных линиях сильно возрастает количество ошибок.

2. Инициализация модема.
Передавая модему AT-команды через СОМ-порт, производим его инициализацию. При помощи АТ-команд можно установить различные режимы работы модема - выбрать протокол обмена, установить набор диагностических сообщений модема и т.д.

3. Соединение с удаленным модемом.
Передаем модему команду набора номера (ATD). В этом случае модем набирает номер и пытается установить связь с удаленным модемом. Или передаем модему команду AT S0=1 для перевода его в режим автоответа. После этого модем ожидает звонка от удаленного модема, а когда он приходит, пытается установить с ним связь.