Специфікація USB
Звернете увагу, на те, що на п'ятому рівні комбінований пристрій використовуватися не може. Крім того окремо варто згадати про хосте, що є швидше програмно-апаратним комплексом, ніж просто пристроєм. Фізична топологія шини - зірка
Це пояснюється тим, що кожен концентратор забезпечує прозоро для хоста з'єднання з пристроєм.
А відносини клієнтського програмного забезпечення і USB пристроїв взагалі казка. На відміну від звичних старих інтерфейсів, де взаємодію можна було (і потрібно) здійснювати звертаючись до пристрою по конкретних фізичних адресах пам'яті і портів введення виводу, USB надає для взаємодії програмний інтерфейс і лише його, дозволяючи клієнтському ПО існувати у відриві від конкретного підключеного до шини пристрою і його конфігурації. Для клієнтської програми USB - це лише набір функцій.
Функціональний пристрій.
З погляду USB, пристрій - це набір кінцевих крапок з якими можливий обмін даними. Число і функції крапок залежать від пристрою і виконуваних ним функцій, і визначаються при виробництві. В обов'язковому порядку присутня крапка з номером 0 - для контролю стану пристрою і управління ним. До здійснення конфігурації пристрою через крапку решту 0 каналів не доступні. Кожна кінцева точка пристрою описується наступними параметрами:
• Частотою звернення до шини і вимогами до затримок
• Необхідною смугою пропускання
• Номером кінцевої крапки
• Вимогами до обробки помилок
• Максимальним розміром кадру який може бути прийнятий або посланий.
• Типом підтримуваної передачі даних
• Напрямом здійснення передачі між кінцевою точною і хостом
Для низькошвидкісних (low-speed) пристроїв можливе існування до двох додаткових крапок; для full-speed пристроїв їх число обмежується лише можливостями протоколу і може досягати 15-ти для введення і 15-ти для виводу.
Взагалі кінцева крапка - це кінець логічного каналу даних між хостом і пристроєм. У свою чергу канал - це логічне з'єднання між хостом і пристроєм. Оскільки кінцевих крапок у пристрою передбачається декілька, то це означає, що обмін даними між хост-контролером і пристроєм на шині може виникає по декількох каналах, так званий багатоканальний режим. Смуга пропускання шини ділитися між всіма встановленими каналами. У розпорядження шина USB може надати канали наступних типів:
• Канали повідомлень. Є двонаправленими каналами і служать, не важко зміркувати, для передачі повідомлень, що мають строго визначений в специфікації формат, необхідний для забезпечення надійної ідентифікації і передачі команд. Виникає канал при відсиланні хостом запиту в пристрої, і управляє передачею тільки хост. Канали повідомлень використовується для передач типу, що тільки управляє (що таке дивимося нижче).
• Потокові канали. Є однонаправленими. На відміну від чітко певних повідомлень не мають певного закріпленого в стандарті формату, що означає можливість передачі даних будь-якого вигляду. Ці передачі можуть контролюватися не тільки хостом, але і пристроєм. Використовується для передач даних типу