Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Назначение бит регистра IER.






^ Биты 7-4=0 — не используются.

«Бит 3 — Mod IE — по изменению состояния модема (лю­бой из линий CTS, DSR, Rl, DCD).

» Бит 2 — RxL IE — по обрыву/ошибке линии. * Бит 1 — TxD IE — по завершении передачи.

«Бит 0 — RxD IE — по приему символа (в режиме FIFO — прерывание по тайм-ауту).

//Я — регистр идентификации (только для чтения) прерыва­ний и признака режима FIFO. Для упрощения программного анализа UART выстраивает внутренние запросы прерывания по четырехуровневой системе приоритетов. Порядок приори­тетов (по убыванию): состояние линии, прием символа, осво­бождение регистра передатчика, состояние модема. При воз­никновении условий прерывания UART указывает на источник с высшим приоритетом до тех пор, пока он не будет сброшен соответствующей операцией. Только после этого будет выставлен запрос с указанием следующего источника.

Назначение бит регистра IIP:

» Биты [7: 6] — признак режима FIFO:

11 - режим FIFO 16550A,

10 - режим FIFO 16550,

00 —обычный.

» Биты [5: 4] — не используются. «Бит 3 — прерывание по тайм-ауту (не в режиме FIFO).

» Биты [2: 1] — причина прерывания с наивысшим приори­тетом (в обычном, не FIFO-режиме):

11 — ошибка/обрыв линии; сброс — чтением регистра со­стояния линии,


10 — принят символ; сброс — чтением данных, 01 — передан символ (регистр THR пуст); сброс — запи­сью данных,

00 — изменение состояния модема; сброс — чтением ре­гистра состояния модема.

s Бит 0 — признак необслуженного запроса прерывания:

1 — нет запроса, О — есть запрос.

Идентификация прерываний в режиме FIFO, IIR [3: 1]:

и Oil — ошибка/обрыв линии; сброс — чтением регистра состояния линии.

«010 — принят символ; сброс — чтением регистра данных приемника.

я 110 — индикатор тайм-аута (за 4-кратный интервал вре­мени символа не передано и не принято ни одного сим­вола, хотя в буфере имеется по крайней мере один). Сброс — чтением регистра данных приемника.

« 001 — регистр THR пуст; сброс — записью данных.

» 000 — изменение состояния модема (CTS, DSR, RI или DCD), сброс — чтением регистра MSR.

FCR — регистр управления FIFO (только для записи). Назначение бит регистра FCR:

s Биты [7: 6] — ITL (Interrupt Trigger Level) — уровень запол­нения FIFO-буфера, при котором вырабатывается пре­рывание:

00—1 байт (по умолчанию), 01 —4 байта,

10 -8байт,

11 — Мбайт.

«Биты [5: 4] зарезервированы. х Бит 3 — разрешение операций DMA.

» Бит 2 — RESETTFfReset Transmitter FIFO) — сброс счетчи­ка FIFO-передатчика (записью единицы; сдвигающий регистр не сбрасывается).» Бит 1 — RESETRFf Reset Receiver FIFO) — сброс счетчика FIFO-приемника (записью единицы; сдвигающий регистр не сбрасывается).

as Бит О —TRFIFOE(Transmit And Receive FIFO Enable) —раз­решение (единицей) режима FIFO для передатчика и приемника. При смене режима FIFO-буферы автомати­чески очищаются.

LCR — регистр управления линией (настройки параметров канала).

Назначения бит регистра LCR:

«• Бит 7 — DMB (Divisor Latch Access Bit) — управление до­ступом к делителю частоты.

«Бит 6 — BRCON(Break Control) — формирование обрыва линии (посылка нулей) при BRCON^i.

ж Бит 5 — STICPARfSticky Parity) — принудительное форми­рование бита паритета:

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

1 — постоянное значение контрольного бита: при EVENPAR=i — нулевое, при EVENPAR=0 — единичное.

» Бит 4 — EVENPARf Even Parity Select) — выбор типа конт­роля: 0 — нечетность, 1 — четность.

и Бит 3 — PAREN (Parity Enable) — разрешение контрольно­го бита:

1 — контрольный бит (паритет или постоянный) разре­шен,

О — запрещен.» Бит 2 — STOPS (Stop Bits) — количество стоп-бит:

0—1 стоп-бит,

