Смекни!
smekni.com

Процессор К1810ВМ89 (стр. 7 из 8)

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

происходит отключение модема от линии, если n=1, модем подключается к линии.

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-регистров, свой идентификационный код, контрольную сумму

памяти и результаты теста.

Sr? - Чтение содержимого регистра модема, имеющего номер r.

Sr=n - Запись в регистр модема с номером r числа n. Число

n может иметь значения от 0 до 255. Все команды модифицируют содержимое

одного или более S-регистров. Некоторые S-регистры содержат

временныепараметры, которые можно поменять только командой S.

Vn - Производит выбор вида ответа модема на AT-команды.

При n=0 ответ происходит цифровым кодом, а при n=1 модем отвечает в символьном

видена английском языке. Использование цифровой формы ответа облегчает

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

управления модемом.

Yn - Способ отключения модема от линии. Существуют два способа отключения

модема от линии: стандартный, когда модем получаетнеактивный сигнал DTR от

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

сигнал перерыва BREAK. Команда ATH0 направляет удаленному модему сигнал

прерывания BREAK, который длится 4с.При n=0 модем отключается стандартно, при

n=1 модем отключается после получения из линии сигналаBREAK.

Z - Сбрасывает конфигурацию модема. При этом во все регистры загружаются

значения, принятые по умолчанию. Значения регистров, принятые по умолчанию

берутся из энергонезависимой памяти модема или, если модем такой памяти не

имеет, из постоянной памяти или определяется исходя из переключателей на плате

модема.

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

работы модема. Благодаря этой команде можно перейти из режима передачи данных

модемом в командный режим работы без разрывасвязи. Модем требует тишины перед и

после направления этой Escape-последовательности. Величинаэтого промежутка

тишины определена в регистре S12.

&F - модем устанавливает конфигурацию, записанную в постоянную память.

&Gn - Включение/выключение защитной частоты. n=0 - защитная частота выключена,

n=1 - модем генерирует защитную частоту 550Hz, n=2 - модем генерирует

защитную частоту 1800 Hz. Использование данной команды зависит от

особенностей телефонной линии.

&Ln - Вид линии связи. При n=0 передача по обычным (коммутируемым) линиям связи,

n=1 передача по выделенным каналам.

&Mn - Установка асинхронно/синхронного режима работы. При n=0

устанавливаетсяасинхронный режим, при n=1,2,3 устанавливается синхронный режим.

&Pn - Установка импульсного коэффициента набора номера в соответствии с

различными стандартами. При n=0 - коэффициент заполнения замыкание/интервал

39/61 (Америка), приn=1 - 33/67 (Англия).

&Sn - Управление сигналом DSR порта RS-232-C. При n=0 сигнал DSR активен

всегда, а при n=1 сигнал DSR активизируется только после окончания этапа

установления связи между модемами.

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

а)Инициализация COM-порта

Проводим инициализацию COM-порта, к которому подключен мо-

дем. Для этого программируем регистры микросхемы UART, задавая формат данных и

скоростьобмена. Заметим, что модем будет проводить соединение с удаленным

модемом как раз на этой скорости. Чем скорость выше, тем быстрее будет

происходить обмен данными с удаленным модемом.

Однако при увеличении скорости на плохих телефонных линиях сильно возрастает

количество ошибок.

б)Инициализация модема

Передавая модему AT-команды через СОМ-порт, производим его

инициализацию. При помощи АТ-команд можно установить различные режимы

работымодема - выбрать протокол обмена, установить набор диагностических

сообщений модема и т.д.

в)Соединение с удаленным модемом

Передаем модему команду набора номера (ATD). В этом случае

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

передаем модему команду AT S0=1 для перевода его в режим автоответа. Послеэтого

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

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

г)Ожидаем ответ от модема

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

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

вызов удаленного модема (АТ-команда 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

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

повторить соединение.

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

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

перевести модем в командный режим и передать ему команду положить трубку

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

данные передаются отдельнымиблоками (пакетами) по 16-20000 байт, в зависимости

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

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

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

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

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

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

повторную передачу этого блока.

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

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

Быстродействие аппаратной реализации протокола MNP примерно на 30% выше,чем

программной.

8. Протоколыпередачи файлов

В отличие от протоколов нижнего уровня данные протоколы позволяют

организовать прием и передачу файлов.

ASCII.

Этот протокол работает без коррекции ошибок. В результате при передаче файлов

потелефонным каналам из-за шума принятый файл сильно отличается от

передаваемого. Если вы передаетевыполняемый файл, то ошибки при передаче могут

стать роковыми - полученная программа не будетработать. Если вы передаете

короткие текстовые сообщения, то ошибки легко могут быть исправлены.

XModem.

Наиболее распространены три разновидности протокола XModem:

оригинальный протокол Xmodem

Xmodem c CRC

1K Xmodem

Оригинальный протокол Xmodem разработал Вард Кристенсен (Ward Christensen) в

1977 году. Вард Кристенсен был одним из первых специалистов по протоколам

обмена данными. В честь него этот протокол иногда называюттакже протоколом

Кристенсена.

При передаче файлов с помощью протоколов Xmodem формат данных должен быть

следующим: 8-битовые данные, один стоповый бит и отсутствие проверки на

четность. Для передачи использу-етсяполудуплексный метод, т.е. данные

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

Протокол Xmodem Cheksum передает данные пакетами по 128 байт. Вместе с

пакетом передается его контрольная сумма. При получении пакета контрольная