Протоколы исправления ошибок
При модемной связи на передающей и принимающей стороне должны использоваться одинаковые методы кодирования и декодирования. За всю историю модемной связи было разработано множество методов модуляции, часть из которых вылилась в стандарты (табл. 12). Часть из них является фирменными, международные стандарты обозначаются как V.xx. Несмотря на стандартизованность способов модуляции, в реальных условиях возможна несовместимость модемов из-за некоторых отклонений от стандартов, допущенных разработчиками. Простейший способ обеспечения совместимости – установка одинаковых модемов на обоих концах линии – достижим не всегда.
Таблица 12
Стандарты на модуляцию
Совместимость средств факсимильной связи в глобальных масштабах обеспечивается стандартами CCITT. Существуют следующие стандарты:
Fax Group I, II – устаревшие стандарты аналоговой передачи изображений.
Fax Group III – современный стандарт, использующий алгоритмы цифрового сжатия данных передаваемых по аналоговым телефонным линиям. Скорость передачи 14 400 или 9600 бод (может снижаться при ухудшении качества связи до 4,800 бод).
Fax Group IV – стандарты для передачи изображений по каналам цифровой связи (сети ISDN).
В модемной связи важную роль играют протоколы коррекции ошибок, неизбежных в линии связи, и сжатия данных. Законодателем мод в этой области стала фирма Microcom, по имени которой названо семейство протоколов MNP – Microcom Networking Protocol. Это семейство де-факто стандартных протоколов коррекции ошибок и сжатия данных включает 9 классов, определяющих различный сервис. Классы 2-4 предназначены для обеспечения безошибочной передачи, классы 5 и 7 – для сжатия данных, класс 6 – расширенный сервис, класс 9 – оптимизация протокольных процедур, класс 10 – адаптация к каналам связи, класс 8 – пропущен. Старшие классы обычно включают в себя и возможности младших. Дадим краткую характеристику этих классов.
MNP-1. Асинхронный байт-ориентированный полудуплекс с минимальными требованиями к скорости процессора. Только исправление. Эффективность передачи данных – 70 % от обычного варианта, в модемы уже не включается.
MNP-2. Асинхронный байт-ориентированный дуплекс. Только исправление. Эффективность – 84 %.
MNP-3. Бит-ориентированный дуплекс с синхронной связью между модемами, асинхронный для пользователя. Эффективность – 108% (254 cps при 2400bps).
MNP-4. Адаптивная сборка пакетов (длина пакета зависит от качества линии) и сокращение избыточности (повторяющаяся служебная информация удаляется из потока данных). Эффективность – 120% (до 150%).
MNP-5. Сжатие данных в реальном времени. Эффективность – 150%. Ha cжтых (ZIP, ARJ…) файлах снижает скорость передачи.
MNP-6. Выполняет универсальное согласование связи – настройку скорости модема в диапазоне 300-9600 бод в зависимости от возможностей модема на другом конце линии. Симулирует дуплекс (“статистический дуплекс”).
MNP-7. Выполняет более эффективное сжатие данных, чем MNP-5. Эффективность – 300%.
MNP-9. Сокращает время на протокольные процедуры подтверждения приема сообщения и повторной передачи после ошибки.
MNP-10. Коррекция ошибок. Борьба с плохими линиями: множественные агрессивные попытки установления связи, адаптация размера пакета к уровням помех, согласование и динамическое изменение скорости. Для сотовой связи существует протокол MNP-10EC (Enhanced Cellular), совместимый с MNP-10.
MNPX. Возможность переключения протокола безошибочной передачи с MNP на LAPM и обратно.
Кроме MNP используются и другие протоколы. В некоторых модемах фирмы Hayes, например, применяется собственный протокол исправления ошибок – Hayes V-Series. MKKTT (CCITT) рекомендует следующие стандарты:
V.42 – коррекция ошибок. На 20 % эффективнее MNP-4. Использует стандарт LAPM (Link Access Procedure for Modems) – протокол безошибочной передачи данных по телефонным линиям.
V.42bis – сжатие данных. Включает в себя V.42 – коррекцию ошибок. На 35% эффективнее MNР-5, не пытается сжимать уже сжатые данные (многие V.42bis-модемы поддерживают и режим MNP-5).
Протоколы исправления и сжатия могут быть реализованы на компьютере как программно, так и аппаратно. В случае аппаратной реализации алгоритм выполняется встроенной программой модема, который практически всегда строится на основе микроконтроллера. Модемы с аппаратной реализацией протоколов несколько дороже, но на серверах и рабочих станциях (компьютерах), использующих модемы в фоновом режиме, их применение предпочтительно. Программная реализация протоколов позволяет использовать более дешевые модемы, но при этом во время работы модема загружается CPU, что во многих случаях нежелательно.
Конструкции модемов
Конструктивно модемы для PC выпускаются в двух исполнениях: внутренние (internal) и внешние (external).
Внутренние модемы устанавливаются в слот шины расширения. До недавних пор в основном использовалась шина ISA, теперь эта шина изживается и модемы выпускаются для шины PCI. Для блокнотных ПК модемы выпускают в виде карт шины РС Сагd (РCMCIA). Они обычно эмулируют стандартный СОМ-порт с микросхемой 8250/16450/16550A. Базовый адрес регистров (или номер СОМ-порта) и номер линии запроса прерывания (IRQ) задаются джамперами или переключателями на плате модема. Преимущества встроенных модемов – низкая цена и отсутствие дополнительных блоков на рабочем месте. Главным недостатком является необходимость вскрытия системного блока для установки модема и возможные сложности конфигурирования системных ресурсов, а иногда и отсутствие свободного слота. Следует отметить и низкую защищенность компьютера в случае попадания высокого электрического потенциала на телефонный вход модема (например, при ударе молнии в открытую телефонную линию). Правда, если линия не защищена ограничителем перенапряжений, то и внешнее подключение модема не является надежной защитой компьютера.
Внешние модемы, имеющие собственный корпус и блок питания, подключаются кабелем к 9- или 25-контактному разъему СОМ-порта. Их главное преимущество в том, что для установки не требуется вскрытие системного блока, а недостатки – в более высокой цене, необходимости отдельного питания и наличии дополнительного устройства и кабеля на рабочем месте. Частично эти недостатки устраняются в модемах, подключаемых к шине USB. Некоторые модели высокоскоростных модемов подключаются к LPT-порту, работающему в режиме ЕРР (расширенный порт).
СОМ-порт PC поддерживает только асинхронный режим работы, в то время как на высоких (для модемов) скоростях широко применяется синхронный режим. Для PC существуют адаптеры синхронных портов, в том числе и карты с интерфейсом V.35. Синхронные адаптеры SDLC мало распространены из-за высокой цены и ограниченной сферы применения – они предназначались для подключения PC к “большим” машинам IBM (mainframe). Интеллектуальные синхронные модемы внешнего исполнения могут подключаться к асинхронному СОМ-порту благодаря наличию буферной памяти значительного объема и асинхронному внешнему интерфейсу.
Функциональная схема аналогового модема с подробностями телефонной части приведена на рис. 27. К телефонной линии модем подключается через гнездо RJ-11 “LINE” (или “TELCO”), дополнительный телефонный аппарат может подключаться к гнезду “PHONE”.
Рис. 27. Функциональная схема модема
Модемы, используемые для коммутируемых линий, имеют средства набора номера и определения состояния линии (гудок, занято и т. п.). Набор номера может быть импульсным (pulse dialing), или тональным (tone dialing). В модемах для импульсного набора обычно применяют малогабаритное реле, его характерные щелчки можно услышать при работе модема. Иногда в качестве прерывателя используют электронный ключ (оптрон). При тональном наборе каждая цифра номера кодируется короткими сигналами определенных пар частот, эти “аккорды” можно услышать в телефонной трубке. Цепи сигналов звуковых частот, генерируемых и анализируемых модемом, гальванически развязываются от телефонной линии с помощью трансформатора. Индикатор вызова срабатывает от вызывных импульсов.
Модемы первых поколений имели довольно сложные аналоговые цепи, обеспечивающие требуемые преобразования для модуляции-демодуляции. Управление модемом и некоторые функции протоколов выполнялись микроконтроллером. Современные модемы строятся иначе: аналоговые схемы используются только для обеспечения телефонной сигнализации, а вся обработка для модуляции-демодуляции выполняется цифровыми методами. Для этого в состав модема входят ЦАП и АЦП. Обработку сигналов в профессиональных модемах выполняет специализированный сигнальный процессор (DSP). Общее управление модемом выполняет микропроцессор, в распоряжении которого имеется локальная оперативная память значительного объема. Функции модема определяются возможностями встроенного процессора и его программного обеспечения. Микропрограммное обеспечение модема (firmware) хранится в ПЗУ (EPROM) или флэш-памяти. Такое построение позволяет относительно легко наращивать функциональные возможности модема перезаписью его программного кода. Правда, эти модернизации всегда имеют предел (на каком-то этапе, например, может уже не хватать производительности DSP). Новые версии ПО модема обычно доступны через Интернет (платно или бесплатно).
Более развитые устройства имеют в своем составе оперативную память значительного размера, позволяя в автономном режиме (без компьютера) принимать факсимильные и голосовые сообщения, которые будут сохранены для дальнейшей обработки. Такие модемы могут иметь и интерфейс для подключения принтера, в результате чего получается факс-машина.
Мощности центрального процессора современных ПК достаточно, чтобы решать часть задач управляющего и даже сигнального процессора модема. При этом аппаратная часть модема сводится к схеме сопряжения с телефонной линией, ЦАП и АЦП. На плате модема может присутствовать и сигнальный процессор (DSP), что особенно желательно для высоких скоростей обмена. Модемы этого класса называют SoftModem или WinModem, поскольку программная поддержка обычно существует лишь для ОС Windows. Расплатой за удешевление модема являются повышенная нагрузка на центральный процессор и проблемы совместимости с операционными системами.
Модемы для портативных компьютеров имеют интерфейс PC Card (PCMCIA). Для подключения этих модемов применяются специальные переходные кабели (RJ-11 гораздо толще PC Card). Фирма 3Com для них разработала гнезда X-Jack (рис. 28). Ряд моделей имеет возможность работы с телефонными каналами мобильной связи (аналоговой NMT-450 или цифровой GSM), имеющими свои специфические особенности.
Рис. 28. Гнездо X-Jack