1—2 стоп-бита (для 5-битного кода стоп-бит будет иметь длину 1, 5 бита).

я Биты [1: 0] — SERIALDB (Serial Data Bits) — количество бит данных:

00 -5 бит, 01 -6 бит, 10-7 бит, 11 -8 бит. MCR — регистр управления модемом. Назначение бит регистра MCR:

ж Биты [7: 5]=0 — зарезервированы.

» Бит 4 — LME(Loopback Mode Enable) — разрешение режи­ма диагностики:

О — нормальный режим, 1 — режим диагностики (см. ниже).

ж Бит 3 — IE(Interrupt Enable) — разрешение прерываний с помощью внешнего выхода OUT2; в режиме диагностики поступает на вход MSR. 7:

О — прерывания запрещены, 1 —разрешены.

я Бит 2 — OUT1 С (OUT1 Bit Control) —управление выходным сигналом 1 (не используется); в режиме диагностики по­ступает на вход MSR. 6.

» Бит 1 — RTSC (Request To Send Control) — управление выходом RTS; в режиме диагностики поступает на вход MSR.4:

1 — активен (-V), О — пассивен (+V).

я Бит 0 — DTRC(Data Terminal Ready Control) —управление выходом DTR; в режиме диагностики поступает на вход MSR.5:

1 — активен (-V), О — пассивен (+V).

LSR — регистр состояния линии (точнее, состояния приемо­передатчика).

Назначение бит регистра LSR:

s Бит 7 — FIFOEfFIFO Error Status) — ошибка принятых дан­ных в режиме FIFO (буфер содержит хотя бы один сим­вол, принятый с ошибкой формата, паритета или обры­вом). В ne-FIFO-режиме всегда 0.

» Бит 6 — TEMPT (Transmitter Empty Status) — регистр пере­датчика пуст (нет данных для передачи ни в сдвиговом регистре, ни в буферных, THR или FIFO). «Бит 5 —THRE (Transmitter Holding Register Empty) —регистр передатчика готов принять байт для передачи. В режиме FIFO указывает на отсутствие символов в FIFO-буфере передачи. Может являться источником прерывания.

«Бит 4 — 5D (Break Detected) — индикатор обрыва линии (вход приемника находится в состоянии 0 не менее, чем время посылки символа).

w. Бит 3 — FE(Framing Error) — ошибка кадра (неверный стоп-бит).

* Бит 2 — РЕ (Parity Error) — ошибка контрольного бита (па­ритета или фиксированного).

» Бит 1 — ОЕ(Overrun Error) — переполнение (потеря сим­вола). Если прием очередного символа начинается до того, как предыдущий был выгружен из сдвигающего регист­ра в буферный или FIFO, прежний символ в сдвигаю­щем регистре теряется.

» Бит 0 — DR(Receiver Data Ready) — принятые данные гото­вы (в DHR или FIFO-буфере). Сброс — чтением приемника.

Индикаторы ошибок — биты [4: 1] — сбрасываются после чте­ния регистра LSR. В режиме FIFO признаки ошибок хранят­ся в FIFO-буфере вместе с каждым символом. В регистре они устанавливаются (и вызывают прерывание) в тот момент, когда символ, принятый с ошибкой, находится на вершине FIFO (первый в очереди на считывание). В случае обрыва линии в FIFO заносится только один «обрывной» символ, и UART ждет восстановления и последующего старт-бита.

MSR — регистр состояния модема. Назначение бит регистра MSR:

ж Бит 7 — DCD(Data Carrier Detect) — состояние линии DCD.» Бит 6 — Rl(Ring Indicator) — состояние линии Rl.» Бит 5 — DSR(Data Set Ready) — состояние линии DSR. « Бит 4 — CTS(Clear To Send) — состояние линии CTS.

«Бит 3 — DDCD (Delta Data Carrier Detect) — изменение со­стояния DCD.

». Бит 2 — TERI (Trailing Edge OfRing Indicator) —спад огиба­ющей Rl (окончание звонка). Mi Бит 1 — DDSR(Delta Data Set Ready) — изменение состоя­ния DSR.

s Бит 0 — DCTS (Delta Clear To Send) — изменение состоя­ния CTS.

Признаки изменения (биты [3: 0]) сбрасываются по чтению регистра.

SCR — рабочий регистр (8 бит), на работу UART не влияет, предназначен для временного хранения данных (в 8250 от­сутствует).

