Как работает модем
Как работает модем и зачем он вообще нужен


Итак, модемы и модуляция-демодуляция...

Понятие "модем" является сокращением от известного компьютерного термина модулятор-демодулятор. Модем - это устройство, которое преобразовывает цифровые данные, исходящие из компьютера, в аналоговые сигналы, которые могут передаваться по телефонной линии. Все это дело называется модуляцией. Аналоговые сигналы затем вновь преобразовываются в цифровые данные. Это дело называется демодуляцией.
Схема весьма простая. В модем из центрального процессора компьютера поступает цифровая информация в виде нулей и единиц. Модем анализирует эту информацию и преобразовывает ее в аналоговые сигналы, которые и передаются через телефонную линию. Другой модем получает эти сигналы, преобразовывает их опять в цифровые данные и посылает эти данные назад в центральный процессор удаленного компьютера.
Например, в Windows 98 в параметрах настройки модема существует опция Modulation type (Тип модуляции), которая позволяет выбирать частотную или импульсную модуляцию. На всей территории России используется импульсная модуляция.
вверх

Аналоговый и цифровой сигналы

Телефонная связь осуществляется через так называемые аналоговые (звуковые) сигналы. Аналоговый сигнал идентифицирует информацию, которая передается непрерывно, в то время как цифровой сигнал идентифицирует только те данные, которые определены на конкретном этапе передачи. Преимущество аналоговой информации перед цифровой есть способность полностью представить непрерывный поток информации.
С другой стороны на цифровые данные менее сказываются разного рода шумы и скрежеты. В компьютерах данные хранятся в индивидуальных битах, суть которых есть 1 (начать) или О (закончить).
Если все это дело представить графически, то аналоговые сигналы есть синусоидальные волны, в то время как цифровые сигналы представляются в виде прямоугольных волн. Например, звук является аналоговым сигналом, поскольку звук всегда изменяется. Таким образом, в процессе пересылки информации по телефонной линии, модем получает цифровые данные от компьютера и преобразовывает их в аналоговый сигнал. Второй модем, находящийся на другом конце линии, преобразовывает эти аналоговые сигналы в исходные цифровые данные.
вверх

Интерфейсы

