і програмні засоби, що забезпечують підключення пристроїв USB до хост-комп'ютера.
Стандарт USB визначає електричні і механічні специфікації шини.
Інформаційні сигнали і живлячої напруги 5 В передаються по чотирьох-провідному кабелю. Для сигналу використовуються диференціальний спосіб передачі по двох проводах D+ і D– Рівні сигналів передавачів в статичному режимі повинні бути нижче 0,3 В (низький рівень) або вище 2,8 В (високий рівень). Приймачі повинні витримувати вхідну напругу в межах -0,5...+3,8 В. Передавачі повинні мати нагоду переходу у високоімпедансний стан для забезпечення двонаправленої півдуплексної передачі даних по одній парі дротів.
Передача по двох проводах USB не обмежується лише диференціальними сигналами. Окрім диференціального приймача, кожний пристрій має й лінійні приймачі сигналів D+ і D–, а передавачі цих ліній управляються індивідуально. Це дозволяє розрізняти багато станів лінії, що використовуються для організації апаратного інтерфейсу, Стан Diff0 і Diff1 визначаються по різниці потенціалів на лініях D+ і D– більше 200 мВ за умови, що на одній з них потенціал вище за поріг спрацьовування Vse. Стан, при якому на обох входах D+ і D– присутній низький рівень, називається лінійним нулем (SEO – single-ended zero). Інтерфейс визначає наступні стани:
Data J State і Data К State – стан передаваного біта (визначаються через стан Diff0 і Diff1).
Idle State – пауза на шині.
Resume State – сигнал "пробудження" для виведення пристрою з "сплячого" режиму.
Start Packet (SOP) – початок пакету (перехід з "Idle" в "К").
End Packet (EOP) – кінець пакету.
Disconnect – пристрій відключений від порту.
Connect – пристрій підключений до порту.
Reset – скидання пристрою.
Стан визначаються поєднаннями диференціальних і лінійних сигналів, причому для повної і низької швидкостей стан Diff0 і Diff1 мають протилежне призначення. В декодуванні станів Disconnect, Connect і Reset береться до уваги і час знаходження ліній (більше 2,5 мс) в певних станх.
Шина має два режими передача. Повна швидкість передачі сигналів USB складає 12 Мбіт/с, низька – 1,5 Мбіт/с. Для повної швидкості використовується екранована вита пара з імпедансом 90 Ом і завдовжки сегменту до 5 м, для низької – невитий і неекранований кабель при довжині сегменту до 3 м. Низькошвидкісні кабелі і пристрої дешевше високошвидкісних. Одна і та ж система може одночасно використовувати обидва режими, перемикання для пристроїв здійснюється прозоро. Низька швидкість призначена для роботи з невеликою кількістю пристроїв, що не вимагають високої пропускної спроможності каналу.
Швидкість, що використовується пристроєм, підключеним до конкретного порту, визначається хабом по рівнях сигналів на лініях D+ і D–, зміщуваних резисторами навантажень R2 приймачів-передавачів (див. рис. 2, 3).
Рис. 2. Підключення повношвидкісного пристрою
Рис. 3. Підключення низькошвидкісного пристрою
Сигнали синхронізації кодуються разом з даними по методу NRZI (Non Return to Zero Invert), його роботу ілюструє рис. 4. Кожному пакету передує поле синхронізації SYNC, що дозволяє приймачу настроїтися на частоту передавача.
Окрім сигнальної пари, кабель має лінії VBus і GND для передачі живлячої напруги 5 В до пристроїв. Перетин провідників вибирається відповідно до довжи-ни сегмента для забезпечення гарантованого рівня сигналу і живлячої напруги.
Рис. 4. Кодування даних по методу NRZI
Стандарт визначає два типи роз'ємів (табл. 1).
Таблиця 1
Призначення виведень роз'єму USB
Контакт | Ланцюг
1 | Vcc
2– | Data
3 | +Data
4 | Ground
Роз'єми типу "А" застосовуються для підключення до хабів (upstream connector). Вони встановлюються на кабелях, не від'єднуваних від пристроїв (наприклад, від клавіатури, миші і т.п.). Відповідна частина до них встановлюється на низхідних портах (downstream port) хабів.
Роз'єми типу "В" (downstream connector) встановлюються на пристроях, від яких сполучний кабель може від'єднуватися (наприклад, на принтери і сканери). Відповідна частина встановлюється на сполучному кабелі, протилежний кінець якого має роз'єм типу "А".
Роз'єми типів А і В розрізняються механічно, що виключає можливість петльових з'єднань портів хабів, які недопустимі в USB. Чотирьохконтактні роз'єми мають ключі, що виключають неправильне приєднання. Конструкція роз'ємів забезпечує більш пізнє з'єднання і раннє від'єднання сигнальних ланцюгів в порівнянні з живлячими. Для полегшення розпізнавання роз'єму USB на корпусі пристрою ставиться позначення, наведене на рис. 5.
Рис. 5. Позначення роз'єму USB
Живлення пристроїв USB можливе як від кабелю (bus-powered devices), так і від власного блоку живлення (self-powered devices). Хост забезпечує живленням безпосередньо до нього підключені пристрої. Кожний хаб, у свою чергу, забезпечує живлення пристроїв, підключених до його низхідних портів. При деяких обмеженнях топології USB допускає вживання хабів, що живляться від шини. На рис. 6 наведений приклад схеми з'єднання пристроїв USB. Тут клавіатура, перо і миша можуть харчуватися від шини.
Мал. 6. Приклад підключення пристроїв USB
USB має розвинену систему управління енергоспоживанням. Хост-комп'ютер може мати власну систему управління енергоспоживанням (power management system), до якої логічно підключається й однойменна система USB. Програмне забезпечення USB взаємодіє з цією системою, підтримуючи такі системні події, як призупинення (SUSPEND) або відновлення (RESUME). Крім того, пристрої USB можуть самі бути джерелами подій, відпрацьовуваних системою управління енергоспоживанням.
З погляду передачі даних, кожний пристрій USB є набором незалежних кінцевих точок (endpoint), з якими хост-контроллер може обмінюватися інформацією. Кінцеві точки описуються наступними параметрами:
Необхідна частота доступу до шини і допустимі затримки обслуговування.
Необхідна смуга пропускання каналу.
Номер точки.
Вимоги до обробки помилок.
Максимальні розміри переданих і прийнятих пакетів.
Тип обміну.
Напрям обміну (для суцільного і ізохронного обміну).
Кожний пристрій обов'язково має кінцеву точку з номером 0, що використовується для ініціалізації і загального управління логічним пристроєм, а також опитування його стану. Ця точка завжди конфігурована при включенні живлення і підключенні пристрою