В диагностическом режиме (при ШЕ=1) внутри UART орга­низуется внутренняя заглушка:

к Выход передатчика переводится в состояние логической 1. «Вход приемника отключается.

» Выход сдвигающего регистра передатчика логически со­единяется со входом приемника.

«Входы DSR, CTS, RI и DCD отключаются от входных линий и внутренне управляются битами DTRC, RTSC, OUT1C, 1Е.

«Выходы управления модемом переводятся в пассивное состояние (логический ноль).

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

2.5.3. Ресурсы и конфигурирование СОМ-портов

Компьютер может иметь до четырех последовательных пор­тов СОМ1-COM4 (для машин класса AT типично наличие двух портов). СОМ-порты имеют внешние разъемы-вилкм DB25P или DB9P, выведенные на заднюю панель компьюте­ра (назначение выводов приведено в табл. 2.1).

СОМ-порты реализуются на микросхемах UART, совмести­мых с семейством i8250. Они занимают в пространстве вво­да/вывода по 8 смежных 8-битных регистров и могут рас­полагаться по стандартным базовым адресам. Порты вырабатывают аппаратные прерывания. Возможность разде­ляемого использования одной линии запроса несколькими портами (или ее разделения с другими устройствами) зави­сит от реализации аппаратного подключения и ПО. При ис­пользовании портов, установленных на шину ISA, разделяе­мые прерывания обычно не работают.

Управление последовательным портом разделяется на два этапа — предварительное конфигурирование (Setup) аппарат­ных средств порта и текущее (оперативное) переключение режимов работы прикладным или системным ПО. Конфи­гурирование СОМ-порта зависит от его исполнения. Порт на плате расширения конфигурируется джамперами на са­мой плате. Порт на системной плате конфигурируется через BIOS Setup.

Конфигурированию подлежат следующие параметры:

» Базовый адрес, который может иметь значения 3F8h, 2F8h, 3E8h (3EOh, 338h) или 2E8h (2EOh, 238h). При инициа­лизации BIOS проверяет наличие портов по адресам именно в этом порядке и присваивает обнаруженным портам логические имена СОМ1, COM2, COM3 и COM4. Для PS/2 стандартными для портов СОМЗ-СОМ8 явля­ются адреса 3220h, 3228h, 4220h, 4228h, 5220h и 5228h соответственно.

ss Используемая линия запроса прерывания: для СОМ1 и COM3 обычно используется 1RQ4 или IRQ11, для COM2 и COM4 — IRQ3 или IRQ 10. В принципе номер прерыва­ния можно назначать в произвольных сочетаниях с ба­зовым адресом (номером порта), но некоторые програм­мы и драйверы (например, драйверы последовательной мыши) настроены на стандартные сочетания. Каждому порту, нуждающемуся в аппаратном прерывании, назна­чают отдельную линию, не совпадающую с линиями за­проса прерываний других устройств. Прерывания необ­ходимы для портов, к которым подключаются устройства ввода, UPS или модемы. При подключении принтера или плоттера прерываниями пользуются только многозадач­ные ОС (не всегда), и этот дефицитный ресурс PC мож­но сэкономить. Также прерываниями обычно не пользу­ются при связи двух компьютеров нуль-модемным ss Канал DMA (для UART 16450/16550, расположенных на системной плате) — разрешение использования и номер канала DMA. Режим DMA при работе с СОМ-портами используют редко.

Режим работы порта по умолчанию (2400 бит/с, 7 бит дан­ных, 1 стоп-бит и контроль четности), заданный при ини­циализации порта во время BIOS POST, может изменяться в любой момент при настройке коммуникационных программ или командой DOS MODE COMx: с указанием параметров.

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

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

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

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

Если BIOS обнаруживает меньше портов, чем установлено физически, вероятно, двум портам присвоен один адрес или установлен нестандартный адрес какого-либо порта. Пробле­мы могут возникать с адресами портов COM3 и COM4: не все версии BIOS будут искать порты по альтернативным адресам 3EOh, 338h, 2EOh и 238h; иногда не производится поиск по адресам 3E8h и 2E8h. Нумерация найденных пор­тов, отображаемая в заставке, может вводить в заблуждение:

