Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

INTERFACES

.pdf
Скачиваний:
18
Добавлен:
27.05.2015
Размер:
1.32 Mб
Скачать

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

15. Интерфейс RS-232.

Начиная с первых

моделей,

в PC имелся последовательный интерфейс

­ СОМ-

порт (Communications

Port —

коммуникационный порт).

Этот

порт обеспечива­

ет асинхронный обмен

по стандарту RS-232C.

Синхронный обмен

в PC

поддерживают

лишь

специальные адаптеры, например

SDLC или

V.35. СОМ­порты реализуются на микросхемах

универсальных

асинхронных

приемопередатчиков (UART), совместимых

с

семейством i8250/16450/16550. Они занимают в пространстве ввода­вывода по 8 смежных 8­ битных регистров и могут располагаться по стандартным базовым адресам 3F8h (COM1), 2F8h (COM2), 3E8h (COM3), 2E8h (COM4). Порты могут вырабатывать аппаратные прерывания IRQ4 (обычно используются для СОМ1 и COM3) и IRQ3 (для COM2 и COM4). С внешней стороны порты имеют линии последовательных данных передачи и приема, а также набор сигналов управления и состояния, соответствующий стандарту RS­232C. СОМ­порты имеют внешние разъемывилки (male — «папа») DB25P или DB9P, выведенные на заднюю панель компьютера. Характерной особенностью интерфейса является применение не ТТЛ­сигналов — все внешние сигналы порта двуполярные.

