Интерфейс USB


Категория на документа: Информатика


Фиг. 4

Хъбът има специална роля във високо-скоростната система. Изолира пълно/ниско скоростната среда от високо скоростната среда. Хъбът също така позволява при USB 1.1, да се включват и да работят ниско скоростни устройства на ниска скорост. Хост контролерът поддържа и директното включване на тези устройства.
Високоскоростният хъб в основата си добавя една или няколко ниско-скоростни шини. Това позволява, да се включат повече ниско-скоростни шини без необходимостта от хост контролер в системата. Въпреки че ниско скоростните шини разполагат с трансфер 12Mb/s, то към един хост контролер могат, да се свържат само 127 устройства.

Всяка функция, преди да бъде използвана, трябва да бъде конфигурирана от хоста.
Няколко "функции" могат да бъдат пакетирани в едно устройство. Например клавиатура (мишка и писалка) и монитор (колонки и микрофон) (фиг. 5 ). Вътре в пакета всяко устройство постоянно е свързано към вътрешен хъб, а хъбът към USB. Когато съществува хъб в такова устройство, то се превръща в сложно (съставно). Хъбът и всяко устройство свързано с него ( вътре в съставното устройство ) получава свой собствен адрес. Устройство, което разполага с няколко интерфейса ( управлявани независимо ) се възприема като сложно, но получава само един адрес.

Фиг. 5

Всяко USB устройство се състои от набор от независими крайни точки. Крайната точка е уникална част от USB устройството, която е крайна за комуникационния поток между хоста и устройството. По време на проектиране на устройството, на всяка крайна точка й се присъжда, идентификатор, наречен номер на крайна точка. Също така тя има и посока на потока от данни - от устройството към хоста или от хоста към устройството, и уникален адрес, назначен от хоста. Крайни точки, различни от тези с номер нула, се намират в неизвестно състояние и не могат да бъдат достъпвани от хоста преди да бъдат конфигурирани.

За нискоскоростните (low-speed) устройства е възможно съществуването на две допълнителни тoчки, които не са задължителни. За full-speed устройствата тяхното число се ограничава само до възможностите на протокола и може да достигне до петнадесет.

За конфигуриране и инициализация на устройството, USB изпозлва канал за управление.

Канали

На свой ред каналът е логическо съединение между крайна точка на устройството и хоста и осигурява възможността за предаване на данни межу хоста, буферната памет и крайната точка на устройството.

Канал, който се състои от две крайни точки с номер нула, се нарича канал за управление. Този канал е винаги на разположение щом веднъж устройстворо се свърже и се нулира. Другите канали стават активни, когато USB устройство се конфигурира.

Каналите биват два типа в зависимост от начина на предаване на информацията:
• Потоков канал - той винаги е еднопосочен. Потоковият канал предоставя данните в пакети, които се предават по канала в последователен ред - първи влязъл, първи излязъл (FIFO). Потковите канали се използват в isochronous, interrupt, bulk режими на предаване на данните.

• Канал за съобщения - той взаимодейства с крайната точка по различен начин от потоковите канали. Първо хостът изпраща заявка до USB устройството. Тази заявка е последвана от пренос на данни в подходящата посока. Каналът за съобщения налага структура на комуникационния поток, която позволява на команди да бъдат
надеждно идентифицирани. Каналът за съобщения позволява комуникация и в двете посоки.
Каналът за управление винаги е от тип канал за съобщения. Каналът за съобщения няма да изпрати следващото съобщение от хоста, докато обработката на настоящото съобщение не завърши. Все пак има и изключения, при които обменът на съобщения може да бъде прекъснат от хоста и каналът за съобщения да изпрати ново съобщение.
Режими на предаване на данни:
- Control Transfer - контрол на данни се използва от USB, за да конфигурира устройствата, когато те за първи път бъдат свързани. Трансферът се осъществява двупосочно по канала за предаване на съобщения. Предаването на данните е без загуби.
- Bulk Transfer - използва се за предаване на по-големи количества данни (принтери или скенери). Този трансфер е последователен, осигурява надежден обмен на данни. Също така, заеманата ширина на лентата за осъществяване на трансфера, може да се променя в зависимост от активностите на шината. Трансферът е еднопосочен и се осъществява по потоков канал.
- Interrupt Transfer - използва се за предаване на малки количества информация, които са организирани като един или няколко байта - въведени данни от клавиатурата или координатите на мишката. Трансферът е еднопосочен и се осъществява по потоков канал.
- Isochronous Transfer - използва се за потоково предаване на данни в реално време. Трансферът е еднопосочен и се осъществява по потоков канал. Предаване от този вид се използва за аудио и видео данни. В случай на откриване на грешки, повторно предаване не се осъществява. Потоците от данни се разпределят по специален начин върху честотната лента, за да се гарантира, че данните могат да бъдат доставени в желания размер. USB е проектиран за минимално забавяне на изохронния трансфер на данни.

USB разделя честотната лента на кадри, а хостът ги контролира. Кадрите са с капацитет 1 500 байта и всеки нов кадър стартира всяка милисекунда. По време на Isochronous Transfer и Interrupt Transfer те получават необходимия им канал с определена ширина. Bulk Transfer и Control Transfer използват остатъка от честотната лента.

Пакети данни
За предаване на данните се използват така наречените пакети. Те биват 4 вида.

• Token пакети:

> In - информира USB устройството, че хоста иска да чете данни от устройството.

> Оut - информира USB устройството, че хоста иска да предава данни в устройството.

> Sеtuр - използва се за обозначение на началото на
управляващия тип за предаване на данни.

>SOF - пакети на началото на кадъра (start оf frame packets).

• Data пакети:



Сподели линка с приятел:





Яндекс.Метрика
Интерфейс USB 9 out of 10 based on 2 ratings. 2 user reviews.