Смекни!
smekni.com

USB-порт. Flash-Память (стр. 3 из 5)

·                   Снабжениеподключенных устройств электропитанием

Аппаратнойчастью является хост контроллер - посредник между хостом и устройствами нашине.

Программныефункции (перечисление устройств и их кон

фигурирование, управлениеэнергопотреблением, процессами передачи, устройствами на шине и самой шиной)возложены на операционную систему. Первой популярной операционной системой, вкоторой поддержка USB реализована была в полном объеме стала Windows 98 SecondEdition. Некоторые устройства могут быть работоспособными и под более раннимиверсиями (98 без SE, и изредка 95), но далеко не все и не всегда.

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


Хабдолжен следить за подключением и отключением устройств, уведомляя хост обизменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можновыделить 3 функциональных блока: контроллер, повторитель, транслятортранзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель вUSB несколько отличается от принятого в сетях передачи данных. Его обязанность- соединять входной и какой-то нужный из выходных портов. Транслятор транзакцийпоявился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости спредыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальнуюскорость соед

инения с хостом. Подключенное к высокоскоростному (USB2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную частьвремени, а следовательно и полезной пропускной способности шины, ведя обмен схостом на низкой скорости (почему так происходит мы выясним позже прирассмотрении механизма обмена данными хост-устройство). Как метод борьбытранслятор транзакций буферизирует поступающий с медленного порта кадр, а затемна максимальной скорости передает его хосту, или же буферизирует получаемый намаксимальной скорости кадр от хоста, передавая его затем устройству на меньшей,приемлемой для него скорости. Помимо разветвления и трансляции транзакций хабдолжен осуществлять конфигурирование портов и слежение за корректнымфункционированием подключенных к ним устройств. Нужно сказать также, что прииспользовании старых и новых концентраторов вместе возможно созданиенеоптимальных с точки зрения производительности конфигураций. Для того что быизбежать создания узких мест в своей цепи, подключайте низкоскоростныеустройства к низкоскоростным хабам, которые в свою очередь делайте последнимиуровнями ветвления и не подключайте их в середину высокоскоростной цепочки.

Функциональноеустройство. С точкизрения USB, устройство - это набор конечных точек с которыми возможен обменданными. Число и функции точек зависят от устройства и выполняемых им функций,и определяются при производстве. В обязательном порядке присутствует точка сномером 0 - для контроля состояния устройства и управления им. До осуществленияконфигурирования устройства через точку 0 остальные каналы не доступны. Каждаяконечная точка устройства описывается следующими параметрами:

·                   Частотойобращения к шине и требованиями к задержкам

·                   Необходимойполосой пропускания

·                   Номером конечно

йточки

·                   Требованиями кобработке ошибок

·                   Максимальнымразмером кадра который может быть принят или послан.

·                   Типомподдерживаемой передачи данных

·                   Направлениемосуществления передачи между конечной точной и хостом.

Длянизкоскоростных (low-speed) устройств возможно существование до двухдополнительных точек; для full-speed устройств их число ограничивается лишьвозможностями протокола и может достигать 15-ти для ввода и 15-ти для вывода.

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

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

·                   Потоковыеканалы. Являютсяоднонаправленными. В отличие от четко определенных сообщений не имеютопределенного закрепленного в стандарте формата, что означает возможностьпередачи данных любого вида. Эти

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

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

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

·                   Групповаяпересылка.Используется для гарантированной передачи данных больших объемов безпредьявленных требований к скоростям и задержкам. Занимает под себя всюсвободную пропускную способность шины. В любой момент доступная полоса можетбыть урезана при необходимости осуществления передач других видов с болеевысоким приоритетом, или добавлена, при освобождении другими устройствами.Обычно такие передачи используется между принтерами, сканерами, накопителями идр.

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

Обменданными может осуществляться в трех скоростных режимах:

·                   Low Speed.Низкоскоростной режим. Ско

рость передачи составляет 1.5 Мбит/с.

·                   Full Speed.Полноскоростной режим. Скорость передачи 12 Мбит/с.

·                   High Speed.Высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480Мбит/с.

Информацияпо шине передается пакетами. Всего их определено 4 вида:

·                   Маркерныепакеты.

o       In - информируютUSB устройство, что хост хочет читать данные из устройства

o       Out -информирует USB устройство, что хост хочет передавать данные в устройство

o       Setup -используются для обозначения начала управляющего типа передачи данных

o       SOF -пакеты началакадра (Start of Frame Packets)

·                   Пакеты данных.

o       Существуют дватипа пакетов данных - DATA0, DATA1 , каждый из которых способен содержать до1024 байтов данных. У высокоскоростных устройств для пакетов данных определеныдва других PID-a: DATA2 и MDATA.

·                   Пакетыподтверждения.

o       ACK -подтверждение того, что пакет был успешно принят

o       NAK -информирует, что устройство в данный момент не может принимать либо отправлятьданные. А в Interrupt транзакциях сообщает хосту, что устройство не имеет новыхданных для передачи.

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