Компьютер может иметь до четырех последовательных портов СОМ1­СОМ4 (для машин класса AT типично наличие двух портов) с поддержкой на уровне BIOS. Сервис BIOS Int 14h обеспечивает инициализацию порта, ввод и вывод символа (без прерываний) и опрос состояния. Через Int 14h скорость передачи программируется в диапазоне 110­9600 бит/с (меньше, чем реальные возмож­ ности порта). Для повышения производительности широко используется взаимодействие программ с портом на уровне регистров Название порта указывает на его основное назначение — подключение коммуникационного оборудования (например, модема) для связи с другими компьютерами, сетями и периферийными устройствами. К порту могут непосредственно подключаться и периферийные устройства с последовательным интерфейсом: принтеры, плоттеры, терминалы и др. СОМ­порт широко используется для подключения мыши, а также организации непосредственной связи двух компьютеров. К СОМ­порту подключают и электронные ключи. Практически все современные системные платы имеют встроенные адаптеры двух СОМ­портов. Один из портов может использоваться и для беспроводной инфракрасной связи с перифе­ рийными устройствами (IrDA). «Классический» СОМ­порт позволял осуществлять обмен данными только программно­управляемым способом, при этом для пересылки каждого байта процессору приходится выполнять несколько инструкций. Современные порты имеют FIFO­буферы данных и позволяют выполнять обмен по каналу DMA, существенно разгружая центральный процессор, что особенно важно на больших скоростях обмена. В спецификации РС`99 традиционные СОМ­порты не рекомендованы, но еще разрешены для использования. Если они есть, то должны быть совместимыми с UART 16550A и обеспечивать скорость до 115,2 Кбит/с. Устройства, которые традиционно используют СОМ­порт, рекомендуется переводить на последовательные шины USB и Fire Wire.

16. Асинхронный режим передачи данных.

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

устройства, с которого человек вводит данные для обработки их компьютером. В асинхронном режиме каждый байт данных сопровождается специальными сигналами "старт" и "стоп" (рис.2). Назначение этих сигналов состоит в том, чтобы, во­первых, известить приемник о приходе данных и, во­вторых, чтобы дать приемнику достаточно времени для выполнения некоторых функций, связанных с синхронизацией, до поступления следующего байта. Сигнал "старт" имеет продолжительность в один тактовый интервал, а сигнал "стоп" может длиться один, полтора или два такта.

Рис.2

Асинхронным описанный режим называется потому, что каждый принятый байт может быть смещен во времени относительно переданного байта на случайный промежуток времени. Это резко снижает требования к характеристикам системы передачи. В то же время, такая асинхронность передачи не влияет на корректность принимаемых данных, так как в начале каждого байта происходит дополнительная синхронизация приемника с источником за счет битов "старт". Более "свободные" временные допуски определяют низкую стоимость оборудования асинхронной системы.

17. Конфигурирование и использование COM-портов.

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

конфигурируется

через

CMOS

Setup.

Параметры

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

перечислены

ниже.

1. Базовый адрес, который для портов СОМ 1­COM4 обычно имеет значение 3F8h, 2F8h, 3E8h и 2E8h. При инициализации BIOS проверяет наличие портов по адресам именно в этом порядке и присваивает обнаруженным портам логические имена СОМ1, COM2, COM3 и COM4. Для портов COM3 и COM4 возможны альтернативные адреса 3EOh, 338h и 2EOh, 238h соответственно. Для PS/2 стандартными для портов СОМЗ­СОМ8 являются адреса 3220h, 3228h, 4220h, 4228h, 5220h и 5228h соответственно. 2. Линия запроса прерывания. Для СОМ1 и COM3 обычно используется линия IRQ4 или IRQ11, для COM2 и COM4 — IRQ3 или IRQ10. В принципе номер прерывания можно назначать в произвольных сочетаниях с базовым адресом (номером порта), но некоторые программы и драйвера (например, драйвера последовательной мыши) настроены на стандартные сочетания. Каждому порту, нуждающемуся в аппаратном прерывании, назначают отдельную линию, не совпадающую с линиями запроса прерываний других устройств. Прерывания необходимы для портов, к которым подключаются устройства ввода, UPS или модемы. При подключении принтера или плоттера прерываниями пользуются только многозадачные ОС (не всегда), и этот дефицитный ресурс PC можно сэкономить. Также прерываниями обычно не пользуются при связи двух компьютеров нуль­модемным кабелем. Возможность разделения одной линии запроса несколькими портами (или портом и другими устройствами) зависит от реализации аппаратного подключения и ПО. При использовании портов, установленных на шину ISA, разделяемые прерывания обычно не работают. 3. Канал DMA (для UART 16450/16550, расположенных на системной плате) — разрешение использования и номер канала DMA. Режим DMA при работе с СОМ­портами задействуют редко. Режим работы порта по умолчанию может изменяться в любой момент при настройке коммуникационных программ или командой DOS MODE COMx: с указанием параметров. Возмож­

ны два варианта синтаксиса — короткий и длинный. Обязательные элементы выделены прописными буквами, хотя их можно набирать и строчными. В квадратные скобки заключены необязательные элементы (скобки в команде не набирают).

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

18.Стандарт IEEE 1284 при использовании параллельного порта.

Стандарт на параллельный интерфейс IEEE 1284, принятый в 1994 году, определяет порты SPP,

ЕРР и ЕСР. Стандарт определяет 5 режимов

обмена данными, метод согласования режима,

физический и электрический интерфейсы. Согласно IEEE 1284, возможны следующие режимы

обмена

данными

 

через

параллельный

 

порт:

1.Режим

совместимости

(Compatibility

Mode)

- однонаправленный (вывод)

по

протоколу Centronics. Этот

режим

соответствует

стандартному

порту

SPP.

2.Полубайтный режим (Nibble Mode) - ввод байта в два цикла (по 4 бита), используя для приема линии состояния. Этот режим обмена может использоваться на любых адаптерах. 3.Байтный режим (Byte Mode) - ввод байта целиком, используя для приема линии данных. Этот режим работает только на портах, допускающих чтение выходных данных (Bi-Directional илиPS/2

Type

1).

4.Режим ЕРР (Enhanced Parallel Port) (EPP

Mode) - двунаправленный обмен данными.

Управляющие сигналы интерфейса генерируются аппаратно во время цикла обращения к порту.

Эффективен

при

 

работе

с

устройства­

ми

внешней

памяти

и

адаптерами

локальных

сетей.

5.Режим

ЕСР (Extended

Capability

Port) (ECP

Mode) - двунаправленный обмен

данными с

возможностью аппаратного сжатия данных по методу RLE (Run Length Encoding) и использования FIFO­буферов и DMA. Управляющие сигналы интерфейса генерируются аппаратно. Эффективен для принтеров и сканеров.

19. COM порт в режиме PNP

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

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

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

(Idle).

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

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

и RTS=1.

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

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

и RTS=1).

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

7.В дежурном состоянии Connect Idle устанавливается DTR=1, RTS=0, порт программируется на режим 300 бит/с, 7 бит данных, без паритета, 1 стоп­бит. Если в этом состоянии

обнаружится DSR=0, ОС следует уведомить об отключении устройства.

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

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

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

20. rs-485

RS-485 (англ. Recommended Standard 485), EIA-485 (англ. Electronic Industries Alliance-485)

стандарт физического уровнядля асинхронного интерфейса. Регламентирует электрические параметры полудуплексной многоточечной дифференциальной линии связи типа «общая шина». Стандарт приобрел большую популярность и стал основой для создания целого семейства промышленных сетей широко используемых в промышленной автоматизации. Свойства интерфейса стандарта RS­485.

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

2.Симметричный канал связи. Для приёма/передачи данных используются два равнозначных сигнальных провода. Провода означаются латинскими буквами "А" и "В". По этим двум проводам идет последовательный обмен данными в обоих направлениях (поочередно). При использовании витой пары симметричный канал существенно повышает устойчивость сигнала к синфазной помехе и хорошо подавляет электромагнитные излучения создаваемые полезным сигналом.

3.Дифференциальный (балансный способ передачи данных). При этом способе передачи данных на выходе приёмопередатчика изменяется разность потенциалов, при передаче "1" разность потенциалов между AB положительная при передаче "0" разность потенциалов между

AB отрицательная. То есть, ток между контактами А и В, при передачи "0" и "1", течёт (балансирует) в противоположных направлениях.

4.Многоточечность. Допускает множественное подключение приёмников и приёмопередатчиков к одной линии связи. При этом допускается подключение к линии только одного передатчика в данный момент времени, и множество приёмников, остальные передатчики должны ожидать освобождения линии связи для передачи данных.

5.Низкоимпендансный выход передатчика. Буферный усилитель передатчика имеет низкоомный выход, что позволяет передавать сигнал ко многим приёмникам. Стандартная нагрузочная способность передатчика равна 32­м приёмникам на один передатчик. Кроме этого, токовый сигнал используется для работы "витой пары" (чем больше рабочий ток "витой пары", тем сильнее она подавляется синфазные помехи на линии связи).

6.Зона нечувствительности. Если дифференциальный уровень сигнала между контактами АВ не превышает ±200мВ, то считается, что сигнал в линии отсутствует. Это увеличивает помехоустойчивость передачи данных.

Технические характеристики RS­485.

Допустимое число приёмопередатчиков (драйверов) 32

Максимальная длина линии связи 1200 м (4000ft)

Максимальная скорость передачи 10 Мбит/с

Минимальный выходной сигнал драйвера ±1,5 В

Максимальный выходной сигнал драйвера ±5 В

Максимальный ток короткого замыкания драйвера 250 мА

Выходное сопротивление драйвера 54 Ом

Входное сопротивление драйвера 12 кОм

Допустимое суммарное входное сопротивление 375 Ом

Диапазон нечувствительности к сигналу ±200 мВ

Уровень логической единицы (Uab) >+200 мВ

Уровень логического нуля (Uab) <­200 мВ

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

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

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

1)Инфракрасный интерфейс IrDA

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

Различают инфракрасные системы низкой (до 115,2 Кбит/с), средней (1,152 Мбит/с) и высокой (4 Мбит/с) скорости.

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

К недостаткам беспроводных радиосистем следует отнести более высокую стоимость и значительно более высокий уровень энергопотребления (по сравнению с аналогичными решениями на базе ИК­технологии).

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

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

3)Bluetooth ­ стандартизованный радиоинтерфейс для локального подключения периферийных устройств. От частных радиорешений Bluetooth отличается значительно большей гибкостью и универсальностью. Так, один адаптер Bluetooth (по крайней мере, теоретически) позволяет осуществлять беспроводное подключение до 127 устройств, находящихся в радиусе до 10 м. Имея всего один беспроводной адаптер, к компьютеру можно одновременно подключать беспроводные устройства различных производителей. Приемопередатчики Bluetooth работают в частотном диапазоне 2,2…2,4 ГГц, что позволяет обеспечить низкий уровень энергопотребления, а это особенно важно для мобильных устройств.

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

Встроенные адаптеры Bluetooth все чаще можно встретить в современных моделях мобильных телефонов, КПК и ноутбуков. Выпускается и широкий ассортимент съемных Bluetooth­адаптеров, выполненных в конструктивах PC Card, CompactFlash, SDIO, в виде USB­брелоков и т.д. Встречаются даже такие экзотические варианты, как, например, Bluetooth­адаптер, подключаемый к 9­ контактному разъему последовательного порта RS­232C.

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

Спецификация периферийной шины USB была разработана лидерами компьютерной и телекоммуникационной промышленности (Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom) для подключения компьютерной периферии вне корпуса ПК с автоматическим автоконфигурированием (Plug&Play). Первая версия стандарта появилась в 1996 г. Агрессивная политика Intel по внедрению этого интерфейса стимулирует постепенное исчезновение таких низкоскоростных интерфейсов, как RS 232C, Access.bus и т.п. Однако для высокоскоростных устройств с более строгими требованиями к производительности (например, доступ к удаленному накопителю или передача оцифрованного видео) конкурентом USB является интерфейс IEEE 1394. Интерфейс USB представляет собой последовательную, полудуплексную, двунаправленную шину со скоростью обмена:

USB 1.1 ­ 1,5 Мбит/с или 12 Мбит/с;

USB 2.0 ­ 480 Мбит/с.

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

Кабельная разводка USB начинается с узла (host) (рис. 15.3). Хост обладает интегрированным корневым концентратором (root hub), который предоставляет несколько разъемов USB для подключения внешних устройств. Затем кабели идут к другим устройствам USB, которые также могут быть концентраторами, и функциональным компонентам (например, модем или акустическая система). Концентраторы часто встраиваются в мониторы и клавиатуры (которые

являются типичными составными устройствами). Концентраторы могут содержать до семи "исходящих" портов.

Рис. 15.3. Топология подключения устройств к USB Интерфейс USB 1.1 декларирует два режима:

низкоскоростной подканал (пропускная способность ­ 1,5 Мбит/с), предназначенный для таких устройств, как мыши и клавиатуры;

высокопроизводительный канал, обеспечивающий максимальную пропускную способность 12 Мбит/с, что может использоваться для подключения внешних накопителей или устройств обработки и передачи аудио­ и видеоинформации.

Все концентраторы должны поддерживать на своих исходящих портах устройства обоих типов, не позволяя высокоскоростному трафику достигать низкоскоростных устройств. Высокопроизводительные устройства подключаются с помощью экранированного кабеля, длина которого не должна превышать 3 м. Если же устройство не формулирует особых требований к полосе пропускания, его можно подключить и неэкранированным кабелем (который может быть более тонким и гибким). Максимальная длина кабеля для низкоскоростных устройств ­ 5 м. Требования устройства к питанию (диаметр проводников, потребляемая мощность) могут обусловить необходимость использования кабеля меньшей длины. Из­за особенностей распространения сигнала по кабелю число последовательно соединенных концентраторов ограничено шестью (и семью пятиметровыми отрезками кабеля).

Хост узнает о подключении или отключении устройства из сообщения от концентратора (эта процедура называется опросом шины ­ bus enumeration). Затем хост присваивает устройству уникальный адрес USB (1:127). После отключения устройства от шины USB его адрес становится доступным для других устройств.

Для индивидуального обращения к конкретным функциональным возможностям составного устройства применяется 4­битное поле конечной точки. В низкоскоростных устройствах за каждой функцией закрепляется не более двух адресов конечных точек: нулевая конечная точка используется для конфигурации и определения состояния USB, а также управления функциональным компонентом; а другая точка ­ в соответствии с функциональными возможностями компонента. Устройства с максимальной производительностью могут поддерживать до 16 конечных точек, резервируя нулевую точку для задач конфигурации и управления USB.

Хост опрашивает все устройства и выдает им разрешения на передачу данных (рассылая для этого пакет­маркер ­ Token Packet). Таким образом, устройства лишены возможности непосредственного обмена данными ­ все данные проходят через хост. Это условие сильно мешало внедрению интерфейса USB на рынок портативных устройств. В результате в конце 2001 года было принято дополнение к стандарту USB 2.0 ­ спецификация USB OTG (On­The­Go), предназначенная для соединения периферийных USB­устройств друг с другом без необходимости подключения к хосту (например, цифровая камера и фотопринтер). Устройство, поддерживающее USB OTG, способно частично выполнять функции хоста и распознавать, когда оно подключено к полноценному хосту (на основе ПК), а когда ­ к другому периферийному устройству. Спецификация описывает также протокол согласования выбора роли хоста при соединении двух USB OTG­устройств.

23.Модель передачи данных (Передача данных).

Интерфейс USB предоставляет разработчику множество возможностей, избавляя его от самостоятельной реализации байтовых протоколов обмена, подсчета контрольных сумм и других забот, необходимых для надежной связи с устройствами.

Механизм передачи данных является асинхронным и блочным. Блок передаваемых данных называется USB­фреймом или USB­кадром и передается за фиксированный временной интервал. Оперирование командами и блоками данных реализуется при помощи логической абстракции, называемой каналом. Внешнее устройство также делится на логические абстракции, называемые конечными точками. Таким образом, канал является логической связкой между хост­ контроллером и конечной точкой внешнего устройства. Канал можно сравнить с открытым файлом.

Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений. Информация по каналу передается в виде пакетов (Packet). Каждый пакет начинается с поля синхронизации SYNC (SYNChronization), за которым следует идентификатор пакета PID (Packet IDentifier). Поле Check представляет собой побитовую инверсию PID.

Систему USB следует разделить на три логических уровня с определенными правилами взаимодействия. Устройство USB содержит интерфейсную, логическую и функциональную части. Хост тоже делится на три части ­ интерфейсную, системную и программное обеспечение. Каждая часть отвечает только за определенный круг задач. Логическое и реальное взаимодействие между ними показано на рисунке.

Таким образом, операция обмена данными между прикладной программой и шиной USВ выполняется путем передачи буферов памяти через следующие уровни.

Уровень клиентского ПО в хосте:

обычно представляется драйвером устройства USB;

обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой.

Уровень системного обеспечения USB в хосте (USBD, Universal Serial Bus Driver):

управляет нумерацией устройств на шине;

управляет распределением пропускной способности шины и мощности питания;

обрабатывает запросы пользовательских драйверов.

Хост­контроллер интерфейса шины USB (HCD, Host Controller Driver):

преобразует запросы ввода/вывода в структуры данных, по которым хост­контроллер выполняет физические транзакции;

работает с регистрами хост­контроллера.

Уровень клиентского программного обеспечения определяет тип передачи данных, необходимый для выполнения затребованной прикладной программой операции. После определения типа передачи данных этот уровень передает системному уровню следующее:

буфер памяти, называемый клиентским буфером;

пакет запроса на в/в (IRP, Input/output Request Packet), указывающий тип необходимой операции.

IRP содержит только сведения о запросе (адрес и длина буфера в оперативной памяти). Непосредственно обработкой запроса занимается системный драйвер USB.

Уровень системного драйвера USB необходим для управления ресурсами USB. Он отвечает за выполнение следующих действий:

распределение полосы пропускания шины USB;

назначение логических адресов устройств каждому физическому USB­устройству;

планирование транзакций.

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

Клиентское ПО посылает IPR­запросы уровню USBD.

Драйвер USBD разбивает запросы на транзакции по следующим правилам:

выполнение запроса считается законченным, когда успешно завершены все транзакции, его составляющие;

все подробности отработки транзакций (такие как ожидание готовности, повтор транзакции при ошибке, неготовность приемника и т. д.) до клиентского ПО не доводятся;

ПО может только запустить запрос и ожидать или выполнения запроса или выхода по тайм­ауту;

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

Драйвер контроллера хоста принимает от системного драйвера шины перечень транзакций и выполняет следующие действия:

планирует исполнение полученных транзакций, добавляя их к списку транзакций;

извлекает из списка очередную транзакцию и передает ее уровню хост­контроллера интерфейса шины USB;

отслеживает состояние каждой транзакции вплоть до ее завершения.

Хост­контроллер интерфейса шины USB формирует кадры.

Кадры передаются последовательной передачей бит по методу NRZI.

Таким образом, можно сформировать следующую упрощенную схему:

каждый кадр состоит из наиболее приоритетных посылок, состав которых формирует драйвер хоста;

каждая передача состоит из одной или нескольких транзакций;

каждая транзакция состоит из пакетов;

каждый пакет состоит из идентификатора пакета, данных (если они есть) и контрольной

суммы.

24. Протокол передачи (Транзакции)

Все обмены (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе хост­контроллера, который посылает маркер­пакет (т. е. пакет типа token). Он описывает тип и направление передачи, адрес устройства USB и номер конечной точки.

В каждой транзакции возможен обмен только между устройством (его конечной точкой) и хостом. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных, определенный маркером, передает пакет данных или уведомление об отсутствии данных, предназначенных для передачи. После успешного приема пакета приемник данных посылает пакет подтверждения (т.е. пакет типа Handshake).

Где А ­ передача данных от хоста, Б ­ передача данных хосту.

Периферийное устройство не может выдавать на шину какую­либо информацию по собственной инициативе и не может самостоятельно посылать запросы прерываний.

Спецификация USB определяет следующие типы транзакций.

Передача команды:

хост посылает маркер SETUP, содержащий номер функции и номер конечной точки, для которой предназначена команда;

хост посылает выбранной конечной точке пакет данных со сброшенным битом синхронизации (т. е. пакет типа Data0), содержащий 8­байтный код команды;

функция посылает хосту пакет подтверждения.

Изохронная передача данных:

хост посылает маркер OUT, содержащий номер функции и номер конечной точки, для которой предназначены данные;

хост посылает выбранной конечной точке пакет данных со сброшенным битом синхронизации (т. е. пакет типа Data0).

Передача данных с подтверждением:

хост посылает маркер OUT, содержащий номер функции и номер конечной точки, для которой предназначены данные;

хост посылает выбранной конечной точке пакет данных;

функция посылает хосту пакет подтверждения.

Изохронный прием данных:

хост посылает маркер IN, содержащий номер функции и номер конечной точки, от которой запрашиваются данные;

выбранная конечная точка передает хосту пакет данных со сброшенным битом синхронизации (т. е. пакет типа Data0).

Прием данных с подтверждением:

хост посылает маркер IN, содержащий номер функции и номер конечной точки, от которой запрашиваются данные;

выбранная конечная точка передает хосту пакет данных или пакет подтверждения (NAK ­ данные не готовы, STALL ­ сбой);

если хост получил пакет данных, он посылает пакет подтверждения.

25.Типы передачи данных.

Спецификация шины определяет четыре различных типа передачи (transfer type) данных для конечных точек.

Управляющие передачи (Control Transfers) ­ используются хостом для конфигурирования устройства во время подключения, для управления устройством и получения статусной информации в процессе работы. Протокол обеспечивает гарантированную доставку таких посылок. Длина поля данных управляющей посылки не может превышать 64 байт на полной скорости и 8 байт на низкой. Для таких посылок хост гарантированно выделяет 10% полосы пропускания.

Передачи массивов данных (Bulk Data Transfers) ­ применяются при необходимости обеспечения гарантированной доставки данных от хоста к функции или от функции к хосту, но время доставки не ограничено. Taкая передача занимает всю доступную полосу пропускания шины. Пакеты имеют поле данных размером 8, 16, 32 или 64 байт. Приоритет у таких передач самый низкий, они могут

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]