Вы можете использовать модем в вашем компьютере с помощью одного из двух интерфейсов. Ими являются:
  • Последовательный интерфейс RS-232.
  • Четырех контактный телефонный кабель RJ-11.
  • Например, внешний модем подключается к компьютеру посредством кабеля RS-232, а к телефонной линии - с помощью кабеля RJ11.
    вверх

    Сжатие данных

    В процессе передачи данных необходима скорость большая, чем 600 битов за секунду (bps или бит\сек). Связано это с тем, что модемы должны собрать биты информации и передавать их далее через более сложный аналоговый сигнал (весьма мудреная схема). Сам процесс подобной передачи допускает передачу многих битов данных в одно и то же время. Понятно, что компьютеры более чувствительны к передаваемой информации и поэтому воспринимают ее намного быстрее, чем модем. Это обстоятельство порождает дополнительное время модема, соответствующее тем битам данных, которые необходимо как-то сгруппировать и применить к ним те или иные алгоритмы сжатия. Так появились два так называемых протокола сжатия:
  • MNP-5 (протокол передачи, имеющий степень сжатия 2:1).
  • V.42bis (протокол передачи, имеющий степень сжатия 4:1).
  • Протокол MNP-5 обычно используется при передаче тех или иных уже сжатых файлов, в то время, как протокол V.42bis применятся даже к несжатым файлам, так как он может ускорять передачу именно таких данных.
    Нужно сказать, что при передаче файлов, если протокол V.42bis вообще недоступен, то лучше всего отключить и протокол MNP-5.
    вверх

    Коррекция ошибок

    Коррекция ошибок - метод, с помощью которого модемы тестируют пересылаемую информацию на предмет наличия в ней тех или иных повреждений, возникших в течение передачи. Модем разбивает подобную информацию на маленькие пакеты, которые называются фреймами. Передающий модем присоединяет так называемую контрольную сумму к каждому из этих фреймов. Модем получения проверяет, соответствует ли контрольная сумма посланной информации. Если - нет, то фрейм опять пересылается.
    Фрейм является одним из ключевых терминов передачи данных. Под фреймом понимают базовый блок данных с заголовком, присоединенной к этому заголовку информацией и данными, которые и завершают сам фрейм. Добавленная информация включает номер фрейма, данные о размере передаваемого блока, синхронизирующие символы, адрес станции, код коррекции ошибок, данные переменного объема и так называемые индикаторы Начало передачи (стартовый бит)/Конец передачи (стоп-бит). Это означает, что фрейм является пакетом информации, который передается как одно целое.
    Например в Windows 98 в параметрах настройки модема существует опция Stop bits (Стоповые биты), которая позволяет установить количество стоповых битов. Стоповые биты данных являются одной из разновидностей так называемых граничных служебных битов. Столовый бит определяет конец цикла при асинхронной передаче (промежуток времени между передаваемыми символами меняется) данных в кратковременном цикле.
    Протоколы MNP2-4 и V.42
    Несмотря на то, что коррекция ошибок может замедлять передачу данных на шумных линиях, этот метод обеспечивает надежную связь. Протоколы MNP2-4 и V.42 являются протоколами коррекции ошибок. Эти протоколы определяют, каким образом модемы проверяют данные.
    Как и протоколы сжатия данных, протоколы коррекции ошибок должны поддерживаться как передающим, так и принимающим модемами.
    вверх

    Управление потоком или Flow Control

    В процессе передачи один модем может пересылать данные намного быстрее, чем другой модем может принимать эти данные. Так называемый метод управления потоком позволяет сообщить принимающему модему информацию о том, чтобы этот модем в какие-то моменты времени приостанавливал прием данных. Управление потоком может быть реализовано как на программном (XON/XOFF - Старт-сигнал/Стоп-сигнал), так и на аппаратном (RTS/CTS) уровнях. Управление потоком на программном уровне осуществляется через пересылку определенного знака. После того, как сигнал получен, передается другой символ.
    Например, в Windows 98 в параметрах настройки модема существует опция Data bits (Биты данных), которая позволяет установить информационные биты данных, используемые системой для выбранного последовательного порта. Стандартный набор символов компьютера состоит из 256 элементов (8 бит). Поэтому опция по умолчанию есть 8. Если ваш модем не поддерживает псевдографику (работает только со 128 символами), сообщите об этом выбором опции 7.
    Там же в Windows 98 в параметрах настройки модема существует и опция Use flow control (Управление потоком), которая позволяет определить способ реализации обмена данных. Здесь вы можете исправлять возможные ошибки, возникающие при передаче данных от компьютера в модем. Принятая по умолчанию, установка XON/XOFF означает, что управление потоком данных осуществляется программными методами через стандартные управляющие символы ASCII, которые и посылают в модем команду приостановить/возобновить передачу.
    Управление потоком на программном уровне возможно лишь в том случае, если используется последовательный кабель. Так как управление потоком на программном уровне регулирует процесс передачи посредством пересылки некоторых символов, то может возникнуть сбой или даже окончание сеанса связи. Объясняется это тем, что тот или иной шум в линии может сгенерировать совершенно аналогичный сигнал.
    Например, при управлении потоком на программном уровне, бинарные файлы не могут пересылаться, поскольку подобные файлы могут содержать управляющие символы.
    Через управление потоком на аппаратном уровне RTS/CTS предана информации осуществляется намного быстрее и безопаснее, чем через управление потоком на программном уровне.
    вверх

    Буфер FIFO и микросхемы универсального асинхронного интерфейса UART

    Буфер FIFO чем-то похож на перевалочную базу: пока данные поступают в модем, часть их отправляется в емкость буфера, что дает некоторый выигрыш при переключении с одной задачи на другую.
    Например, операционная система Windows 98 поддерживает только микросхемы универсального асинхронного интерфейса (Universal Asynchronous Receiver Transmitter, UART) серии 16550 и позволяет управлять самим буфером FIFO. С помощью флажка Use FIFO buffers requres 16550 compatible UART (Использовать буферы FIFO) вы можете заблокировать (не позволять системе накапливать данные в емкости буфера) или разблокировать (дать возможность системе накапливать данные в емкости буфера) буфер FIFO. Нажав кнопку Advanced, вы обратитесь к диалогу Advanced Connection Settings (Дополнительные параметры соединения), опции которой позволяют настроить соединение вашего модема.
    вверх

    S-регистры

    S-регистры находятся где-то внутри самого модема. Именно в этих самых регистрах хранятся установки, которые тем или иным образом могут влиять на поведение модема. В модеме присутствует масса регистров, но только первые 12 из них считаются стандартными регистрами. S-регистры устанавливаются таким образом, что посылают в модем команду ATSN=xx, где N соответствует номеру устанавливаемого регистра, а хх определяет сам регистр. Например, через регистр SO вы можете задать количество звонков для ответа.
    Прерывания IRQ
    Периферийные устройства связываются с процессором компьютера через так называемые прерывания IRQ. Прерывания являются сигналами, которые заставляют процессор приостановить ту или иную операцию и передать ее выполнение так называемому обработчику прерываний. Когда центральный процессор получает прерывание, он просто приостанавливает процесс и перепоручает прерванную задачу программе-посреднику с именем Interrupt Handler. Все это дело работает независимо от того, была ли обнаружена ошибка в работе того или иного процесса или нет.
    Информационный порт связи или просто СОМ-порт
    Последовательный порт узнать весьма просто. Вы можете это сделать, просто посмотрев на разъем. СОМ-порт использует 25-контактный разъем с двумя рядами контактов, один из которых длиннее других. При этом, практически все последовательные кабели имеют именно 25-контактные разъемы с обеих сторон (в остальных случаях требуется специальный адаптер). СОМ-порт (последовательный порт) является портом, через который компьютеры связываются с устройствами, такими как модем и мышь. Стандартные персональные компьютеры имеют четыре последовательных порта.
    Порты СОМ 1 и СОМ 2 обычно используются компьютером в качестве внешних портов. По умолчанию все четыре последовательных порта имеют два прерывания IRQ:
  • СОМ 1 привязан к IRQ 4 (3F8-3FF).
  • СОМ 2 привязан к IRQ 3 (2F8-2FF).
  • СОМ 3 привязан к IRQ 4 (3E8-3FF).
  • СОМ 4 привязан к IRQ 3 (2E8-2EF).
  • Тут-то как раз и могут возникать конфликты, так как внешние порты других устройств ввода-вывода 1/0 или контроллеров могут использовать те же прерывания IRQ.
    Поэтому, назначив модему СОМ-порт или IRQ, вы должны проверить другие устройства на предмет наличия у них тех же последовательных портов и прерываний.
    Нужно сказать, что подключенные к телефонной линии параллельно модему устройства (особенно АОН) могут очень ощутимо ухудшать качество работы вашего модема. Поэтому рекомендуется подключать телефоны через предназначенное для этого гнездо в модеме. Только в этом случае он будет отключать их от линии при работе.
    вверх

    Флэш-память вашего модема

    Флэш-память - постоянная память или ППЗУ (постоянное перепрограммируемое запоминающее устройство), которая может быть стерта и вновь запрограммирована.
    Перепрограммированию подлежат все модемы, в названии которых пристуствует строка "V. Everything". Кроме того, модемы "Courier V.34 dual standart" подлежат программной модернизации в случае, если в строке Options в ответе на команду ATI7 присутствует протокол V.FC. Если же в модеме нет этого протокола, то модернизация в "Courier V. Everything" производится заменой дочерней платы.
    Существуют две модификации модемов Courier V. Everything - с так называемой частотой супервизора 20.16 MHz и 25 MHz. Для каждого из них существуют свои версии прошивок, и они не являются взаимозаменяемыми, т.е. прошивка от модели 20.16 MHz не подойдет для модели 25 MHz, и наоборот.
    вверх

    Программируемая пользователем память NVRAM

    Все настройки модема сводятся к правильной установке значений регистров NVRAM. NVRAM - программируемая пользователем память, сохраняющая данные при выключении питания. NVRAM используется в модемах для хранения конфигурации по умолчанию, загружаемой в RAM при включении. Программирование NVRAM производится в любой терминальной программе с помощью АТ-команд. Полный перечень команд может быть получен из документации на модем, или получен в терминальной программе по командам АТ$ АТ&$ ATS$ AT%$. Запишите в NVRAM фабричные настройки с аппаратным контролем данных - команда AT&F1, затем внесите коррективы по настройке модема в совокупности с конкретной телефонной линией и запишите их в NVRAM по команде AT&W. Дальнейшую инициализацию модема нужно производить через команду ATZ4.
    вверх

    Прикладное программное обеспечение для передачи данных

    Программы для передачи данных позволяют вам соединиться с другими компьютерами, BBS, Internet, Intranet идругими информационными службами. В вашем распоряжении может быть весьма обширный набор подобных программ. Например, в Windows 98 в ваше распоряжение предоставляется весьма неплохой терминальный клиент Hyper Terminal.
    вверх

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

    Для начала необходимо оценить характер линии связи. Для этого после удачного сеанса до пере инициализации модема введите команды ATI6 - диагностика связи, ATI11 - статистика соединения, ATI16 - амплитудо-частотная характеристика. Полученные данные необходимо записать в файл. После анализа полученных данных необходимо произвести изменения текущей конфигурации и затем записать их в NVRAM по команде AT&W5.
    вверх


    © 2000-2001 Sergey Ovchinnikov