Модем

команду без ошибок

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

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

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

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

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

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

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

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

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

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

Yn - Способ отключения модема от линии. Существуют два способа отключения модема от линии: стандартный, когда модем получает неактивный сигнал DTR от компьютера, и принудительный, когда модем получает от удаленного модема сигнал перерыва BREAK. Команда ATH0 направляет удаленному модему сигнал прерыва BREAK, который длится 4с. При n=0 модем отключается стандартно, при n=1 модем отключается после получения из линии сигнала BREAK.

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

+++ - Escape-последовательность, используемая для перехода в командный режим работы модема. Благодаря этой команде можно перейти из режима передачи данных модемом в командный режим ра­боты без разрыва связи. Модем требует тишины перед и после нап­равления этой Escape-последовательности. Величина этого проме­жутка тишины определена в регистре S12.

&Cn - Данная команда управляет сигналом DCD порта RS-232-C. При n=0 сигнал DCD всегда активен, а при n=1 сигнал DCD устанавливается только тогда, когда модем обнаруживает несущую частоту от удаленного модема.

&Dn - Управление сигналом DTR. При n=0 модем игнорирует DTR, n=1 - при потере сигнала DTR модем переходит в командный режим работы, n=2 - при потере сигнала DTR модем прекращает связь, отключается от линии, отключает режим автоответа и пере­ходит в командный режим работы, n=3 - при потере сигнала DTR автоматически сбрасывается конфигурация модема, как при выпол­нении команды ATZ. Модем обнаруживает потерю сигнала DTR, если сигнал DTR отсутствует дольше времени, определенного в регистре модема S25.

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

&Gn - Включение/выключение защитной частоты. n=0 - защит­ная частота выключена, n=1 - модем генерирует защитную частоту 550 Hz, 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 (Англия).

&Rn - Управление сигналом CTS: n=0 - сигнал переходит в активное состояние после получения сигнала RTS. Данные, переда­ваемые модему до поступления сигнала RTS, игнорируются. Если n=1 модем игнорирует RTS.

&Sn - Управление сигналом DSR порта RS-232-C. При n=0 сиг­нал DSR активен всегда, а при n=1 сигнал DSR активизируется только после окончания этапа установления связи между модемами.

&Tn - Тестирование модема. От n зависит вид теста.

&V - Модем показывает свою текущую конфигурацию и телефон­ные номера, записанные в энергонезависимой памяти.

&W - Модем записывает свою текущую конфигурацию в энерго­независимую память. При сбросе модема будет загружена именно эта конфигурация.

&Zn - Используется для записи телефонного номера в энерго­независимую память модема.  Количество телефонов зависит от мо­дели модема.

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

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

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

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

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

а)Инициализация 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-порт.

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

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

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

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

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

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

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

Общая форма передачи данных по протоколам с коррекцией ошибок следующая: данные передаются отдельными блоками (пакета­ми) по 16-20000 байт, в зависимости от качества связи. Каждый блок снабжается заголовком, в котором указана проверочная ин­формация, например контрольная сумма блока. Принимающий компь­ютер самостоятельно подсчитывает контрольную сумму каждого бло­ка и сравнивает ее с контрольной суммой из заголовка блока. Если эти две контрольный суммы совпали, принимающая программа считает, что блок передан без ошибок. В противном случае прини­мающий компьютер передает передающему запрос на повторную пере­дачу этого блока.

Протоколы коррекции ошибок могут быть реализованы как на аппаратном уровне, так и на програмном. Аппаратный уровень реа­лизации более эффективен. Быстродействие аппаратной реализации протокола MNP примерно на 30% выше, чем програмной.

MNP-протоколы

MNP (Microcom Network Protocols) - серия наиболее расп­ространенных аппаратных протоколов, впервые реализованная на модемах фирмы Microcom. Эти протоколы обеспечивают автомати­ческую коррекцию ошибок и компрессию передаваемых данных.

Сейчас известны 10 протоколов:

MNP1. Протокол коррекции ошибок, использующий асинхронный полудуплексный метод передачи данных. Это самый простой из про­токолов MNP.

MNP2. Протокол коррекции ошибок, использующий асинхронный дуплексный метод передачи данных.

MNP3. Протокол коррекции ошибок, использующий синхронный дуплексный метод передачи данных между модемами (интерфейс мо­дем - компьютер остается асинхронным).

Так как при асинхронной передаче используется десять бит на байт - восемь бит данных, стартовый бит и стоповый бит, а при синхронной только восемь, то в этом кроется возможность ускорить обмен данными на 20%.

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

Эффективность этого метода составляет около 20% по сравне­нию с простой передачей данных.

