- •Министерство образования Российской Федерации
- •Раздел 1 «Эволюция периферийных интерфейсов пк» 1. Что такое периферийные устройства
- •1 Контроллер отличается от адаптера более высоким уровнем «интеллекта»
- •1.3. Стандарт ieee 1284
- •1.3.1. Полубайтный режим ввода — Nibble Mode
- •1.3.2. Байтный режим ввода — Byte Mode
- •1.3.4. Режим еср
- •1.3.7. Физический и электрический интерфейсы
- •1.5. Параллельный порт и РпР
- •1.6. Применение lpt-порта
- •2.2. Интерфейс rs-232c
- •2.2.1. Электрический интерфейс
- •2.2.2. Управление потоком данных
- •2.5. Сом-порт
- •2.5.1. Использование сом-портов
- •2.5.4. Неисправности и тестирование сом-портов
- •2.5.5. Функции bios для сом-портов
- •4.1. Шина usb
- •4.1.1. Организация шины usb
- •4.1.2. Модель передачи данных
- •4.1.3. Протокол
- •4.1.4. Типы передач данных
- •4.1.5. Синхронизация при изохронной передаче
- •4.1.6. Хост
- •4.1.7. Применение шины usb
- •4.1.8. Разработка собственных устройств usb
- •4.2. Шина ieee 1394 - FireWire
- •4.2.1. Физический уровень сети
- •4.2.3. Устройства и адаптеры 1394
2.5.5. Функции bios для сом-портов
В процессе начального тестирования POSTBIOSпроверяет наличие последовательных портов (регистровUART8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейкиB/OSData Area0:0400, 0402, 0404, 0406. Эти ячейки хранят адреса портов с логическими именамиСОМ 1-COM4.Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:047С, 047D, 047Е, 047Fзаносятся константы, задающие тайм-аут для портов.
Обнаруженные порты инициализируютсяна скорость обмена 2400 бит/с, 7 бит данных с контролем на четность (even), 1 стоп-бит. Управляющие сигналы интерфейсаDTRиRTSпереводятся в исходное состояние («выключено» — положительное напряжение).
Порты поддерживаются сервисом BIOS INT 14h,который обеспечивает следующие функции:
» OOh—инициализация(установка скорости обмена и формата посылок, заданных регистромAL;запрет источников прерываний). На сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны).
« Olh—вывод символаиз регистраAL(без аппаратных прерываний). Активируются сигналы DTR и RTS, и после освобождения регистраTHRв него помещается выводимый символ. Если за заданное время регистр не освобождается, фиксируется ошибка тайм-аута и функция завершается.
ж 02h—ввод символа(без аппаратных прерываний). Активируется только сигнал DTR (RTS переходит в пассивное состояние), и ожидается готовность принятых данных, принятый символ помещается в регистрAL.Если за заданное время данные не получены, функция завершается с ошибкой тайм-аута.
8 03h—опрос состояниямодема и линии (чтение регистровMSRиLSR).Эту гарантированно быструю функцию обычно вызывают перед функциями ввода/вывода во избежание риска ожидания тайм-аута.
При вызове INT 14hномер функции задается в регистреАН, номер порта (0-3) — в регистреDX (0 — СОМ1,1 —COM2...). При возврате из функций 0, 1 и 3 регистрАНсодержитбайт состояния линии(регистрLSR), AL — байт состояния модема (MSR).При возврате из функции 2 нулевое значение бита 7 регистраАНуказывает на наличие принятого символа в регистреAL;ненулевое значение бита 7 — на ошибку приема, которую можно уточнить функцией 3.
Формат байта состояния линии (регистр АН):
и Бит 7 — ошибка тайм-аута (после вызова функции 2 — признак любой ошибки). я Бит 6 — регистр сдвига передатчика пуст (пауза передачи).
» Бит 5 — промежуточный регистр передатчика пуст (го тов принять символ для передачи).
« Бит 4 — обнаружен обрыв линии.
« Бит 3 — ошибка кадра (отсутствие стоп-бита).
« Бит 2 — ошибка паритета принятого символа.
» Бит 1 — переполнение (потеря символа).
ж Бит 0 — регистр данных содержит принятый символ.
Формат байта состояния модема (регистр AL):
»Бит 7 — состояние линииDCD. » Бит 6 — состояние линииRI.яБит 5 — состояние линииDSR. м Бит 4 — состояние линииCTS. »« Бит 3 — изменение состояния DCD. » Бит 2 — изменение огибающей RI. я Бит 1 — изменение состояния DSR.ssБит 0 — изменение состояния CTS. Формат регистраAL при инициализации:
» Биты [7:5] — скорость обмена:
000-110; 010-300; 100-1200; 110-4800,
001-150; 011-600; 101-2400; 111-9600 бит/с. ж Биты [4:3] — контроль паритета:
01 — число единиц нечетное,
11 —четное,
00 и 10 — без контроля.
» Бит 2 — количество стоп-бит: 0—1 бит, 1—2 бита (на скорости 110 бит/с — 1,5 стоп-бита).
» Биты [1:0] — длина посылки: 00—5 бит, 01—6 бит, 10-7 бот, 11:-8 бит. 2.5.6. СОМ-порт и РпР
Современные ПУ, подключаемые к СОМ-порту, могут поддерживать спецификацию РпР. Основная задача ОС заключается в идентификации подключенного устройства, для чего разработан несложный протокол, реализуемый на любых СОМ-портах чисто программным способом (рис. 2.18):
1. Порт инициализируется с состоянием линий DTR=CW,RTS=OFF,T)(D=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 с ожидается приход первого символа от устройства. По приходе символа начинается прием идентификатора (см. ниже). Если за это время символ не пришел (рис. 2.18), выполняется вторая попытка опроса (см. п. 5), несколько отличающаяся от первой.
5. На 0,2 с снимаются оба сигнала (DTR=0 иRTS=0), после чего они оба устанавливаются (DTR=1 иRTS"!). 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 символов. Строка идентификатора РпР должна иметь маркеры начала (28hили 08h) и конца (29hили 09h), между которыми располагается тело идентификатора в стандартизованном формате. Перед маркером начала может находиться до 16 символов, не относящихся к идентификатору РпР. Если за первые 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с учетом совместимости с не-РпР-устройствами — невозможность их вывода из строя и устойчивость системы к сообщениям, не являющимся РпР-идентификаторами. Например, обычнаяMicrosoftMouseпри включении питания от интерфейса ответит ASCII-символом «М» (трехкнопочная — строкой «МЗ»).
Беспроводные интерфейсы
Беспроводные (wireless) интерфейсы позволяют освободить устройства от связывающих их интерфейсных кабелей, что особенно привлекательно для малогабаритной периферии, по размеру и весу соизмеримой с кабелями. В беспроводных интерфейсах используются электромагнитные волны инфракрасного (IrDA) и радиочастотного (Bluetooth) диапазонов. Кроме этих интерфейсов периферийных устройств существуют и беспроводные способы подключения к локальным сетям (см. [3]).
3.1. Инфракрасный интерфейс IrDA
Применение излучателей и приемников инфракрасного (ИК) диапазона позволяет осуществлять беспроводную связь между парой устройств, удаленных на расстояние до нескольких метров. Инфракрасная связь — IR (Infra Red) Connection —безопасна для здоровья, не создает помех в радиочастотном диапазоне и обеспечивает конфиденциальность передачи. ИК-лучи не проходят через стены, поэтому зона приема ограничивается небольшим, легко контролируемым пространством. Инфракрасная технология привлекательна для связи портативных компьютеров со стационарными компьютерами или док-станциями. Инфракрасный интерфейс имеют некоторые модели принтеров, им оснащают многие современные малогабаритные устройства: карманные компьютеры (PDA), мобильные телефоны, цифровые фотокамеры и т. п.
Различают инфракрасные системы низкой (до 115,2 Кбит/с), средней (1,152 Мбит/с) и высокой (4 Мбит/с) скорости. Низкоскоростные системы служат для обмена короткими сообщениями, высокоскоростные — для обмена файлами между компьютерами, подключения к компьютерной сети, вывода на принтер, проекционный аппарат и т. п. Ожидаются более высокие скорости обмена, которые позволят передавать «живое видео». В 1993 году была создана ассоциация разработчиков систем инфракрасной передачи данных IrDA(InfraredDataAssociation), призванная обеспечить совместимость оборудования от различных производителей. В настоящее время действует стандартIrDA 1.1,наряду с которым существуют и собственные системы фирмHewlettPackard—HP-SIR(HewlettPackardSlowInfraRed) иSharp—ASK IR(AmplitudeShiftedKeyedIR). Эти интерфейсы обеспечивают следующие скорости передачи:
• IrDA SIR (Serial Infra Red), HP-SIR - 9,6-115,2 Кбит/с;
• IrDAHDLC, известный и какIrDAMIR(MiddleInfraRed) - 0,576 и 1,152 Мбит/с;
• IrDA FIR (Fast Infra Red) - 4 Мбит/с;
• ASKIR- 9,6-57,6 Кбит/с.
Излучателем для ИК-связи является светодиод, имеющий пик спектральной характеристики мощности 880 нм; светодиод дает конус эффективного излучения с углом около 30°. В качестве приемника используют PIN-диоды, эффективно принимающие ИК-лучи в конусе 15°. Спецификация IrDA определяет требования к мощности передатчика и чувствительности приемника, причем для приемника задается как минимальная, так и максимальная мощность ИК-лучей. Импульсы слишком малой мощности приемник не «увидит», а слишком большая мощность «ослепляет» приемник — принимаемые импульсы сольются в неразличимый сигнал. Кроме полезного сигнала на приемник воздействуют помехи: засветка солнечным освещением и лампами накаливания, дающая постоянную составляющую оптической мощности, и помехи от люминесцентных ламп, дающие переменную (но низкочастотную) составляющую. Эти помехи приходится фильтровать. Спецификация IrDA обеспечивает уровень битовых ошибок (BitErrorRatio,BER) не более 10"9при дальности до 1 м и дневном свете (освещенность до 10 клюке). Поскольку передатчик почти неизбежно вызывает засветку своего же приемника, вводя его в насыщение, приходится задействовать полудуплексную связь с определенными временными зазорами при смене направления обмена. Для передачи сигналов используют двоичную модуляцию (есть свет — нет света) и различные схемы кодирования.
Спецификация IrDA определяет многоуровневую систему протоколов, которую рассмотрим снизу вверх.
Ниже перечислены варианты, возможные на физическом уровне IrDA.
• IrDA SIR —для скоростей 2,4-115,2 Кбит/с используется стандартный асинхронный режим передачи (как в СОМ-портах): старт-бит (нулевой), 8 бит данных и стоп-бит (единичный). Нулевое значение бита кодируется импульсом длительностью 3/16 битового интервала (1,63 мкс на скорости 115,2 Кбит/с), единичное — отсутствием импульсов (режимIrDASIR-A). Таким образом, в паузе между посылками передатчик не светит, а каждая посылка начинается с импульса старт-бита. В спецификации 1.1 предусмотрен и иной режим —IrDASIR-B, с фиксированной длительностью импульса 1,63 мкс для всех этих скоростей.
• ASKIR —для скоростей 9,6-57,6 Кбит/с также используется асинхронный режим, но кодирование иное: нулевой бит кодируется посылкой импульсов с частотой 500 кГц, единичный — отсутствием импульсов. •IrDAHDLC— для скоростей 0,576 и 1,152 Мбит/с используется синхронный режим передачи и кодирование, аналогичное протоколуSIR, но с длительностью импульса 1/4-битового интервала. Формат кадра соответствует протоколу HDLC, начало и конец кадра отмечаются флагами 01111110, внутри кадра эта битовая последовательность исключается путем вставки битов (bitstuffing). Для контроля достоверности кадр содержит 16-битный CRC-код.
• IrDA FIR(IrDA4PPM) — для скорости 4 Мбит/с также применяется синхронный режим, но кодирование несколько сложнее. Здесь каждая пара смежных битов кодируется позиционно-импульсным кодом: 00 —> 1000, 01 —> 0100, 10 —> 0010,11 —>0001 (в четверках символов «I» означает посылку импульса в соответствующей четверти двухбитового интервала). Такой способ кодирования позволил вдвое снизить частоту включения светодиода по сравнению с предыдущим. Постоянство средней частоты принимаемых импульсов облегчает адаптацию к уровню внешней засветки. Для повышения достоверности применяется 32-битный CRC-код.
Над физическим уровнем расположен протокол доступа IrLAP(IrDAInfraredLinkAccessProtocol) — модификация протоколаHDLC, отражающая нужды ИК-свя-зи. Этот протокол инкапсулирует данные в кадры и предотвращает конфликты устройств: при наличии более двух устройств, «видящих» друг друга, одно из них назначается первичным, а остальные — вторичными. Связь всегда полудуплексная. IrLAP описывает процедуру установления, нумерации и закрытия соединений. Соединение устанавливается на скорости 9600 бит/с, после чего согласуется скорость обмена по максиму из доступных обоим (9,6,19,2,38,4,57,6 или 115,2 Кбит/с) и устанавливаются логические каналы (каждый канал управляется одним ведущим устройством).
Над IrLAP располагается протокол управления соединением IrLMP(IrDAInfraredLinkManagementProtocol). С его помощью устройство сообщает остальным о своем присутствии в зоне охвата (конфигурация устройств IrDA может изменяться динамически: для ее изменения достаточно поднести новое устройство или отнести его подальше). Протокол IrLMP позволяет обнаруживать сервисы, предоставляемые устройством, проверять потоки данных и выступать в роли мультиплексора для конфигураций с множеством доступных устройств. Приложения с помощью IrLMP могут узнать, присутствует ли требуемое им устройства в зоне охвата. Однако гарантированной доставки данных этот протокол не обеспечивает.
Транспортный уровеньобеспечивается протоколомTiny TP(IrDATransportProtocols) — здесь обслуживаются виртуальные каналы между устройствами, обрабатываются ошибки (потерянные пакеты, ошибки данных и т. п.), производится упаковка данных в пакеты и сборка исходных данных из пакетов (протокол напоминаетTCP). На транспортном уровне может работать и протоколIrTP.
Протокол IrCOMMпозволяет через ИК-связь эмулировать обычное проводное подключение:
• 3-проводное по RS-232C(TXD,RXDиGND);
• 9-проводное по RS-232C (весь набор сигналов СОМ-порта);
• Centronics(эмуляция параллельного интерфейса).Протокол IrLANобеспечивает доступ к локальным сетям, позволяя передавать кадры сетейEthernetиTokenRing. Для ИК-подключения к локальной сети требуется устройство-провайдер с интерфейсом IrDA, подключенное обычным (проводным) способом к локальной сети, и соответствующая программная поддержка в клиентском устройстве (которое должно войти в сеть).Протокол объектного обмена IrOBEX(ObjectExchangeProtocol) — простой протокол, определяющий командыPUTиGETдля обмена «полезными» двоичными данными между устройствами. Этот протокол располагается над протоколомTinyТР. У протокола IrOBEX есть расширение для мобильных коммуникаций, которое определяет передачу информации, относящуюся к сетямGSM(записная книжка, календарь, управление вызовом, цифровая передача голоса и т. п.), между телефоном и компьютерами разных размеров (от настольного доPDA).
Этими протоколами не исчерпывается весь список протоколов, имеющих отношение к ИК-связи. Заметим, что для дистанционного управления бытовой техникой (телевизоры, видеомагнитофоны и т. п.) используется тот же диапазон 880 нм, но иные частоты и методы физического кодирования. Приемопередатчик IrDA может быть подключен к компьютеру различными способами; по отношению к системному блоку он может быть как внутренним (размещаемым на лицевой панели), так и внешним, размещаемым в произвольном месте. Размещать приемопередатчик следует с учетом угла «зрения» (30° у передатчика и 15° у приемника) и расстояния до требуемого устройства (до 1 м).
Внутренние приемопередатчикина скоростях до 115,2 Кбит/с (IrDASIR,HP-SIR,ASKIR) подключаются через обычные микросхемыUART, совместимые с 16450/ 16550 через сравнительно несложные схемы модуляторов-демодуляторов. В ряде современных системных плат на использование инфракрасной связи (до 115,2 Кбит/с) может конфигурироваться порт COM2. Для этого в дополнение к UART чипсет содержит схемы модулятора и демодулятора, обеспечивающие один или несколько протоколов инфракрасной связи. Чтобы порт COM2 использовать для инфракрасной связи, вCMOSSetupтребуется выбрать соответствующий режим (запрет инфракрасной связи означает обычное использование COM2). Существуют внутренние адаптеры и в виде карт расширения (для шинISA,PCI,PCCard); для системы они выглядят как дополнительные СОМ-порты.
На средних и высоких скоростях обмена применяются специализированные микросхемы контроллеров IrDA, ориентированные на интенсивный программно-управляемый обмен или DMA, с возможностью прямого управления шиной. Здесь обычный приемопередатчик UART непригоден, поскольку он не поддерживает синхронный режим и высокую скорость. КонтроллерIrDAFIRвыполняется в виде карты расширения или интегрируется в системную плату; как правило, такой контроллер поддерживает и режимыSIR.
Приемопередатчик подключается к разъему IR- Connectorсистемной платы напрямую (если он устанавливается на лицевую панель компьютера) или через промежуточный разъем (mini-DIN), расположенный на скобе-заглушке задней стенки корпуса. К-сожалению, единой раскладки цепей на внутреннем коннекторе нет, и для большей гибкости приемопередатчик (или промежуточный разъем) снабжают кабелем с отдельными контактами разъема. Собрать их в должном порядке предоставляют пользователю; варианты назначения контактов коннектора инфракрасного приемопередатчика приведены в табл. 3.1. Некоторые приемопередатчики, поддерживающие режимыFIRиSIR, имеют раздельные выходы приемников —IRRX(дляSIR) иFIRRX(дляFIR). Если контроллер поддерживает только один из режимов, один из контактов останется неподключенным.
Внешние ПК-адаптерывьшускают с интерфейсомRS-232Cдля подключения к СОМ-порту или же с шинойUSB. Пропускной способностиUSBдостаточно даже дляFIR, СОМ-порт пригоден только дляSIR. Внешний ИК-адаптерIrDASIRдля СОМ-порта не так прост, как казалось бы: для работы модулятора-демодулятора требуется сигнал синхронизации с частотой, равной 16-кратной частоте передачи данных (этот сигнал поступает на синхровход микросхемыUARTСОМ-порта). Такого сигнала на выходе СОМ-порта нет и его приходится восстанавливать из асинхронного битового потока. АдаптерASKIRв этом плане проще — передатчик должен передавать высокочастотные импульсы все время, пока выходTXDнаходится в высоком состоянии; приемник должен формировать огибающую принятых импульсов.
Для прикладного использования IrDA кроме физического подключения адаптера и трансивера требуется установка и настройка соответствующих драйверов. В ОС Windows9x/ME/2000 контроллер IrDA попадает в группу Сетевое окружение. Сконфигурированное ПО позволяет устанавливать соединение с Локальной сетью (для выхода в Интернет, использования сетевых ресурсов); передавать файлы между парой компьютеров; выводить данные на печать; синхронизировать данныеPDA, мобильного телефона и настольного компьютера; загружать отснятые изображения из фотокамеры в компьютер и выполнять ряд других полезных действий, не заботясь ни о каком кабельном хозяйстве.
3.2. Радиоинтерфейс Bluetooth
Bluetooth(синий зуб) — это фактический стандарт на миниатюрные недорогие средства передачи информации с помощью радиосвязи между мобильными (и настольными) компьютерами, мобильными телефонами и любыми другими
портативными устройствами на небольшие расстояния. Разработкой спецификации занимается группа лидирующих фирм в областях телекоммуникаций, компьютеров и сетей — 3Com, AgereSystems,Ericsson,IBM,Intel,Microsoft,Motorola,Nokia,Toshiba. Эта группа, образовавшаяBluetoothSpecialInterestGroup, и вывела данную технологию на рынок. Спецификация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 мкс продолжается, и после длинного пакета следующая частота будет соответствовать очередному номеру слота (то есть несколько перескоков будут пропущены). Ведущее и ведомые устройства ведут передачу поочередно: в четных слотах передачу ведет ведущее устройство, а в нечетных — адресованное им ведомое устройство (если ему есть что «сказать»).
Между ведущим и ведомыми устройствами могут устанавливаться физические связи двух типов: синхронные и асинхронные.
Синхронные связи(они же изохронные) с установлением соединения,SCOlink(SynchronousConnection-Oriented), используются для передачи изохронного тра-фика (например, оцифрованного звука). Эти связи типа «точка—точка» предварительно устанавливает ведущее устройство с выбранными ведомыми устройствами, и для каждой связи определяется период (в слотах), через который для нее резервируются слоты. Связи получаются симметричные двусторонние. Повторные передачи пакетов в случае ошибок приема не используются. Ведущее устройство может установить до трех связейSCOс одним или разными ведомыми устройствами. Ведомое устройство может иметь до трех связей с одним ведущим устройством или иметь по одной связиSCOс двумя различными ведущими устройствами. По сетевой классификации связиSCOотносятся ккоммутации цепей.
Асинхронные связибез установления соединения,ACLlink(AsynchronousConnection-Less), реализуюткоммутацию пакетовпо схеме «точка—множество точек» между ведущим устройством и всеми ведомыми устройствами пикосети. Ведущее устройство может связываться с любым из ведомых устройств пикосети в слотах, не занятых подSCO, послав ему пакет и потребовав ответа. Ведомое устройство имеет право на передачу, только получив обращенный к нему запрос ведущего устройства (безошибочно декодировав свой адрес). Для большинства типов пакетов предусматривается повторная передача в случае обнаружения ошибки приема. Ведущее устройство может посылать и безадресные широковещательные пакеты для всех ведомых устройств своей пикосети. С каждым из своих ведомых устройств ведущее устройство может установить лишь одну связь ACL.
Информация передается пакетами, в которых поле данных может иметь длину 0-2745 бит. Для связей ACLпредусмотрено несколько типов пакетов с защитой CRC-кодом (в случае обнаружения ошибки предусматривается повторная передача) и 1 беззащитный (без повторных передач).Для связей SCOданные не защищаются CRC-кодом, и следовательно, повторные передачи по ошибке приема не предусмотрены.
Защита данных от искажения и контроль достоверности производится несколькими способами. Данные некоторых типов пакетов защищаются CRC-кодом, и приемник информации должен подтверждать прием правильного пакета или сообщить об ошибке приема. Для сокращения числа повторов применяется избыточное кодирование FEC(ForwardErrorCorrectioncode). В схемеFEC1/3 каждый полезный бит передается трижды, что позволяет выбрать наиболее правдоподобный вариант мажорированием. Схема FEC 2/3 несколько сложнее, здесь используется код Хэмминга, что позволяет исправлять все однократные и обнаруживать все двукратные ошибки в каждом 10-битном блоке.
Каждый голосовой каналобеспечивает скорость по 64 Кбит/с в обоих направлениях. В канале может использоваться кодирование в формате РСМ (импульсно-кодовая модуляция) илиCVSD(ContinuousVariableSlopeDeltaModulation— вариант адаптивной дельта импульсно-кодовой модуляции). Кодирование РСМ допускает компрессию поG.711; оно обеспечивает лишь сугубо «телефонное» качество сигнала (имеется в виду цифровая телефония, 8-битные выборки с частотой 8 Кбит/с). Кодер CVSD обеспечивает более высокое качество — он упаковывает входной РСМ-сигнал с частотой выборок 64 Кбит/с, однако и при этом спектральная плотность сигнала в полосе частот 4-32 кГц должна быть незначительной. Для передачи высококачественного аудиосигнала голосовые (речевые) каналы ВТ непригодны, однако сжатый сигнал (например, поток МРЗ) вполне можно передавать по асинхронному каналу передачи данных.
Асинхронный каналможет обеспечивать максимальную скорость 723,2 Кбит/с в асимметричной конфигурации (оставляя для обратного канала полосу 57,6 Кбит/с) или же 433,9 Кбит/с в каждую сторону в симметричной конфигурации.
Для обеспечения безопасности в ВТ применяется аутентификацияишифрование данныхна уровне связи (linklayer), которые, конечно же, могут дополняться и средствами верхних протокольных уровней.
Важной частью ВТ является протокол обнаружения сервисов SDP(ServiceDiscoveryProtocol), позволяющий устройству найти «интересного собеседника». В дальнейшем, установив с ним соединение, устройство сможет воспользоваться требуемыми сервисами (например, выводить документы на печать, подключиться к Сети и т. п.).
Протокол RFCOMMобеспечивает эмуляцию последовательного порта (9-провод-ногоRS-232) черезL2CAP. С его помощью традиционные кабельные соединения устройств (в том числе и нуль-модемные) могут быть легко заменены на радиосвязь, без каких-либо модификаций ПО верхних уровней. Протокол позволяет устанавливать и множественные связи (одного устройства с несколькими), и радиосвязь заменит громоздкие и дорогие мультиплексоры и кабели. Через протоколRFCOMMможет работать протокол ОВЕХ, используемый в инфракрасных беспроводных соединениях (в иерархии протоколовIrDA). ЧерезRFCOMMможет работать и протокол РРР, над которым стоят протоколы стекаTCP/IP, — это открывает дорогу во все приложения для Интернета. ЧерезRFCOMMработают и АТ-команды, управляющие телефонными соединениями и сервисами передачи факсов (эти же команды используются в модемах для коммутируемых линий).
Специальный бит-ориентированный телефонный протоколTCSBIN(TelephonyControlprotocol—Binary), определяющий сигнализацию вызова для связи устройств ВТ (речевой связи и обмена данными), тоже работает через L2CAP. В протоколе имеются и средства управления группами устройств TCS.Интерфейс хост-контроллера HCI(HostControllerInterface) — это единообразный метод доступа к аппаратно-программным средствам нижних уровнбй ВТ. Он предоставляет набор команд для управления радиосвязью, получения информации о состоянии и собственно передачи данных. Через этот интерфейс происходит взаимодействие протоколаL2CAPс аппаратурой ВТ. Физически аппаратура ВТ может подключаться к различным интерфейсам: шине расширения (например,PCCard), шинеUSB, СОМ-порту. Для каждого из этих подключений имеется соответствующий протокол транспортного уровняHCI— прослойка, обеспечивающая независимость HCI от способа подключения. Последовательные шины USB иFireWire
Последовательные шины позволяют объединять множество устройств, используя всего 1-2 пары проводов. Функциональные возможности этих шин гораздо шире, чем у традиционных интерфейсов локальных сетей, — USBиFireWireспособны передавать изохронный трафик аудио- и видеоданных. Последовательные шины по своей организации сильно отличаются от параллельных. В последовательных шинах нет отдельных линий для данных, адреса и управления — все протокольные функции приходится выполнять, пользуясь одной или двумя (в FireWire) парами сигнальных проводов. Это накладывает отпечаток на построение шинного протокола, который в последовательных шинах строится на основе пересылокпакетов —определенным образом организованных цепочек бит. Заметим, что в терминологии USB пакеты и кадры имеют несколько иную трактовку, нежели в сетях передачи данных. В параллельных шинах имеются возможности явной синхронизации интерфейсной части ведущих и ведомых устройств; исполнение каждого шага протокола обмена может быть подтверждено, и, при необходимости, некоторые фазы обмена могут продлеваться по «просьбе» не успевающего устройства. В последовательных шинах такой возможности нет — пакет пересылается целиком, а синхронизация возможна только по принимаемому потоку бит. Эти и другие особенности сближают последовательные шины с локальными сетями передачи данных.
Наибольшую популярность имеют шины USB и FireWire, хотя последняя пока что в PC-совместимых компьютерах используется не повсеместно. Последовательные шиныFireWireи USB, имея общие черты, являются, тем не менее, существенно различными технологиями. Обе шины обеспечивают простое подключение большого числа ПУ (127 для USB и 63 дляFireWire), допуская коммутации и включение/выключение устройств при работающей системе. По структуре топология обеих шин достаточно близка, но FireWire допускает большую свободу и пространственную протяженность. Хабы USB входят в состав многих устройств и для пользователя их присутствие зачастую незаметно. Обе шины имеют линии питания устройств, но допустимая мощность дляFireWireзначительно выше. Обе шины поддерживают технологию РпР (автоматическое конфигурирование при включении/выключении) и снимают проблему дефицита адресов, каналовDMAи прерываний. Различаются пропускная способность и управление шинами.Шина USBориентирована на периферийные устройства, подключаемые кPC. Изохронные передачи USB позволяют передавать цифровые аудиосигналы, а шина USB 2.0 способна нести и видеоданные. Все передачи управляются централизованно, иPCявляется необходимым управляющим узлом, находящимся в корне древовидной структуры шины. Адаптер USB пользователи современных ПК получают почти бесплатно, поскольку он входит в состав всех современных чипсе-тов системных плат. Правда, адаптеры USB 2.0 первое время будут выпускаться в виде картPCI. Непосредственное соединение несколькихPCшиной USB не предусматривается, хотя выпускаются «активные кабели» для связи пары компьютеров и устройства-концентраторы.
Шина FireWireориентирована на устройства бытовой электроники, которые с ее помощью могут быть объединены в единую домашнюю сеть. К этой сети может быть подключен компьютер, и даже не один. Принципиальным преимуществом шины 1394 является отсутствие необходимости в специальном контроллере шины ' (компьютере). Любое передающее устройство может получить полосу изохронного графика и начинать передачу по сигналу автономного или дистанционного управления — приемники «услышат» эту информацию. При наличии контроллера соответствующее ПО может управлять работой устройств, реализуя, например, цифровую студию нелинейного видеомонтажа или снабжая требуемыми мульти-медийными данными всех заинтересованных потребителей информации.