Специфікація USB

3.3 В. Для низькошвидкісних пристроїв цей резистор підключається до шини D-, для повне - і високошвидкісних - до шини D+. Зазвичай той резистор робиться програмно керованим для того, що б після виявлення пристрою його можна було відключити і збалансувати лінію. Отже, новий пристрій підключений і виявлений.

Обмін даними. Випадок перший: передача від хоста до пристрою. В принципі, ніякої складності не немає. Як тільки така необхідність виникла, хост може ініціювати передачу. Для цього він посилає пристрою пакет out (на знак того, що дані передаватиме він), потім посилає самі дані, а потім приймає пакет ACK, підтверджуючий, що дані пристроєм отримані без помилок (якщо це не ізохронний тип передачі, для якого підтвердження не передається).

Обмін даними. Випадок другої: від пристрою до хосту. У пристрою виникла необхідність передати дані. АЛЕ! Воно не може ніяким чином дати знати про це хосту. Таких засобів в USB просто не передбачено. Для того, що б виконати таку передачу, хост повинен звернутися у пристрою з питанням, чи не має воно бажання чого-небудь йому сказати (пославши пакет in). У відповідь на що пристрій вишле йому наявні дані і дочекається отримання підтвердження (знову ж, якщо ведеться не ізохронна передача). Відповідно, якщо хост не поводитися з таким питанням, то дані ніколи не будуть передані.

Обмін інформацією, що управляє. В принципі має ту ж логіку, але використовується передача типу управління і канал повідомлень і спеціальні пакети.

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

1 2 3 4 5 6 7 8