если установлены два порта с адресами 3F8h и 3E8h, в за­ставке они могут называться СОМ1 и COM2, и по этим име­нам на них можно ссылаться. Однако те же порты в застав­ке могут называться и СОМ1 и COM3 (поскольку 3E8h является штатным адресом для COM3), но попытка сослать­ся на порт COM3 будет неудачной, поскольку в данном слу­чае адрес 3E8h будет находиться в ячейке 0: 402h B/OS Data Area, соответствующей порту COM2, а в ячейке порта COM3 (0: 404h) будет нуль — признак отсутствия такового порта. «Объяснить» системе, где какой порт, можно вручную лю­бым отладчиком, занеся правильные значения базовых ад­ресов в ячейки B/OS Data Area (это придется делать каждый раз после перезагрузки ОС перед использованием «потерян­ного» порта). Существуют тестовые утилиты, позволяющие находить порты (например, Port Finder).

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

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

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

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

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

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

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

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

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

в шлейф не подключен;

«шлейф подключен неправильно (разъем перевернут или вставлен со смещением);

^ раскладка шлейфа не соответствует разъему платы.

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

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

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

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

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

Питание от интерфейса, или Почему может не работать мышь

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

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

2.5.5. Функции BIOS для СОМ-портов

В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки B/OS Data Area 0: 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 с учетом совместимости с не-РпР-устройствами — невозмож­ность их вывода из строя и устойчивость системы к сообще­ниям, не являющимся РпР-идентификаторами. Например, обычная Microsoft Mouse при включении питания от интер­фейса ответит ASCII-символом «М» (трехкнопочная — стро­кой «МЗ»).

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

Беспроводные (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-A). Таким образом, в паузе между посылками передатчик не светит, а каждая посылка начинается с импульса старт-бита. В спецификации 1.1 предусмотрен и иной режим — IrDA SIR-B, с фиксированной длительностью импульса 1, 63 мкс для всех этих скоростей.

ASKIR — для скоростей 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 (в четверках символов «I» означает посылку импульса в соответствующей четверти двухбитового интервала). Такой способ кодиро­вания позволил вдвое снизить частоту включения светодиода по сравнению с предыдущим. Постоянство средней частоты принимаемых импульсов облегча­ет адаптацию к уровню внешней засветки. Для повышения достоверности при­меняется 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). Если контроллер поддерживает только один из режимов, один из контактов останется неподключенным.

Внешние ПК-адаптеры вьшускают с интерфейсом 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 Кбит/с в обоих направлениях. В канале может использоваться кодирование в формате РСМ (импульсно-кодовая модуляция) или CVSD (Continuous Variable Slope Delta Modulation — вариант адаптивной дельта импульсно-кодовой модуляции). Кодирование РСМ допускает компрессию по G.711; оно обеспечивает лишь сугубо «телефонное» качество сигна­ла (имеется в виду цифровая телефония, 8-битные выборки с частотой 8 Кбит/с). Кодер CVSD обеспечивает более высокое качество — он упаковывает входной РСМ-сигнал с частотой выборок 64 Кбит/с, однако и при этом спектральная плот­ность сигнала в полосе частот 4-32 кГц должна быть незначительной. Для пере­дачи высококачественного аудиосигнала голосовые (речевые) каналы ВТ непри­годны, однако сжатый сигнал (например, поток МРЗ) вполне можно передавать по асинхронному каналу передачи данных.

Асинхронный канал может обеспечивать максимальную скорость 723, 2 Кбит/с в асим­метричной конфигурации (оставляя для обратного канала полосу 57, 6 Кбит/с) или же 433, 9 Кбит/с в каждую сторону в симметричной конфигурации.

Для обеспечения безопасности в ВТ применяется аутентификация и шифрова­ние данных на уровне связи (link layer), которые, конечно же, могут дополняться и средствами верхних протокольных уровней.

Важной частью ВТ является протокол обнаружения сервисов SDP (Service Dis­covery Protocol), позволяющий устройству найти «интересного собеседника». В дальнейшем, установив с ним соединение, устройство сможет воспользоваться требуемыми сервисами (например, выводить документы на печать, подключить­ся к Сети и т. п.).

Протокол RFCOMM обеспечивает эмуляцию последовательного порта (9-провод-ного RS-232) через L2CAP. С его помощью традиционные кабельные соединения устройств (в том числе и нуль-модемные) могут быть легко заменены на радио­связь, без каких-либо модификаций ПО верхних уровней. Протокол позволяет устанавливать и множественные связи (одного устройства с несколькими), и ра­диосвязь заменит громоздкие и дорогие мультиплексоры и кабели. Через прото­кол RFCOMM может работать протокол ОВЕХ, используемый в инфракрасных беспроводных соединениях (в иерархии протоколов IrDA). Через RFCOMM мо­жет работать и протокол РРР, над которым стоят протоколы стека TCP/IP, — это открывает дорогу во все приложения для Интернета. Через RFCOMM работают и АТ-команды, управляющие телефонными соединениями и сервисами передачи факсов (эти же команды используются в модемах для коммутируемых линий).

Специальный бит-ориентированный телефонный протокол TCS BIN (Telephony Control protocol — Binary), определяющий сигнализацию вызова для связи устройств ВТ (речевой связи и обмена данными), тоже работает через L2CAP. В протоколе имеются и средства управления группами устройств TCS. Интерфейс хост-контроллера HCI (Host Controller Interface) — это единообраз­ный метод доступа к аппаратно-программным средствам нижних уровнбй ВТ. Он предоставляет набор команд для управления радиосвязью, получения информа­ции о состоянии и собственно передачи данных. Через этот интерфейс происхо­дит взаимодействие протокола L2CAP с аппаратурой ВТ. Физически аппаратура ВТ может подключаться к различным интерфейсам: шине расширения (например, PC Card), шине 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 является отсутствие необходимости в специальном контроллере шины ' (компьютере). Любое передающее устройство может получить полосу изохрон­ного графика и начинать передачу по сигналу автономного или дистанционного управления — приемники «услышат» эту информацию. При наличии контролле­ра соответствующее ПО может управлять работой устройств, реализуя, например, цифровую студию нелинейного видеомонтажа или снабжая требуемыми мульти-медийными данными всех заинтересованных потребителей информации.

4.1. Шина USB

USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Версия 1.0 была опубликована в начале 1996 года, большинство устройств поддерживает версию 1.1, которая вышла осенью 1998 года, — в ней были устранены обнаруженные проб­лемы первой редакции. Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40-кратное повышение пропускной способности шины. Первоначально (в версиях 1.0 и 1.1) шина обеспечивала две скорости передачи информации: полная скорость FS (full speed) — 12 Мбит/с и низкая скорость LS (Low Speed) — 1, 5 Мбит/с. В версии 2.0 определена еще и высокая скорость HS (High Speed) — 480 Мбит/с, которая позволяет существенно расширить круг устройств, подключаемых к шине. В одной и той же системе могут присутство­вать и одновременно работать устройства со всеми тремя скоростями. Шина с ис­пользованием промежуточных хабов позволяет соединять устройства, удаленные от компьютера на расстояние до 25 м. Подробную и оперативную информацию по USB (на английском языке) можно найти по адресу https://www.usb.org.

4.1.1. Организация шины USB

USB обеспечивает обмен данными между хост-компьютером и множеством пери­ферийных устройств (ПУ). Согласно спецификации USB, устройства (devices) могут являться хабами, функциями или их комбинацией. Устройство-дга^ (hub) только обеспечивает дополнительные точки подключения устройств к шине. Устройство-функция (function) USB предоставляет системе дополнительные функ­циональные возможности, например подключение к ISDN, цифровой джойстик, акустические колонки с цифровым интерфейсом и т. п. Комбинированное устрой­ство (compound device), содержащее несколько функций, представляется как хаб с подключенными к нему несколькими устройствами. Устройство USB должно иметь интерфейс USB, обеспечивающий полную поддержку протокола USB, вы­полнение стандартных операций (конфигурирование и сброс) и предоставление информации, описывающей устройство. Работой всей системы USB управляет хост-контроллер (host controller), являющийся программно-аппаратной подсис­темой ^осот-компьютера. Шина позволяет подключать, конфигурировать, исполь­зовать и отключать устройства во время работы хоста и самих устройств.

