–PAGE_BREAK–Аппаратные модемы: внутренние и внешние
Внешние модемы — отдельное устройство, питающееся от сети и имеющее разъемы для подключения телефонной линии и телефонного аппарата, соединяющееся шнуром с последовательным портом (интерфейсом) компьютера. На передней панели модема выведены светодиодные индикаторы, отображающие его состояние.
Внутренние модемы выполнены в виде отдельной платы, вставляемой в слот на материнской плате компьютера. Подключение питания и соединение с компьютером внутренних модемов происходит непосредственно через шину. Это, с одной стороны, позволяет сэкономить на соединительных проводах, а с другой — ведет к замедлению работы компьютера, так как внутренний модем создает дополнительную нагрузку на центральный процессор. Одним из недостатков внутренних модемов является и сложность настройки конфигурации интерфейсов COM3 и COM4.
В последнее время наметилась тенденция к переводу внутренних модемов с шины ISA на PCI. При этом осталась актуальной одна из основных проблем инсталляции этого вида модемов: правильно сконфигурировать базовый адрес и используемое устройством прерывание. Помимо этого при установке изначально необходимо иметь свободный порт на материнской плате компьютера.
Внутренний модем не позволяет осуществлять контроль его состояния, что удобно реализовано посредством ряда светодиодных индикаторов на лицевой панели внешнего модема, а эмуляционные программы потребляют часть и без того обильно используемых внутренним модемом ресурсов центрального процессора (около 10%), что не происходит при работе модема внешнего. Причем для корректной работы внутренних модемов предъявляются довольно жесткие требования к ресурсам компьютера. На начало 2000 года — это процессор с тактовой частотой 166 МГц и ОЗУ как минимум 32Мб. При «зависании» внутреннего модема его нельзя перезагрузить отдельно — приходится прибегать к перезагрузке всего компьютера.
С другой стороны, внешние модемы довольно громоздки, соединительные провода так же не придают им привлекательности. Внутренние же обходятся без дополнительного источника питания и вставляются в соответствующий порт компьютера, не занимая место на рабочем столе. Помимо этого, они, как правило, на $10 – 15 дешевле внешних аналогов.
Программные модемы
Программные модемы выполнены по той же схеме, что и аппаратные. Основное отличие программного модема от аппаратного заключается в том, что часть его функций реализуется за счет центрального процессора компьютера и программного обеспечения. Зачастую от модема остается лишь кодек (сокращение от кодер-декодер), а все остальные функции выполняет драйвер, использующий ресурсы персонального компьютера. Некоторые производители реализуют программно лишь контроллер, оставляя на плате DSP (Digital Signal Processor). Такие модемы потребляют несколько меньше процессорного времени и, как показала практика, обладают лучшими характеристиками. Таким образом, подобное перераспределение аппаратных функций сильно удешевляет производство и, как следствие, конечную стоимость продукта. По существу, все усилия разработчиков сводятся к написанию кода «прошивки» (программы работы модема). Аппаратная реализация кодека требует минимальных затрат.
Недостатки программных модемов:
· Использование ресурсов центрального процессора. Любой аппаратный модем содержит в себе процессор, выполняющий все вычислительные операции. Производительность такого процессора достаточно низкая из-за того, что круг задач подобного процессора невелик. Именно узкая специализация позволяет достичь нужного результата при малой производительности. Если сравнивать с процессорами сегодняшнего дня, то Intel 286 для этих целей хватит с избытком. Использование центрального процессора системы потребует более высоких затрат. Так, при использовании Pentium II 400 МГц требуется порядка 10% его вычислительной мощности. На младших процессорах, таких как Pentium 200 МГц, эта цифра достигает 40%. Для модемов с аппаратно реализованным DSP эти цифры немного меньше. Отсюда видно, что использование программных модемов на младших моделях процессоров Pentium приведет к значительному сокращению вычислительных мощностей. Кроме всего прочего, в системе Microsoft Windows высокий приоритет работы драйвера модема приводит к тому, что пресловутые 10% можно считать недоступными для различного рода приложений. При этом зачастую становится невозможным использование приложений, работающих в режиме реального времени и наиболее критичных к вычислительным ресурсам.
· Зависимость модема от операционной системы (ОС) проявляется в наличии или отсутствии драйверов. Здесь основную роль играет распространенность той или иной ОС и популярность самого модема. Поскольку продукт предназначен для конечного пользователя (корпоративный доступ строится на совсем других технологиях), то разработчикам выгоднее всего писать драйверы именно под конечного потребителя. На Украине, в России и ряде других стран на сегодняшний момент большинство пользователей работают под ОС Microsoft Windows. Пользователям других операционных систем перед покупкой такого модема имеет смысл навести справки у производителя. На сегодняшний день большинство таких модемов имеют драйверы под одну – две операционные системы, пользующиеся наибольшим спросом. Хотя в любой момент ситуация может кардинально измениться.
· Полное отсутствие аппаратных средств (кодек можно в расчет не брать) открывает практически неисчерпаемые возможности для создания высококлассных модемов. Если для создания аппаратной части достаточно разового вложения средств, то для создания микропрограммы необходимо нанимать команду разработчиков, а затем постоянно вкладывать деньги в разработку более совершенных алгоритмов, в исправление уже существующих ошибок, в поиск know-how. Все это в итоге приводит к удорожанию конечного продукта и уменьшению рынка сбыта. Именно поэтому многофункциональные модемы обходятся значительно дороже. В их стоимость входит дальнейшая разработка новых и поддержка уже существующих микропрограмм. Про адаптацию к нашим линиям в подобном случае говорить уже не приходится.
продолжение
–PAGE_BREAK–Достоинства программных модемов:
· Компактность. Для реализации софт-модема требуется лишь кодек и плата с двумя телефонными разъемами типа RJ-11. Открываются широкие возможности для интеграции софт-модемов в материнские платы, что мы сегодня и наблюдаем. Практически любая современная материнская плата имеет интегрированный кодек. Однако целесообразность подобного решения вовсе не очевидна. Во-первых, цена материнской платы возрастает на 10 – 20 долларов, что заставит призадуматься потенциальных покупателей, а также пользователей, имеющих аппаратные модемы. Во-вторых, не всегда есть возможность запретить системе использовать подобный модем (такие случаи пока еще встречаются), или она некорректно реализована. И наконец, не совсем понятно, чем модем лучше остальных периферийных устройств. Например, многим гораздо больше хотелось бы иметь интегрированный контроллер сканера или FM-тюнер.
· Быстрая реализация новых функций и протоколов.
· Отсутствие привязки к шине ISA.
· Низкая стоимость. Для наращивания возможностей и реализации новых протоколов достаточно изменить соответствующим образом микропрограмму. При этом начисто отсутствуют затраты по разработке аппаратной части и привязке программного комплекса к элементной базе. Так же просто решается вопрос с адаптацией микропрограммы к реальным условиям для каждого конкретного случая. На сегодня система команд процессоров Intel изучена достаточно хорошо, так что изменить код драйвера не составляет особого труда. Для отечественных линий, качество которых оставляет желать лучшего, такая адаптация необходима.
Особенности программных модемов
Появление спецификации PC 99, в которой шина ISA отсутствует как факт, заставляет производителей аппаратных модемов задуматься о целесообразности выпуска внутренних моделей с шиной ISA. С этой точки зрения интегрированные (встроенные в материнскую плату) софт-модемы, могут послужить промежуточным решением для пользователей, чей бюджет не позволяет купить новый аппаратный модем взамен старого. В системе Microsoft Windows 2000 поддержка шины ISA не предусмотрена, поэтому даже наличие материнской платы с этой шиной в данной ситуации уже не спасет.
Софт-модем представляет собой стандартное PCI-устройство. Microsoft Windows при установке такого модема распознает его как стандартное устройство и запрашивает драйверы, после чего все Windows-приложения могут обращаться к нему как к обычному модему. Несколько по-другому работают с модемом DOS-приложения. С их точки зрения модем представляет собой обычный СОМ-порт. Таким образом, драйвер модема должен уметь эмулировать полноценный СОМ-порт для работы подобных программ. К сожалению, большинство производителей вообще не предусматривают такой возможности. В результате некоторые программы и старые игры такой модем использовать не смогут. Это стоит учесть в том случае, если подобные программы разрабатывались на заказ и по каким-либо причинам разработчики их больше не поддерживают. Это могут быть, например, программы бухгалтерии и складского учета, рассчитанные на удаленных друг от друга пользователей, или программы автоматизации предприятия.
Основные компоненты модема
Современный модем — сложное устройство, состоящее из нескольких основных блоков и компонентов, обеспечивающих его функционирование
Компоненты модема:
• Контроллер — реализует протоколы сжатия данных и коррекции ошибок. Кроме того, является связующим звеном между модемом и программным обеспечением компьютера (реализует программный интерфейс).
• Кодек — осуществляет двустороннее преобразование аналогового сигнала, поступающего из линии, в поток цифровых данных.
• ПЗУ (постоянное запоминающее устройство) — микросхема памяти, хранящая в себе программу работы модема, также называемую «прошивкой». Последние модели модемов допускают обновление и перезапись прошивки модема с помощью специального программного обеспечения (за исключением тех случаев, когда это не предусмотрено производителем).
• ОЗУ (оперативное запоминающее устройство) — микросхема оперативной памяти, хранящая данные до первого выключения питания. Предназначена для хранения и последующей обработки потока данных. Иногда в ней же хранятся текущие настройки для работы модема.
Основные функциональные блоки
Со стороны телефонной линии самым первым устройством является блок интерфейса с телефонной линией. Основными функциями этого блока являются:
• обеспечение физического соединения с телефонной линией;
• защита от перенапряжения и радиопомех;
• набор номера;
• фиксация звонков;
• гальваническая развязка внутренних цепей модема и телефонной линии;
• согласование импеданса.
Далее сигналы попадают в дифференциальную систему, цель которой — разделение выходных и входных сигналов и компенсация влияния собственного сигнала на входные цепи. В наиболее простых моделях модемов этот узел исполняется в виде пассивной схемы, что зачастую приводит к сильной зависимости качества работы блока от сопротивления конкретной телефонной линии. Избавиться от такой зависимости могут только модели с активной дифференциальной системой, где необходимый для компенсации сигнал постоянно вычисляется сигнальным процессором и, «вычитаемый» из входного сигнала, обеспечивает необходимый уровень компенсации.
Подготовленные таким образом сигналы, попадают на ряд фильтров, усиливаются и оцифровываются с помощью АЦП (аналогово-цифровой преобразователь) в блоке формирования аналоговых фронтов, так что дальнейшая обработка производится в цифровом виде. Одно из преимуществ такого подхода — улучшение качества обработки сигнала и удешевление схемы.
Обработанная информация поступает в цифровой сигнальный процессор (DSP), который и выделяет из нее на основе математических методов “нули” и “единицы”. Именно возможностями цифровой обработки сигнала этого блока определяется качество и скоростные возможности современных модемов.
Поддержка интерфейса с компьютером, управление DSP, реализация протоколов аппаратной коррекции ошибок и сжатия данных, управление интерфейсом с пользователем (индикаторы, кнопки и джамперы настройки), а также управление энергонезависимой памятью — вот далеко не полный список функций, лежащих на системе управления модемом (контроллере модема).
При этом если ранее микропрограмма хранилась в ПЗУ, изготовленном и «прошитом» на заводе, то теперь производители все чаще стали помещать ее в перезаписываемую флэш-память, что позволяет обновлять программу без аппаратного вмешательства. DSP, со «вшитой» в долговременную память (ПЗУ или flash, что допускает модернизацию) программой обработки, получил образное название «datapump» («насос данных»). Подобная мультипроцессорная архитектура (так называемая функциональная мультипроцессорность) отлично работала в модемах на протяжении многих лет.
Сегодня актуальной становится «деинтеллектуаилизация» модема, для которой уже родилась и новая аббревиатура — HSP (Host Signal Processing, дословно — обработка ресурсами процессора компьютера). Несомненно, вычислительная мощность массовых процессоров семейства х86 позволяет переложить ряд задач обработки сигналов с DSP на CPU-машины и при этом получить даже дополнительные преимущества, заключающиеся в упрощении процедур модернизации специализированного и прикладного ПО и в снижении стоимости. Но это только одна сторона медали.
Наблюдается также тенденция потери модемом аппаратной независимости — в чипсеты встраиваются контроллеры сугубо «персональных» шин, таких, как РСI и USB (Universal Serial Bus), в сочетании с узкоспециализированными аппаратно-микропрограммными средствами, соответствующими требованиям тех или иных операционных систем. Это тоже, на первый взгляд, неплохо, потому как гарантирует снижение цены и повышение потребительских удобств.
Единственная аналоговая (и потому крайне важная) подсистема модема — DAA — все чаще реализуется в интегральном исполнении, что уменьшает количество необходимых для изготовления полнофункционального модема дискретных элементов (конденсаторов, резисторов и пр.) до единиц. Еще один почти отрадный факт: меньше элементов, меньше необходимых монтажных операций при сборке, следовательно — ниже стоимость и выше надежность.
С другой стороны, после возложения на программу некоторых жизненно важных функций, аппаратно зависимый от платформы модем, как правило, устойчиво работает только под ОС Windows.
К проблеме согласования сопротивлений следует добавить один тонкий нюанс — зависимость сопротивления телефонной линии от частоты сигнала. Из многолетней успешной практики электроники доподлинно известно, что наилучшим устройством для работы на реактивную нагрузку является обычный трансформатор (при некоторых ограничениях, несущественных в рассматриваемом случае). Для модемов (особенно на нашем рынке) это утверждение также справедливо — практически у всех самых лучших проверенных временем моделей трансформаторный DAA.
Естественно, трансформатор — устройство не дешевое, уж, по крайней мере, намного дороже микросхемы DAA, да и качество телефонных линий в странах с емкими платежеспособными рынками намного выше нашего, что объясняет тенденцию «детрансформаторизации».
Теперь пора вкратце рассмотреть механизмы защиты от аналогового хаоса. Чипсет, действительно хорошего модема, обязан для успешной работы в наших условиях обладать двумя скрытыми, но очень важными (и сложными в реализации) функциональными блоками — эхо-компенсации и эквалайзера.
Эхо-компенсатор предназначен для борьбы с эхо-сигналом. Эквалайзер также вносит немаловажный вклад в повышение скорости и устойчивости связи, согласовывая частотные характеристики приемопередатчика модема и конкретной телефонной линии.
Обзор практически всех новых моделей чипсетов, поддерживающих протокол v.90, не выявил реализации в них ни эхо-компенсаторов, ни управляемых эквалайзеров. Возможно, что производители просто «забыли» сообщить об этих особенностях, но подозрение об отсутствии столь необходимой для наших телефонных линий функциональности подтверждается и низкой ценой новых чипсетов (в «до-V.90» времена эхо-компенсатором и эквалайзером оснащались только лучшие чипсеты Lucent, низкой стоимостью никогда не отличавшиеся).
Lucent сосредоточилась на двух семействах чипсетов, ориентированных на применение во внутренних модемах, — Apollo и Mars. Учитывая очень высокое качество используемого DSP и мощный опыт Lucent в разработке модемного firmware (внутреннего модемного ПО), можно смело утверждать, что пользователей Windows модемы на новых чипсетах Lucent не подведут.
До появления высокоскоростных протоколов на 56 Kbps передача данных между двумя модемами по обычным телефонным каналам связи осуществлялась в аналоговом режиме, как было рассмотрено выше.
Основным сдерживающим фактором, препятствующим «бесконечному» увеличению скорости передачи данных с помощью модемов, является качество аналоговых телефонных линий связи. До недавнего времени (буквально до начала 80-х годов) основным назначением телефонных каналов связи была только передача голоса. Поэтому, исходя из соображений стоимости и для борьбы с шумами в линии, полоса пропускания телефонного канала была ограничена диапазоном 300 – 3500 Hz. Исследования показали, что именно в этом диапазоне частот находится основная часть спектра человеческой речи, поэтому после наложения на исходный сигнал указанных ограничений разборчивость речи не ухудшится.
Для управления так называемыми «интеллектуальными» модемами используются специальные связные программы — программы, работающие под управлением операционной системы ЭВМ. Связная программа создает на экране терминала дружественный интерфейс пользователя, обеспечивающий удобное выполнение необходимых управляющих функций. При этом используется, в основном, набор команд АТ, передаваемых модемом либо через связной порт компьютера (для внешних модемов), либо через общую шину (для внутренних модемов). Перед началом работы, пользователь может задать некоторые параметры взаимодействия компьютера и модема. Связные программы создают ряд возможностей, упрощающих управление модемом:
· хранение справочников телефонов;
· хранение наборов команд управления для разных модемов;
· макроязык для написания управляющих программ.
продолжение
–PAGE_BREAK–Интерфейсы
Для подключения модема к телефонной линии и компьютеру предусмотрены стандартные интерфейсы.
Интерфейс «модем – телефонная линия»
Соединители RJ11 обеспечивают физическое подключение модема к телефонной линии и телефонного аппарата к модему.
Модемы, как правило, имеют два каскада защиты от неожиданного повышения напряжения. Входные линии защищены от перенапряжения варистором, который резко уменьшает свое сопротивление при напряжении 400 – 500 В. Второй каскад быстродействующей защиты устанавливается во вторичную обмотку трансформатора и реализуется на встречновключенных стабилитронах.
Защита линии от радиопомех, излучаемых модемом, выполняется на обычных LC-фильтрах (1000пФ +3 витка на феррите).
Для коммутируемой линии поддерживается функция импульсного набора номера, «отбоя» (постоянный ток менее 0,5 мА), и «удержания линии» (постоянный ток более 8 мА).
Наиболее универсальна ситуация, когда набор номера выполняет реле, а постоянный ток протекает через трансформатор.
В современных модемах используется схема Electronic Holding Call Circuit, которая имеет низкое сопротивление постоянному току, достаточное для удержания линии, но сохраняет высокий импеданс для переменного тока полезного сигнала. При этом набор номера осуществляет либо реле, либо сам узел EHCC с оптронной развязкой управления.
Наиболее консервативен узел фиксации телефонных звонков. Он состоит из высоковольтного конденсатора, резистора, стабилитрона и светодиода оптронной развязки.
Важным требованием к интерфейсу с линией является симметричность входа и его гальваническая развязка.
Интерфейс «модем – компьютер»
В основе последовательного порта передачи данных компьютера лежит микросхема INTEL 8250 или ее современные аналоги — INTEL16450, 16550, 16550A. Эта микросхема является универсальным асинхронным приемопередатчиком (UART — Universal Asynchronous Receiver Transmitter), обеспечивают скорость приема/передачи данных до 115200 бод (для современной микросхемы INTEL16550A). Микросхема содержит несколько внутренних регистров, доступных через команды ввода/вывода.
Микросхема 8250 содержит регистры передатчика и приемника данных. При передаче байта он записывается в буферный регистр передатчика, откуда затем переписывается в сдвиговый регистр передатчика. Байт «выдвигается» из сдвигового регистра по битам.
Программа имеет доступ только к буферным регистрам, копирование информации в сдвиговые регистры и процесс сдвига выполняется микросхемой UART автоматически.
К внешним устройствам асинхронный последовательный порт подключается через специальный разъем. Существует два стандарта на разъемы интерфейса RS-232C, это DB-25 (5 выводов) и DB-9 (9 выводов).
Интерфейс RS-232C определяет обмен между устройствами двух типов:
· DTE ( Data Terminal Equipment — терминальноеустройство);
· DCE ( Data Communication Equipment — устройствосвязи).
В большинстве случаев, но не всегда, компьютер является терминальным устройством. Модемы, принтеры, графопостроители всегда являются устройствами связи.
Сигналы интерфейса S-232C
Входы TD и RD используются устройствами DTE и DCE по-разному. Устройство DTE использует вход TD для передачи данных, а вход RD для приема. И наоборот, устройство DCE использует вход TD для приема, а вход RD для передачи данных. Поэтому для соединения терминального устройства и устройства связи выводы их разъемов необходимо соединить напрямую.
Подтверждение связи
Рассмотрим процесс подтверждения связи между компьютером и модемом. В начале сеанса связи компьютер должен удостоверится, что модем может произвести вызов (находится в рабочем состоянии). Затем, после вызова абонента, модем должен сообщить компьютеру, что он произвел соединение с удаленной системой. Подробнее это происходит следующим образом:
Компьютер подает сигнал по линии DTR, чтобы показать модему, что он готов к проведению сеанса связи. В ответ модем подает сигнал по линии DSR. Когда модем произвел соединение с другим, удаленным модемом, он подает сигнал по линии DCD, чтобы сообщить об этом компьютеру.
Если напряжение на линии DTR падает, это сообщает модему, что компьютер не может далее продолжать сеанс связи, например из-за того, что выключено питание компьютера. В этом случае модем прервет связь. Если напряжение на линии DCD падает, это сообщает компьютеру, что модем потерял связь и не может больше продолжать соединение. В этом случае эти сигналы дают ответ на наличие связи между модемом и компьютером.
Существует более высокий уровень, который используется для управления скоростью обмена данными, но он также реализуется аппаратно. Практически управление скоростью обмена данными (управление потоком) необходимо, если производится передача больших объемов данных с высокой скоростью. Когда одна система пытается передать данные с большей скоростью, чем они могут быть обработаны принимающей системой, результатом может стать потеря части передаваемых данных. Чтобы предотвратить передачу большего числа данных, чем то, что может быть обработано, используют управление связью, называемое «управление потоком».
Стандарт RS-232C определяет возможность управления потоком только для полудуплексного соединения, при котором в каждый момент времени данные могут передаваться только в одну сторону.
Фактически этот механизм используется и для дуплексных соединений, когда данные передаются по линии связи одновременно в двух направлениях.
продолжение
–PAGE_BREAK–