Рефераты. Системы телекоммуникации и связи

. 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 для перевода его в режим автоответа. После этого

модем ожидает звонка от удаленного модема, а когда он приходит, пытается

установить с ним связь.

4. Ожидаем ответ от модема.

В зависимости от режима, в котором находится модем, он может передавать

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

удаленного модема (АТ-команда ATD), то модем может выдать следующие

сообщения:

. CONNECT - Успешное соединение

. BUSY - Номер занят

. NO DIALTONE - На линии отсутствует сигнал коммутатора

. NO ANSWER - Абонент не отвечает

. NO CARRIER - Неудачная попытка установить связь

Когда приходит звонок, модем передает компьютеру сообщение RING,

если регистр модема S0 равен нулю. В этом случае для ответа на звонок

надо послать модему команду АТА. Если модем находится в режиме

автоответа и регистр модема S0 не равен нулю, то модем автоматически

пытается ответить на звонок и может выдать следующие сообщения:

. CONNECT - Успешное соединение

. NO DIALTONE - Нет несущей частоты удаленного модема

. NO CARRIER - Неудачная попытка установить связь

Если модем передал компьютеру сообщение CONNECT ,значит, он успешно

произвел соединение и теперь работает в режиме передачи данных. Теперь

все данные, которые вы передадите модему через СОМ-порт, будут

преобразованы модемом в форму, пригодную для передачи по телефонным

линиям, и переданы удаленному модему. И наоборот, данные, принятые

модемом по телефонной линии, переводятся в цифровую форму и могут быть

прочитаны через СОМ-порт, к которому подключен модем.

Если модем передал компьютеру сообщения BUSY, NO DIALTONE, NO

ANSWER, NO CARRIER значит, произвести соединение с удаленным модемом не

удалось и надо попытаться повторить соединение.

5. Подключение модема в командный режим.

После окончания работы коммуникационная программа должна перевести модем

в командный режим и передать ему команду положить трубку (ATH0). Для

перевода модема в командный режим можно воспользоваться Escape-

последовательностью "+++". После того как модем перешел в командный

режим, можно опять передавать ему АТ-команды.

6. Сбрасываем сигналы на линиях DTR и RTS.

Низкий уровень сигналов DTR и RTS сообщает модему, что компьютер не готов

к приему данных через COM-порт. При работе с асинхронным

последовательным адаптером вы можете использовать механизм прерываний.

Так как передача и прием данных модемом представляют собой длительный

процесс, то применение прерываний от порта позволяет использовать

процессорное время для других нужд.

1.5 Протоколы обмена данными

1.5.1 Протоколы коррекции ошибок нижнего уровня

При передаче данных по зашумленным телефонным линиям всегда существует

вероятность, что данные, передаваемые одним модемом, будут приняты другим

модемом в искаженном виде. Например, некоторые передаваемые байты могут

изменить свое значение или даже просто исчезнуть.

Для того, чтобы пользователь имел гарантии, что его данные переданы без

ошибок, используются протоколы коррекции ошибок.

Общая форма передачи данных по протоколам с коррекцией ошибок

следующая: данные передаются отдельными блоками (пакетами) по 16-20000

байт, в зависимости от качества связи. Каждый блок снабжается заголовком, в

котором указана проверочная информация, например контрольная сумма блока.

Принимающий компьютер самостоятельно подсчитывает контрольную сумму каждого

блока и сравнивает ее с контрольной суммой из заголовка блока. Если эти две

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

без ошибок. В противном случае принимающий компьютер передает передающему

запрос на повторную пере-

дачу этого блока.

Протоколы коррекции ошибок могут быть реализованы как на аппаратном

уровне, так и на програмном. Аппаратный уровень реализации более

эффективен. Быстродействие аппаратной реализации протокола MNP примерно на

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.