MNP5. Дополнительно к методам MNP4, MNP5 часто использует простой метод сжатия передаваемой информации. Символы часто встречающиеся в передаваемом блоке кодируются цепочками битов меньшей длины, чем редко встречающиеся символы. Дополнительно кодируются длинные цепочки одинаковых символов. Обычно при этом текстовые файлы сжимаются до 35% своей исходной длины. Вместе с 20% MNP4 это дает повышение эффективности до 50%.

Заметим, что если вы передаете уже сжатые файлы, а в боль­шинстве это так и есть, дополнительного увеличения эффектив­ности за счет сжатия данных модемом этого не происходит.

MNP6. Дополнительно к методам протокола MNP5 автоматически переключается между дуплексным и полудуплексным методами пере­дачи в зависимости от типа информации. Протокол MNP6 также обеспечивает совместимость с протоколом V.29.

MNP7. По сравнению с ранними протоколами использует более эффективный метод сжатия данных.

MNP9. Использует протокол V.32 и соответствующий метод ра­боты, обеспечивающий совместимость с низкоскоростными модемами.

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

- многократного повторения попытки установить связь

- изменения размера пакетов в соответствии с изменением уровня помех на линии

- динамического изменения скорости передачи в соответствии с уровнем помех линии

Все протоколы MNP совместимы между собой снизу вверх. При установлении связи происходит установка наивысшего возможного уровня MNP-протокола. Если же один из связывающихся модемов не поддерживает протокол MNP, то MNP-модем работает без MNP-прото­кола.

Режимы MNP-модемов.

MNP-модем обеспечивает следующие режимы передачи данных:

- Стандартный режим. Обеспечивает буферизацию данных, что позволяет работать с различными скоростями передачи данных меж­ду компьютером и модемом и между двумя модемами. В результате для повышения эффективности передачи данных вы можете устано­вить скорость обмена компьютер-модем выше, чем модем-модем. В стандартном режиме работы модем не выполняет аппаратной коррек­ции ошибок.

- Режим прямой передачи. Данный режим соответствует обыч­ному модему, не поддерживающему MNP-протокол. Буферизация дан­ных не производится и аппаратная коррекция ошибок не выполня­ется.

- Режим с коррекцией ошибок и буферизацией.  Это стандарт­ный режим работы при связи двух MNP-модемов. Если удаленный мо­дем не поддерживает протокол MNP, связь не устанавливается.

- Режим с коррекцией ошибок и автоматической настройкой. Режим используется, когда заранее не известно, поддерживает ли удаленный модем протокол MNP. В начале сеанса связи после опре­деления режима удаленного модема устанавливается один из трех других режимов.

Протоколы V.42 и V.42bis.

Протокол с коррекцией ошибок и преобразованием асинхрон­ный-синхронный. Протокол использует метод компрессии, при кото­ром определяется частота появления отдельных символьных строк и происходит их замена на последовательности символов меньшей длины. Этот метод компрессии носит название Lempel-Ziv. Данный метод компрессии обеспечивает 50% сжатие текстовых файлов. Вместе с 20% выигрышем от синхронного преобразования это увели­чивает эффективность на 60%.

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

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

ASCII.

Этот протокол работает без коррекции ошибок. В результате при передаче файлов по телефонным каналам из-за шума принятый файл сильно отличается от передаваемого. Если вы передаете вы­полняемый файл, то ошибки при передаче могут стать роковыми - полученная программа не будет работать. Если вы передаете ко­роткие текстовые сообщения, то ошибки легко могут быть исправ­лены.

XModem.

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

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

- Xmodem c CRC

- 1K Xmodem

Оригинальный протокол Xmodem разработал Вард Кристенсен (Ward Christensen) в 1977 году. Вард Кристенсен был одним из первых специалистов по протоколам обмена данными. В честь него этот протокол иногда называют также протоколом Кристенсена.

При передаче файлов с помощью протоколов Xmodem формат данных должен быть следующим: 8-битовые данные, один стоповый бит и отсутствие проверки на четность. Для передачи использу­ется полудуплексный метод, т.е. данные могут передаваться в каждый момент времени только в одном направлении.

Протокол Xmodem Cheksum передает данные пакетами по 128 байт. Вместе с пакетом передается его контрольная сумма. При получении пакета контрольная сумма вычисляется снова и сравни­вается с суммой, вычисленной на передающей машине. Пакет пере­дан без ошибок, если суммы совпадают.

Этот метод обеспечивает достаточно хорошую защиту от оши­бок. Только один из 256 пакетов может содержать ошибки, даже если контрольная сумма правильная.

Xmodem c CRC. Более защищенным от ошибок является протокол Xmodem CRC (Cyclic Redundancy Check). Xmodem CRC - протокол с проверкой циклическим избыточным кодом. В нем 8-битовая конт­рольная сумма заменена на 16-битовый циклический избыточный

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: