Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта. Благодаря им мы улучшаем сайт!
Принять и закрыть

Читать, слущать книги онлайн бесплатно!

Электронная Литература.

Бесплатная онлайн библиотека.

Читать: Аппаратные интерфейсы ПК. Энциклопедия - Михаил Юрьевич Гук на бесплатной онлайн библиотеке Э-Лит


Помоги проекту - поделись книгой:

♦ Используемая линия запроса прерывания: для СОМ 1 и COM3 обычно используется IRQ4 или IRQ11, для COM2 и COM4 — IRQ3 или IRQ10. В принципе номер прерывания можно назначать в произвольных сочетаниях с базовым адресом (номером порта), но некоторые программы и драйверы (например, драйверы последовательной мыши) настроены на стандартные сочетания. Каждому порту, нуждающемуся в аппаратном прерывании, назначают отдельную линию, не совпадающую с линиями запроса прерываний других устройств. Прерывания необходимы для портов, к которым подключаются устройства ввода, UPS или модемы. При подключении принтера или плоттера прерываниями пользуются только многозадачные ОС (не всегда), и этот дефицитный ресурс PC можно сэкономить. Также прерывания обычно не задействуют при связи двух компьютеров нуль-модемным кабелем. Возможность разделяемого использования одной линии запроса несколькими портами (или ее разделения с другими устройствами) зависит от реализации аппаратного подключения и ПО. При использовании портов, установленных на шину ISA, разделяемые прерывания обычно не работают.

♦ Канал DMA (для микросхем UART 16450/16550, расположенных на системной плате) — разрешение использования и номер канала DMA. Режим DMA при работе с СОМ-портами используют редко.

2.8. Использование СОМ-портов

СОМ-порт широко применяется для подключения различных периферийных и коммуникационных устройств, связи с различным технологическим оборудованием, объектами управления и наблюдения, программаторами, внутрисхемными эмуляторами и прочими устройствами, используя протокол RS-232C.

СОМ-порты чаще всего применяют для подключения манипуляторов (мышь, трекбол). В этом случае порт используется в режиме последовательного ввода. Мышь с последовательным интерфейсом — Serial Mouse — может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно применение переходника DB-9S-DB-25P или DB-25S-DB-9P. Для мыши требуется прерывание, для порта COM1 — IRQ4, для COM2 — IRQ3. То, что для использования мыши порт COM1 должен использовать прерывание IRQ4, является особенностью ее драйвера, но для пользователя важен сам факт ограничения. Каждое событие — перемещение мыши или нажатие-отпускание кнопки — кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса.

Для подключения внешних модемов используется полный (9-проводный) кабель АПД — АКД, схема которого приведена на рис. 2.4. Этот же кабель используется для согласования разъемов (по количеству контактов); возможно применение переходников 9–25, предназначенных для мыши. Для работы коммуникационного ПО обычно требуются прерывания, но здесь есть свобода выбора номера (адреса) порта и линии прерывания. Если предполагается работа на скоростях 9600 бит/с и выше, то СОМ-порт должен быть реализован на микросхеме UART 16550А или совместимой. Возможности работы с использованием FIFO-буферов и обмена по каналам DMA зависят от коммуникационного ПО.

Для связи двух компьютеров, удаленных друг от друга на небольшое расстояние, используют и непосредственное соединение их СОМ-портов нуль-модемным кабелем (см. рис. 2.5). Программы типа Norton Commander или Interlnk MS-DOS позволяют обмениваться файлами со скоростью до 115,2 Кбит/с без применения аппаратных прерываний. Это же соединение может использоваться и сетевым пакетом Lantastic, предоставляющим более развитый сервис, и средствами ОС Windows.

СОМ-порт позволяет выполнять подключение электронных ключей (Security Devices), предназначенных для защиты от нелицензированного использования ПО. Эти устройства могут быть как «прозрачными» (обеспечивающими возможность подключения периферии через тот же порт), так и полностью занимающими порт.

СОМ-порт при наличии соответствующей программной поддержки позволяет превратить PC в терминал, эмулируя систему команд распространенных специализированных терминалов (VT-52, VT-100 и т.д.). Простейший терминал получается, если замкнуть друг на друга функции BIOS обслуживания СОМ-порта (Int 14h), телетайпного вывода (Int 10h) и клавиатурного ввода (Int 16h). Однако такой терминал будет работать лишь на малых скоростях обмена (если, конечно, его делать не на Pentium), поскольку функции BIOS хоть и универсальны, но не слишком быстры.

СОМ-порт может использоваться и как двунаправленный интерфейс, у которого имеется три программно-управляемых выходных линии (TD, DTR, RTS) и четыре программно-читаемых входных линии (CIS, DSR, DCD, RI) с двуполярными сигналами. Их можно использовать, например, для программной реализации синхронных последовательных интерфейсов (см. п. 11.5) и других целей. Во времена АТ-286 была известна схема однобитного широтно-импульсного преобразователя, позволяющего записывать звуковой сигнал на диск PC, используя входную линию СОМ-порта. Воспроизведение этой записи через обычный динамик PC позволяло передать речь.

2.9. СОМ-порт и PnP

Современные ПУ, подключаемые к СОМ-порту, могут поддерживать спецификацию PnP. Основная задача ОС заключается в идентификации подключенного устройства, для чего разработан несложный протокол, реализуемый на любых СОМ-портах чисто программным способом. Этот протокол иллюстрирует рис. 2.15.


Рис. 2.15. Запрос идентификатора устройства PnP

1. Порт инициализируется с состоянием линий DTR=ON, RTS=OFF, TXD=Mark — состояние покоя (Idle).

2. Некоторое время (0,2 с) ожидается появление сигнала DSR, которое указало бы на наличие устройства, подключенного к порту. В простейшем случае устройство имеет на разъеме перемычку DTR-DSR, обеспечивающую указанный ответ. Если устройство обнаружено, выполняются манипуляции управляющими сигналами DTR и RTS для получения информации от устройства. Если ответ не получен, ОС, поддерживающая динамическое реконфигурирование, периодически опрашивает состояние порта для обнаружения новых устройств.

3. Порт программируется на режим 1200 бит/с, 7 бит данных, без паритета, 1 стоп-бит, и на 0,2 с снимается сигнал DTR. После этого устанавливается DTR=1, а еще через 0,2 с устанавливается и RTS=1.

4. В течение 0,2 с ожидается приход первого символа от устройства. По приходу символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел, выполняется вторая попытка опроса (см. п. 5), несколько отличающаяся от первой.

5. На 0,2 с снимаются оба сигнала (DTR=0 и RTS=0), после чего они оба устанавливаются (DTR=1 и RTS=1).

6. В течение 0,2 с ожидается приход первого символа от устройства, по приходу символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел, то в зависимости от состояния сигнала DSR переходят к проверке отключения Verify Disconnect (при DSR=0) или в дежурное состояние Connect Idle (при DSR=1).

7. В дежурном состоянии Connect Idle устанавливается DTR=1, RTS=0, порт программируется на режим 300 бит/с, 7 бит данных, без паритета, 1 стоп-бит. Если в этом состоянии обнаружится DSR=0, ОС следует уведомить об отключении устройства.

Посимвольный прием идентификатора устройства имеет ограничения по тайм- ауту в 0,2 с на символ, а также общее ограничение в 2,2 с, позволяющее принять строку длиной до 256 символов. Строка идентификатора PnP должна иметь маркеры начала (28h или 08h) и конца (29h или 09h), между которыми располагается тело идентификатора в стандартизованном формате. Перед маркером начала может находиться до 16 символов, не относящихся к идентификатору PnP. Если за первые 0,2 с ожидания символа (шаг 4 или 6) маркер начала не пришел, или же сработал тайм-аут, а маркер конца не получен, или же какой-либо символ принят с ошибкой, происходит переход в состояние Connect Idle. Если получена корректная строка идентификатора, она передается ОС.

Для проверки отключения (Verify Disconnect) устанавливается DTR=1, RTS=0 и через 5 с проверяется состояние сигнала DSR. При DSR=1 происходит переход в состояние Connect Idle (см. п. 7), при DSR=0 происходит переход в состояние Disconnect Idle, в котором система может периодически опрашивать сигнал DSR для обнаружения подключения устройства.

Описанный механизм разрабатывался компанией Microsoft с учетом совместимости с устройствами, не относящимися к устройствам PnP, — он обеспечивает невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся PnP-идентификаторами. Например, обычная мышь Microsoft Mouse (не PnP) по включении питания от интерфейса ответит ASCII-символом «M» (трехкнопочная — строкой «M3»).

2.10. Неисправности и тестирование СОМ-портов

Неполадки с СОМ-портами случаются (выявляются) при установке новых портов или неудачном подключении внешних устройств.

2.10.1. Проверка конфигурирования

Тестирование последовательных портов (как и параллельных) начинают с проверки их опознавания системой. Список адресов установленных портов обычно появляется в таблице, выводимой BIOS перед загрузкой ОС. Список можно посмотреть с помощью тестовых программ или прямо в BIOS Data AREA с помощью отладчика.

Если BIOS обнаруживает меньше портов, чем установлено физически, значит, двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Проблемы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3E0h, 338h, 2E0h и 238h; иногда не производится поиск по адресам 3E8h и 2E8h. Нумерация найденных портов, отображаемая в заставке, может вводить в заблуждение: если установлены два порта с адресами 3F8h и 3E8h, в заставке они могут называться COM1 и COM2, и по этим именам на них можно ссылаться. Однако те же порты в заставке могут называться COM1 и COM3 (поскольку 3E8h является штатным адресом для COM3), но попытка сослаться на порт COM3 будет неудачной, поскольку в данном случае адрес 3E8h будет находиться в ячейке 0:402h BIOS Data Area, соответствующей порту COM2, а в ячейке порта COM3 (0:404h) будет нуль — признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно вручную с помощью любого отладчика, занеся правильные значения базовых адресов в ячейки BIOS Data Area (это придется делать каждый раз после перезагрузки ОС перед использованием «потерянного» порта). Существуют тестовые утилиты, позволяющие находить порты (например, Port Finder).

Если двум портам назначен один и тот же адрес; тестовая программа обнаружит ошибки порта только с помощью внешней заглушки (External LoopBack). Программное тестирование порта без заглушки не покажет ошибок, поскольку при этом включается диагностический режим (см. описание UART) и конфликтующие (по отдельности исправные) порты будут работать параллельно, обеспечивая совпадение считываемой информации. В «реальной жизни» нормальная работа конфликтующих портов невозможна. Разбираться с конфликтом адресов удобно, последовательно устанавливая порты и наблюдая за адресами, появляющимися в списке.

Если физически установлен только один порт и его не обнаруживает BIOS, причины те же, что с LPT-портом: либо он отключен при конфигурировании, либо вышел из строя. Неисправность может устраниться при вынимании/вставке платы адаптера в слот системной шины.

При работе с С ОМ-портом задействуются соответствующие аппаратные прерывания — их используют при подключении модема, мыши и других устройств ввода. Неработоспособность этих устройств может быть вызвана некорректной настройкой запроса прерывания. Здесь возможны как конфликты с другими устройствами, так и несоответствие номера прерывания адресу порта.

2.10.2. Функциональное тестирование

В первом приближении СОМ-порт можно проверить диагностической программой (CheckIt) без использования заглушек. Этот режим тестирования проверяет микросхему UART (внутренний диагностический режим) и вырабатывание прерываний, но не входные и выходные буферные микросхемы, которые являются более частыми источниками неприятностей. Если тест не проходит, причину следует искать или в конфликте адресов/прерываний, или в самой микросхеме UART.

Для более достоверного тестирования рекомендуется использовать внешнюю заглушку, подключаемую к разъему СОМ-порта (рис. 2.16). В отличие от LPT-порта у СОМ-порта количество входных сигналов превышает количество выходных, что позволяет выполнить полную проверку всех цепей. Заглушка соединяет выход приемника с входом передатчика. Обязательная для всех схем заглушек перемычка RTS-CTS позволяет работать передатчику — без нее символы не смогут передаваться. Выходной сигнал DTR обычно используют для проверки входных линий DSR, DCD и RI.


Рис. 2.16. Заглушка для проверки СОМ — портов (LoopBack для CheckIt и Norton Diagnostics)

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

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

2. Проверить напряжение на выходах TD, RTS и DTR: после аппаратного сброса на выходе TD должен быть отрицательный потенциал около -12 В (по край ней мере, ниже -5 В), а на выходах RTS и DTR — такой же положительный. Если этих потенциалов нет, возможна ошибка подключения разъема к плате через ленточный кабель. Распространенные варианты:

 • ленточный кабель не подключен;

 • ленточный кабель подключен неправильно (разъём перевернут или встав лен со смещением);

 • раскладка ленточного кабеля не соответствует разъему платы.

Первые два варианта проверяются внимательным осмотром, третий же может потребовать некоторых усилий. В табл. 2.1 приведены три варианта раскладки 10-проводного ленточного кабеля для разъема СОМ-порта, известных автору; для СОМ-портов на системных платах возможно существование и других. Теоретически ленточный кабель должен поставляться в соответствии с разъемом.

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

3. Соединив контакты линий RTS и CTS (или установив заглушку), следует по пытаться вывести небольшой файл на СОМ-порт (например, командой COPY С:\AUTOEXEC.ВАТ COM1:). С исправным портом эта команда успешно выполнится за несколько секунд с сообщением об успешном копировании. При этом потенциалы на выходах RTS и DTR должны измениться на отрицательные, а на выходе TD должна появиться пачка двуполярных импульсов с амплитудой более 5 В. Если потенциалы RTS и DTR не изменились, ошибка в буферных формирователях. Если на выходе RTS (и входе CTS) появился отрицательный потенциал, а команда COPY завершается с ошибкой, скорее всего, вышел из строя приемник линии CTS (или опять-таки ошибка в ленточном кабеле). Если команда COPY успешно проходит, а изменения на выходе TD не обнаруживаются (их можно увидеть стрелочным вольтметром, но оценить амплитуду импульсов не удастся), виноват буферный передатчик сигнала TD.

Замена микросхем приемников и передатчиков существенно облегчается, если они установлены в «кроватки».

Перед заменой следует с помощью осциллографа или вольтметра удостовериться в неисправности конкретной микросхемы. Если буферные элементы включены в состав интерфейсной БИС (что теперь весьма распространено), то такой порт ремонту не подлежит (по крайней мере, в обычных условиях). Неисправный СОМ-порт, установленный на системной плате, можно попытаться отключить в BIOS SETUP, но порт мог сгореть и вместе со схемой своего отключения — тогда он останется «живым мертвецом» в карте портов ввода-вывода и прерываний. Иногда он полностью выводит из строя системную плату.

Источниками ошибок могут являться разъемы и кабели. В разъемах встречаются плохие контакты, а кабели, кроме возможных обрывов, могут иметь плохие частотные характеристики. Частотные свойства кабелей обычно сказываются при большой длине (десятки метров) на высоких скоростях обмена (56 или 115 Кбит/с). При необходимости использования длинных кабелей на высоких скоростях сигнальные провода данных должны быть перевиты с отдельными проводами «схемной земли».

В ряде отечественных PC-совместимых (почти) компьютеров для последовательного интерфейса применялась микросхема КР580ВВ51 — аналог 18251. Однако эта микросхема является универсальным синхронно-асинхронным приемопередатчиком (УСАПП или USART — Universal Asynchronous Receiver-Transmitter). Совместимости с PC на уровне регистров СОМ-порта такие компьютеры не имеют. Хорошо, если у соответствующих компьютеров имеется «честный» драйвер BIOS Int 14h, а не заглушка, возвращающая состояние модема «всегда готов» и ничего не делающая.

2.10.3. Питание от интерфейса, или причины неработоспособности мыши

При подключении к СОМ-порту устройств с небольшим энергопотреблением возникает соблазн получить питание от выходных линий интерфейса. Если линии управления DTR и RTS не используются по прямому назначению, их можно задействовать как питающие с напряжением около 12 В. Ток короткого замыкания на «схемную землю» ограничен буферной микросхемой передатчика на уровне 20 мА. При инициализации порта эти линии переходят в состояние «выключено», то есть вырабатывают положительное напряжение. Линия TD в покое находится в состоянии логической единицы, так что на выходе вырабатывается отрицательное напряжение. Потенциалами линий можно управлять через регистры СОМ-порта (выход TD вырабатывает положительное напряжение, если установить бит BRCON). Питание можно получать и с сигнальных линий через выпрямительные диоды с использованием накопительных конденсаторов. При этом, конечно, следует учитывать, сколько времени выходной сигнал находится в нужном состоянии (чтобы накопленной энергии хватало).

Двуполярным питанием от линий интерфейса (+V от DTR и RTS, -V от TD) пользуются все манипуляторы, подключаемые к СОМ-портам. Зная это, в случае неработоспособности мыши с данным портом следует проверить напряжения на соответствующих контактах разъема. Бывает, что с конкретным портом не работает только конкретная мышь (модель или экземпляр), хотя другие мыши с этим портом и эти же мыши с другими портами работают нормально. Здесь дело может быть в уровнях напряжений. Стандарт требует от порта выходного напряжения не менее 5 В (абсолютного значения), и если данный порт обеспечивает только этот минимум, некоторым мышам не хватит мощности для питания светодиодов (главных потребителей энергии).

Порт получает двуполярное питание через системную плату от блока питания компьютера. Отсутствие на выходе блока питания напряжения +12 В обычно обнаружится по неработоспособности дисков. Отсутствие напряжения -12 В «заметят» только устройства, подключенные к СОМ-портам. Блок питания теоретически контролирует наличие этих напряжений на своем выходе (сообщая о неполадках сигналом Power Good, вызывающим аппаратный сброс). Встречаются упрощенные схемы блоков питания, у которых контролируются не все напряжения. Кроме того, возможны плохие контакты в разъеме подключения питания к системной плате.

Глава 3

Беспроводные интерфейсы

Беспроводные (wireless) интерфейсы позволяют освободить устройства от связывающих их интерфейсных кабелей, что особенно привлекательно для малогабаритной периферии, по размеру и весу соизмеримой с кабелями. В беспроводных интерфейсах используются электромагнитные волны инфракрасного (IrDA) и радиочастотного (Bluetooth) диапазонов. Кроме этих интерфейсов периферийных устройств существуют и беспроводные способы подключения к локальным сетям (см. [3]).

3.1. Инфракрасный интерфейс IrDA

Применение излучателей и приемников инфракрасного (ИК) диапазона позволяет осуществлять беспроводную связь между парой устройств, удаленных на расстояние до нескольких метров. Инфракрасная связь — IR (Infra Red) Connection — безопасна для здоровья, не создает помех в радиочастотном диапазоне и обеспечивает конфиденциальность передачи. ИК-лучи не проходят через стены, поэтому зона приема ограничивается небольшим, легко контролируемым пространством. Инфракрасная технология привлекательна для связи портативных компьютеров со стационарными компьютерами или док-станциями. Инфракрасный интерфейс имеют некоторые модели принтеров, им оснащают многие современные малогабаритные устройства: карманные компьютеры (PDA), мобильные телефоны, цифровые фотокамеры и т.п.

Различают инфракрасные системы низкой (до 115,2 Кбит/с), средней (1,152 Мбит/с) и высокой (4 Мбит/с) скорости. Низкоскоростные системы служат для обмена короткими сообщениями, высокоскоростные — для обмена файлами между компьютерами, подключения к компьютерной сети, вывода на принтер, проекционный аппарат и т.п. Ожидаются более высокие скорости обмена, которые позволят передавать «живое видео». В 1993 году была создана ассоциация разработчиков систем инфракрасной передачи данных IrDA (Infrared Data Association), призванная обеспечить совместимость оборудования от различных производителей. В настоящее время действует стандарт IrDA 1.1, наряду с которым существуют и собственные системы фирм Hewlett Packard — HP-SIR (Hewlett Packard Slow Infra Red) и Sharp — ASK IR (Amplitude Shifted Keyed IR). Эти интерфейсы обеспечивают следующие скорости передачи:

♦ IrDA SIR (Serial Infra Red), HP-SIR — 9,6–115,2 Кбит/с;

♦ IrDA HDLC, известный и как IrDA MIR (Middle Infra Red) — 0,576 и 1,152 Мбит/с;

♦ IrDA FIR (Fast Infra Red) — 4 Мбит/с;

♦ ASK IR — 9,6-57,6 Кбит/с.

Излучателем для ИК-связи является светодиод, имеющий пик спектральной характеристики мощности 880 нм; светодиод дает конус эффективного излучения с углом около 30°. В качестве приемника используют PIN-диоды, эффективно принимающие ИК-лучи в конусе 15°. Спецификация IrDA определяет требования к мощности передатчика и чувствительности приемника, причем для приемника задается как минимальная, так и максимальная мощность ИК-лучей. Импульсы слишком малой мощности приемник не «увидит», а слишком большая мощность «ослепляет» приемник — принимаемые импульсы сольются в неразличимый сигнал. Кроме полезного сигнала на приемник воздействуют помехи: засветка солнечным освещением и лампами накаливания, дающая постоянную составляющую оптической мощности, и помехи от люминесцентных ламп, дающие переменную (но низкочастотную) составляющую. Эти помехи приходится фильтровать. Спецификация IrDA обеспечивает уровень битовых ошибок (Bit Error Ratio, BER) не более 10-9 при дальности до 1 м и дневном свете (освещенность до 10 клюкс). Поскольку передатчик почти неизбежно вызывает засветку своего же приемника, вводя его в насыщение, приходится задействовать полудуплексную связь с определенными временными зазорами при смене направления обмена. Для передачи сигналов используют двоичную модуляцию (есть свет — нет света) и различные схемы кодирования.

Спецификация IrDA определяет многоуровневую систему протоколов, которую рассмотрим снизу вверх.

Ниже перечислены варианты, возможные на физическом уровне IrDA.

♦ IrDA SIR — для скоростей 2,4–115,2 Кбит/с используется стандартный асинхронный режим передачи (как в СОМ-портах): старт-бит (нулевой), 8 бит данных и стоп-бит (единичный). Нулевое значение бита кодируется импульсом длительностью 3/16 битового интервала (1,63 мкс на скорости 115,2 Кбит/с), единичное — отсутствием импульсов (режим IrDA SIR-А). Таким образом, в паузе между посылками передатчик не светит, а каждая посылка начинается с импульса старт-бита. В спецификации 1.1 предусмотрен и иной режим — IrDA SIR-B, с фиксированной длительностью импульса 1,63 мкс для всех этих скоростей.

♦ ASK IR — для скоростей 9,6–57,6 Кбит/с также используется асинхронный режим, но кодирование иное: нулевой бит кодируется посылкой импульсов с частотой 500 кГц, единичный — отсутствием импульсов.

♦ IrDA HDLC — для скоростей 0,576 и 1,152 Мбит/с используется синхронный режим передачи и кодирование, аналогичное протоколу SIR, но с длительностью импульса 1/4-битового интервала. Формат кадра соответствует протоколу HDLC, начало и конец кадра отмечаются флагами 01111110, внутри кадра эта битовая последовательность исключается путем вставки битов (bit stuffing). Для контроля достоверности кадр содержит 16-битный CRC-код.

♦ IrDA FIR (IrDA4PPM) — для скорости 4 Мбит/с также применяется синхронный режим, но кодирование несколько сложнее. Здесь каждая пара смежных битов кодируется позиционно-импульсным кодом: 00→1000, 01→0100, 10→0010, 11→0001 (в четверках символов «1» означает посылку импульса в соответствующей четверти двухбитового интервала). Такой способ кодирования позволил вдвое снизить частоту включения светодиода по сравнению с предыдущим. Постоянство средней частоты принимаемых импульсов облегчает адаптацию к уровню внешней засветки. Для повышения достоверности применяется 32-битный CRC-код.

Над физическим уровнем расположен протокол доступа IrLAP (IrDA Infrared Link Access Protocol) — модификация протокола HDLC, отражающая нужды ИК-связи. Этот протокол инкапсулирует данные в кадры и предотвращает конфликты устройств: при наличии более двух устройств, «видящих» друг друга, одно из них назначается первичным, а остальные — вторичными. Связь всегда полудуплексная. IrLAP описывает процедуру установления, нумерации и закрытия соединений. Соединение устанавливается на скорости 9600 бит/с, после чего согласуется скорость обмена по максиму из доступных обоим (9, 6, 19,2, 38,4,57,6 или 115,2 Кбит/с) и устанавливаются логические каналы (каждый канал управляется одним ведущим устройством).

Над IrLAP располагается протокол управления соединением IrLMP (IrDA Infrared Link Management Protocol). С его помощью устройство сообщает остальным о своем присутствии в зоне охвата (конфигурация устройств IrDA может изменяться динамически: для ее изменения достаточно поднести новое устройство или отнести его подальше). Протокол IrLMP позволяет обнаруживать сервисы, предоставляемые устройством, проверять потоки данных и выступать в роли мультиплексора для конфигураций с множеством доступных устройств. Приложения с помощью IrLMP могут узнать, присутствует ли требуемое им устройства в зоне охвата. Однако гарантированной доставки данных этот протокол не обеспечивает.

Транспортный уровень обеспечивается протоколом Tiny TP (IrDA Transport Protocols) — здесь обслуживаются виртуальные каналы между устройствами, обрабатываются ошибки (потерянные пакеты, ошибки данных и т.п.), производится упаковка данных в пакеты и сборка исходных данных из пакетов (протокол напоминает TCP). На транспортном уровне может работать и протокол IrTP.

Протокол IrCOMM позволяет через ИК-связь эмулировать обычное проводное подключение:

♦ 3-проводное по RS-232C (TXD, RXD и GND);

♦ 9-проводное по RS-232C (весь набор сигналов СОМ-порта);

♦ Centronics (эмуляция параллельного интерфейса).

Протокол IrLAN обеспечивает доступ к локальным сетям, позволяя передавать кадры сетей Ethernet и Token Ring. Для ИК-подключения к локальной сети требуется устройство-провайдер с интерфейсом IrDA, подключенное обычным (проводным) способом к локальной сети, и соответствующая программная поддержка в клиентском устройстве (которое должно войти в сеть).

Протокол объектного обмена IrOBEX (Object Exchange Protocol) — простой протокол, определяющий команды PUT и GET для обмена «полезными» двоичными данными между устройствами. Этот протокол располагается над протоколом Tiny ТР. У протокола IrOBEX есть расширение для мобильных коммуникаций, которое определяет передачу информации, относящуюся к сетям GSM (записная книжка, календарь, управление вызовом, цифровая передача голоса и т.п.), между телефоном и компьютерами разных размеров (от настольного до PDA).

Этими протоколами не исчерпывается весь список протоколов, имеющих отношение к ИК-связи. Заметим, что для дистанционного управления бытовой техникой (телевизоры, видеомагнитофоны и т.п.) используется тот же диапазон 880 нм, но иные частоты и методы физического кодирования.

Приемопередатчик IrDA может быть подключен к компьютеру различными способами; по отношению к системному блоку он может быть как внутренним (размещаемым на лицевой панели), так и внешним, размещаемым в произвольном месте. Размещать приемопередатчик следует с учетом угла «зрения» (30° у передатчика и 15° у приемника) и расстояния до требуемого устройства (до 1 м).

Внутренние приемопередатчики на скоростях до 115,2 Кбит/с (IrDA SIR, HP-SIR, ASK IR) подключаются через обычные микросхемы UART, совместимые с 16450/16550 через сравнительно несложные схемы модуляторов-демодуляторов. В ряде современных системных плат на использование инфракрасной связи (до 115,2 Кбит/с) может конфигурироваться порт COM2. Для этого в дополнение к UART чипсет содержит схемы модулятора и демодулятора, обеспечивающие один или несколько протоколов инфракрасной связи. Чтобы порт COM2 использовать для инфракрасной связи, в CMOS Setup требуется выбрать соответствующий режим (запрет инфракрасной связи означает обычное использование COM2). Существуют внутренние адаптеры и в виде карт расширения (для шин ISA, PCI, PC Card); для системы они выглядят как дополнительные СОМ-порты.

На средних и высоких скоростях обмена применяются специализированные микросхемы контроллеров IrDA, ориентированные на интенсивный программно- управляемый обмен или DMA, с возможностью прямого управления шиной. Здесь обычный приемопередатчик UART непригоден, поскольку он не поддерживает синхронный режим и высокую скорость. Контроллер IrDA FIR выполняется в виде карты расширения или интегрируется в системную плату; как правило, такой контроллер поддерживает и режимы SIR.

Приемопередатчик подключается к разъему IR-Connector системной платы напрямую (если он устанавливается на лицевую панель компьютера) или через промежуточный разъем (mini-DIN), расположенный на скобе-заглушке задней стенки корпуса. К сожалению, единой раскладки цепей на внутреннем коннекторе нет, и для большей гибкости приемопередатчик (или промежуточный разъем) снабжают кабелем с отдельными контактами разъема. Собрать их в должном порядке предоставляют пользователю; варианты назначения контактов коннектора инфракрасного приемопередатчика приведены в табл. 3.1. Некоторые приемопередатчики, поддерживающие режимы FIR и SIR, имеют раздельные выходы приемников — IRRX (для SIR) и FIRRX (для FIR). Если контроллер поддерживает только один из режимов, один из контактов останется неподключенным.

Таблица 3.1. Коннектор инфракрасного приемопередатчика

Цепь Назначение Контакт/вариант
1 2 3 4
IRRX(RX) Вход с приемника 1 3 3 3
FIRRX(RXH) Вход с приемника FIR 5 4
IRTX(TX) Выход на передатчик 3 5 1 1
GND Общий 2, 7 4 2 2
Vcc (+5B) Питание 4, 6 1 5 5
NC Свободный 2 4

Внешние ИК-адаптеры выпускают с интерфейсом RS-232C для подключения к СОМ-порту или же с шиной USB. Пропускной способности USB достаточно даже для FIR, СОМ-порт пригоден только для SIR. Внешний ИК-адаптер IrDA SIR для СОМ-порта не так прост, как казалось бы: для работы модулятора-демодулятора требуется сигнал синхронизации с частотой, равной 16-кратной частоте передачи данных (этот сигнал поступает на синхровход микросхемы UART СОМ-порта). Такого сигнала на выходе СОМ-порта нет и его приходится восстанавливать из асинхронного битового потока. Адаптер ASK IR в этом плане проще — передатчик должен передавать высокочастотные импульсы все время, пока выход TXD находится в высоком состоянии; приемник должен формировать огибающую принятых импульсов.

Для прикладного использования IrDA кроме физического подключения адаптера и трансивера требуется установка и настройка соответствующих драйверов. В ОС Windows 9x/ME/2000 контроллер IrDA попадает в группу Сетевое окружение. Сконфигурированное ПО позволяет устанавливать соединение с локальной сетью (для выхода в Интернет, использования сетевых ресурсов); передавать файлы между парой компьютеров; выводить данные на печать; синхронизировать данные PDA, мобильного телефона и настольного компьютера; загружать отснятые изображения из фотокамеры в компьютер и выполнять ряд других полезных действий, не заботясь ни о каком кабельном хозяйстве.

3.2. Радиоинтерфейс Bluetooth

Bluetooth (синий зуб) — это фактический стандарт на миниатюрные недорогие средства передачи информации с помощью радиосвязи между мобильными (и настольными) компьютерами, мобильными телефонами и любыми другими портативными устройствами на небольшие расстояния. Разработкой спецификации занимается группа лидирующих фирм в областях телекоммуникаций, компьютеров и сетей — 3Com, Agere Systems, Ericsson, IBM, Intel, Microsoft, Motorola, Nokia, Toshiba. Эта группа, образовавшая Bluetooth Special Interest Group, и вывела данную технологию на рынок. Спецификация Bluetooth свободно доступна в Сети (www.bluetooth.com), правда, она весьма объемна (около 15 Мбайт PDF-файлов). Открытость спецификации должна способствовать ее быстрому распространению, что уже и наблюдается на практике. Здесь позволим себе сократить название технологии до «ВТ» (это не официальное сокращение). Само название представляет собой прозвище датского короля, объединившего Данию и Норвегию, — намек на всеобщую объединяющую роль технологии.

Каждое устройство ВТ имеет радиопередатчик и приемник, работающие в диапазоне частот 2,4 ГГц. Этот диапазон в большинстве стран отведен для промышленной, научной и медицинской аппаратуры и не требует лицензирования, что обеспечивает повсеместную применимость устройств. Для ВТ используются радиоканалы с дискретной (двоичной) частотной модуляцией, несущая частота каналов F=2402+k (МГц), где k=0, …, 78. Для нескольких стран (например, Франции, где в этом диапазоне работают военные) возможен сокращенный вариант с F-2454+k (k=0, …, 22). Кодирование простое — логической единице соответствует положительная девиация частоты, нулю — отрицательная. Передатчики могут быть трех классов мощности, с максимальной мощностью 1, 2,5 и 100 МВт, при чем должна быть возможность понижения мощности с целью экономии энергии.

Передача ведется с перескоком несущей частоты с одного радиоканала на другой, что помогает в борьбе с интерференцией и замираниями сигнала. Физический канал связи представляется определенной псевдослучайной последовательностью используемых радиоканалов (79 или 23 возможных частот). Группа устройств, разделяющих один канал (то есть «знающих» одну и ту же последовательность перескоков), образует так называемую пикосеть (piconet), в которую может входить от 2 до 8 устройств. В каждой пикосети имеется одно ведущее устройство и до 7 активных ведомых. Кроме того, в зоне охвата ведущего устройства в его же пикосети могут находиться «припаркованные» ведомые устройства: они тоже «знают» последовательность перескоков и синхронизируются (по перескокам) с ведущим устройством, но не могут обмениваться данными до тех пор, пока ведущее устройство не разрешит их активность. Каждое активное ведомое устройство пикосети имеет свой временный номер (1–7); когда ведомое устройство деактивируется (паркуется), оно отдает свой номер для использования другими. При последующей активизации оно уже может получить иной номер (потому-то он и временный). Пикосети могут перекрываться зонами охвата, образуя «разбросанную» сеть (scatternet). При этом в каждой пикосети ведущее устройство только одно, но ведомые устройства могут входить в несколько пикосетей, используя раз деление времени (часть времени он работает в одной, часть — в другой пикосети). Более того, ведущее устройство одной пикосети может быть ведомым устройством другой пикосети. Эти пикосети никак не синхронизированы, каждая из них использует свой канал (последовательность перескоков).

Канал делится на тайм-слоты длительностью 625 мкс, слоты последовательно нумеруются с цикличностью 227. Каждый тайм-слот соответствует одной частоте, несущей в последовательности перескоков (1600 перескоков в секунду). Последовательность частот определяется адресом ведущего устройства пикосети. Передачи ведутся пакетами, каждый пакет может занимать от 1 до 5 тайм-слотов. Если пакет длинный, то он весь передается на одной частоте несущей, но отсчет слотов по 625 мкс продолжается, и после длинного пакета следующая частота будет соответствовать очередному номеру слота (то есть несколько перескоков будут пропущены). Ведущее и ведомые устройства ведут передачу поочередно: в четных слотах передачу ведет ведущее устройство, а в нечетных — адресованное им ведомое устройство (если ему есть что «сказать»).

Между ведущим и ведомыми устройствами могут устанавливаться физические связи двух типов: синхронные и асинхронные.

Синхронные связи (они же изохронные) с установлением соединения, SCO link (Synchronous Connection-Oriented), используются для передачи изохронного трафика (например, оцифрованного звука). Эти связи типа «точка-точка» предварительно устанавливает ведущее устройство с выбранными ведомыми устройствами, и для каждой связи определяется период (в слотах), через который для нее резервируются слоты. Связи получаются симметричные двусторонние. Повторные передачи пакетов в случае ошибок приема не используются. Ведущее устройство может установить до трех связей SCO с одним или разными ведомыми устройствами. Ведомое устройство может иметь до трех связей с одним ведущим устройством или иметь по одной связи SCO с двумя различными ведущими устройствами. По сетевой классификации связи SCO относятся к коммутации цепей.

Асинхронные связи без установления соединения, ACL link (Asynchronous Connection-Less), реализуют коммутацию пакетов по схеме «точка-множество точек» между ведущим устройством и всеми ведомыми устройствами пикосети. Ведущее устройство может связываться с любым из ведомых устройств пикосети в слотах, не занятых под SCO, послав ему пакет и потребовав ответа. Ведомое устройство имеет право на передачу, только получив обращенный к нему запрос ведущего устройства (безошибочно декодировав свой адрес). Для большинства типов пакетов предусматривается повторная передача в случае обнаружения ошибки приема. Ведущее устройство может посылать и безадресные широковещательные пакеты для всех ведомых устройств своей пикосети. С каждым из своих ведомых устройств ведущее устройство может установить лишь одну связь ACL.

Информация передается пакетами, в которых поле данных может иметь длину 0–2745 бит. Для связей ACL предусмотрено несколько типов пакетов с защитой CRC-кодом (в случае обнаружения ошибки предусматривается повторная передача) и 1 беззащитный (без повторных передач). Для связей SCO данные не защищаются CRC-кодом, и следовательно, повторные передачи по ошибке приема не предусмотрены.

Защита данных от искажения и контроль достоверности производится несколькими способами. Данные некоторых типов пакетов защищаются CRC-кодом, и приемник информации должен подтверждать прием правильного пакета или сообщить об ошибке приема. Для сокращения числа повторов применяется избыточное кодирование FEC (Forward Error Correction code). В схеме FEC 1/3 каждый полезный бит передается трижды, что позволяет выбрать наиболее правдоподобный вариант мажорированием. Схема FEC 2/3 несколько сложнее, здесь используется код Хэмминга, что позволяет исправлять все однократные и обнаруживать все двукратные ошибки в каждом 10-битном блоке.

Каждый голосовой канал обеспечивает скорость по 64 Кбит/с в обоих направлениях. В канале может использоваться кодирование в формате PCM (импульсно-кодовая модуляция) или CVSD (Continuous Variable Slope Delta Modulation — вариант адаптивной дельта импульсно-кодовой модуляции). Кодирование PCM допускает компрессию по G.711; оно обеспечивает лишь сугубо «телефонное» качество сигнала (имеется в виду цифровая телефония, 8-битные выборки с частотой 8 Кбит/с). Кодер CVSD обеспечивает более высокое качество — он упаковывает входной PCM-сигнал с частотой выборок 64 Кбит/с, однако и при этом спектральная плотность сигнала в полосе частот 4-32 кГц должна быть незначительной. Для передачи высококачественного аудиосигнала голосовые (речевые) каналы ВТ непригодны, однако сжатый сигнал (например, поток MP3) вполне можно передавать по асинхронному каналу передачи данных.



Поделиться книгой:

На главную
Назад