Шина USB является хост-центрической: единственным ведущим устройством, которое управляет обменом, является хост-компьютер, а все присоединенные к ней периферийные устройства — исключительно ведомые. Физическая топология шины USB — многоярусная звезда. Ее вершиной является хост-контроллер, объе­диненный с корневым хабом (root hub), как правило, двухпортовым. Хаб являет­ся устройством-разветвителем, он может являться и источником питания для подключенных к нему устройств. К каждому порту хаба может непосредственно подключаться периферийное устройство или промежуточный хаб; шина допус­кает до 5 уровней каскадирования хабов (не считая корневого). Поскольку ком­бинированные устройства внутри себя содержат хаб, их подключение к хабу 6-го яруса уже недопустимо. Каждый промежуточный хаб имеет несколько нисходящих (downstream) портов для подключения периферийных устройств (или нижележа­щих хабов) и один восходящий (upstream) порт для подключения к корневому хабу или нисходящему порту вышестоящего хаба. Логическая топология USB — про­сто звезда: для хост-контроллера хабы создают иллюзию непосредственного под­ключения каждого устройства. В отличие от шин расширения (ISA, PCI, PC Card), где программа взаимодействует с устройствами посредством обращений по фи­зическим адресам ячеек памяти, портов ввода-вывода, прерываниям и каналам DMA, взаимодействие приложений с устройствами USB выполняется только че­рез программный интерфейс. Этот интерфейс, обеспечивающий независимость обращений к устройствам, предоставляется системным ПО контроллера USB.

В отличие от громоздких дорогих шлейфов параллельных шин АТА и особенно шины SCSI с ее разнообразием разъемов и сложностью правил подключения, ка­бельное хозяйство USB простое и изящное. Кабель USB содержит одну экрани­рованную витую пару с импедансом 90 Ом для сигнальных цепей и одну неэкра­нированную для подачи питания (+5 В), допустимая длина сегмента — до 5 м. Для низкой скорости может использоваться невитой неэкранированный кабель дли­ной до 3 м (он дешевле). Система кабелей и коннекторов USB не дает возможно­сти ошибиться при подключении устройств (рис. 4.1, а и б). Для распознавания разъема USB на корпусе устройства ставится стандартное символическое обозна­чение (рис. 4.1, в). Гнезда типа «А» устанавливаются только на нисходящих пор­тах хабов, вилки типа «А» — на шнурах периферийных устройств или восходя- щих портов хабов. Гнезда и вилки типа «В» используются только для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мел­ких» устройств — мышей, клавиатур и т. п. кабели, как правило, не отсоединяются). Кроме стандартных разъемов, показанных на рисунке 4.1, применяются и мини-атюрные варианты (рис. 4.2, в, г, д). Хабы и устройства обеспечивают возможность «горячего» подключения и отключения. Для этого разъемы обеспечивают более раннее соединение и позднее отсоединение питающих цепей по отношению к сигнальным, кроме того, предусмотрен протокол сигнализации подключения и от­ключения устройств. Назначение выводов разъемов USB приведено в табл. 4.1, ну­мерация контактов показана на рис. 4.2. Все кабели USB «прямые» — в них соеди­няются одноименные цепи разъемов.

В шине используется дифференциальный способ передачи сигналов D+ и D- по двум проводам. Скорость устройства, подключенного к конкретному порту, опре­деляется хабом по уровням сигналов на линиях D+ и D-, смещаемых нагрузочны­ми резисторами приемопередатчиков: устройства с низкой скоростью «подтяги­вают» к высокому уровню линию D-, с полной — D+. Подключение устройства HS определяется на этапе обмена конфигурационной информацией — физически на первое время устройство HS должно подключаться как FS. Передача по двум про­водам в USB не ограничивается дифференциальными сигналами. Кроме дифферен­циального приемника, каждое устройство имеет линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально. Это позволяет различать более двух состояний линии, используемых для организации аппарат­ного интерфейса.

Введение высокой скорости (480 Мбит/с — всего в 2 раза медленнее, чем Gigabit Ethernet) требует тщательного согласования приемопередатчиков и линии связи. На этой скорости может работать только кабель с экранированной витой парой для сигнальных линий. Для высокой скорости аппаратура USB должна иметь допол­нительные специальные приемопередатчики. В отличие от формирователей потен­циала для режимов FS и LS, передатчики HS являются источниками тока, ориен­тированными на наличие резисторов-терминаторов на обеих сигнальных линиях.

Скорость передачи данных (LS, FS или HS) выбирается разработчиком перифе­рийного устройства в соответствии с потребностями этого устройства. Реализа­ция низких скоростей для устройства обходится несколько дешевле (приемо­передатчики проще, а кабель для LS может быть и неэкранированн






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.