Інтерфейс usb принцип роботи. USB інтерфейс - як і типи. Живлення USB роз'ємів

Користувачам мобільних пристроїв у 2000-х довелося нелегко – вони були змушені миритися з так званою пропрієтарністю. Телефони кожного з виробників оснащувалися унікальними роз'ємами для зарядки - як наслідок, ЗУ, наприклад, не працювало з телефоном. Доходило і до абсурду – коли для двох телефонів одного виробника (фінського) доводилося шукати різні . Невдоволення користувачів виявилося настільки сильним, що втрутитися був змушений Європарламент.

Зараз ситуація докорінно інша: практично всі виробники смартфонів оснащують свої гаджети портами під зарядні пристрої одного типу. Користувачеві більше не доводиться купувати нове ЗУ «на додачу» до телефону.

Кабелі USB можна використовувати не тільки для передачі даних з ПК на гаджет, але й для заряджання мобільного пристрою. Смартфони здатні поповнювати «запаси» акумулятора як від розетки, так і від комп'ютера, однак у другому випадку заряджання займе значно більше часу. Традиційний кабель USB для смартфона з Android або Windows Phone виглядає наступним чином:

На одному з його кінців є стандартний штекер USB 2.0 Type-A:

Цей штекер вставляється в порт USB на комп'ютері або ноутбуку.

На другому кінці дроту – штекер microUSB.

Він відповідно вставляється в роз'єм мікро-USB на мобільному пристрої.

Саме micro-USB 2.0 є зараз уніфікованим роз'ємом: зустріти його можна на смартфонах та планшетах майже всіх виробників мобільної техніки (за винятком Apple). Угода про стандартизацію інтерфейсів була підписана в 2011 році представниками 13 компаній, що лідирують на мобільному ринку.

На Micro-USB вибір упав з низки причин:

  • Роз'єм компактний. Його фізичні розміри становлять лише 2×7 міліметрів – це приблизно в 4 рази менше, ніж у USB 2.0 Type-A.
  • Штекер міцний– особливо якщо порівнювати із тонкою зарядкою Nokia.
  • Роз'єм здатний забезпечувати високу швидкість передачі.Теоретично швидкість передачі через Micro USB при використанні стандарту 2.0 може досягати 480 Мбіт/сек. Фактична швидкість набагато нижча (10-12 Мбіт/сек у режимі Full Speed), однак користувачам це рідко завдає незручностей.
  • Роз'єм підтримує функцію.Докладніше про те, які переваги це дає, розкажемо пізніше.

Конкуренцію micro-USB у боротьбі роль стандартного роз'єму міг нав'язати Mini-USB. Міні-штекер виглядає так:

Цей вид USB-роз'єму не підійшов як стандартний, і ось чому:

  • Роз'єм більше за розмірами- Нехай і ненабагато. Розмір його – 3×7 мм.
  • Роз'єм досить крихкий- Через відсутність жорстких кріплень він дуже швидко розхитується. Внаслідок цього передача даних через кабель стає для користувача справжньою мукою.

У 2000-х роз'єм виду mini-USB можна було зустріти на смартфонах виробників другого сорту - скажімо, і . Зараз мобільних гаджетів із міні-роз'ємом на ринку не знайдеш.

Крім USB-роз'ємів, про які ми згадали (Micro-USB, Mini-USB, USB Type-A), є й інші. Наприклад, micro-USB стандарту 3.0може використовуватися для підключення до ПК жорстких дисків, а USB Type-B(квадратної форми) для музичних інструментів (зокрема MIDI-клавіатури). До мобільної техніки ці роз'єми не мають прямого відношення (якщо не рахувати Galaxy Note 3 c USB 3.0), тому докладніше ми про них не розповідатимемо.

Якими бувають кабелі USB для смартфонів?

Завдяки невичерпній фантазії китайських майстрів користувачі мобільної техніки можуть купити кабелі абсолютно різних формацій. Наприклад, в епоху пропрієтарності неймовірною популярністю користувався такий «монстр»:

Так, ця зарядка підходила до всіх основних роз'ємів!

Подібні «мультитули» і зараз є у продажу, проте штекерів у них поменшало. Ось зарядка 4-в-1, яку можна замовити на дешевше, ніж за 200 рублів:

Ця зарядка оснащена всіма сучасними штекерами - Lightning, 30Pin (обидва), microUSB, USB 3.0. Однозначно, "must-have" для користувача!

Є й інші цікаві варіанти. Ось кабель від OATSBASFдля тих, хто терпіти не може кабелі:

Цей кабель дозволяє заряджати від комп'ютера два мобільні пристрої одночасно(Наприклад, 5-й Айфон і Android) і має дуже спокусливу ціну - трохи більше 100 рублів.

У вітчизняних магазинах та салонах користувач, звичайно ж, не знайде такого достатку різноманітних кабелів, як на сторінках каталогів GearBestта . Крім того, Data-обладнання в роздріб коштує значно дорожче. З цих двох причин користувачам рекомендується замовляти USB-кабелі саме з Китаю.

Що таке OTG?

Напевно, багато хто бачив такий кабель і замислювався, для чого він потрібен:

Це кабель OTG; на одному його кінці – штекер micro-USB, на другому – роз'єм USB 2.0, "Мама". За допомогою такого кабелю до смартфону або планшета можна підключити USB-флешку, але тільки в тому випадку, якщо сам мобільний пристрій підтримує стандарт OTG.

OTG(скорочення від On-The-Go) – це функція, призначена для швидкого з'єднання 2-х USB-пристроїв один з одним, без посередництва комп'ютера. Підключити по OTGможна не тільки флешку (хоча це, звичайно, найпоширеніший випадок), але також, наприклад, комп'ютерну мишку, клавіатуру, зовнішній жорсткий диск, ігрове кермо, джойстик. Вийде навіть під'єднати смартфон до принтера або МФУ, щоб роздрукувати знімок, зроблений на камеру гаджета.

Кабелі OTGдля iPhone вже теж з'явилися, проте завантажити на «яблучний» пристрій (без джейлбрейка) із зовнішнього носія виходить лише фото та відео – і то лише тоді, коли кореневі папки на флешці та самі фотографії мають «правильні» назви.

Повний список смартфонів, що підтримують функцію OTGні – просто тому, що наявністю цього стандарту здатні похвалитися майже всі сучасні гаджети і список був би величезний. Тим не менш, покупцю, який має намір підключати до девайсу мишу або флешку, варто дізнатися у консультанта салону-магазину про підтримку OTGдо того, як віддавати гроші - "на всякого пожежника".

USB Type-C: у чому переваги?

Перехід з micro-USBна – це новий тренд ринку мобільної електроніки! Виробники активно освоюють технологію та оснащують свої флагманські моделі вдосконаленими роз'ємами для заряджання та передачі даних. USB Type-Cдовго чекав «в тіні»: роз'єм був створений ще 2013 року, проте лише 2016-го лідери ринку звернули на нього увагу.

Виглядає USB Type-Cтак:

У чому полягають переваги Type-Cперед звичним усім micro-USB?

  • Висока швидкість передачі даних. Пропускна здатність Type-Cдорівнює 10 Гб/сек (!). Але це лише пропускна спроможність: насправді на таку швидкість зможуть розраховувати лише власники смартфонів зі стандартом USB 3.1- Наприклад, Nexus 6Pі 5X. Якщо гаджет використовує стандарт USB 3.0швидкість опиниться на позначці приблизно в 5 Гб/сек; при USB 2.0передача даних відбуватиметься значно повільніше.
  • . Тривалість процедури заряджання смартфона залежить від потенційної кількості Вт, які постачаються роз'ємом. USB стандарту 2.0здатне подавати все 2.5 Вт- тому зарядка і триває годинник. Роз'єм USB Type-Cзабезпечує 100 Вт– тобто у 40 разів (!) більше. Цікаво, що передача струму може відбуватися в обидві сторони – як до хоста, так і від нього.
  • Симетричність конектора. Якщо у конектора micro-USBє верх і низ, то конектор Type-Cсиметричний. Якою стороною його вставляти у роз'єм, значення не має. З цієї точки зору технологія USB Type-Cсхожа на Lightningвід Apple.

Перевагою Type-Cє також невелика величина роз'єму – лише 8.4×2.6 міліметра. За цим критерієм технології micro-USBі USB Type-Cсхожі.

У USB Type-Cє й недоліки, один із яких більш ніж суттєвий. Через нерегульовану роботу конектора зарядка запросто може «підсмажити» мобільний пристрій. Така ймовірність не є суто теоретичною – спалах траплявся і на практиці. Саме з цієї причини поширення неоригінальних, «кустарних» кабелів та зарядок USB Type-C.

Через подібну масовість нову технологію вводитимуть еволюційно, а не революційно– щоб користувачі мали змогу самостійно переконатися у перевагах Type-Cі ухвалити рішення про відмову від стандартного роз'єму. При цьому Рейвенкрафт припускає, що можливо повного заміщення. USB-Aне станеться ніколи.

Наприкінці 2008 року. Як і можна було очікувати, новий стандарт збільшив пропускну здатність, хоча приріст не такий значний, як 40-кратне збільшення швидкості під час переходу від USB 1.1 на USB 2.0. У будь-якому випадку, 10-кратне підвищення пропускної спроможності можна вітати. USB 3.0підтримує максимальну швидкість передачі 5 Гбіт/с.Пропускна здатність майже вдвічі перевищує сучасний стандарт Serial ATA (3 Гбіт/с з урахуванням передачі надмірності).

Логотип USB 3.0

Кожен ентузіаст підтвердить, що інтерфейс USB 2.0 є основним вузьким місцем сучасних комп'ютерів і ноутбуків, оскільки його пікова чиста пропускна здатність становить від 30 до 35 Мбайт/с. Але у сучасних 3,5 "жорстких дисків для настільних ПК швидкість передачі вже перевищила 100 Мбайт/с (з'являються і 2,5" моделі для ноутбуків, що наближаються до цього рівня). Швидкісні твердотільні накопичувачі успішно перевершили поріг 200 Мбайт/с. А 5 Гбіт/с (або 5120 Мбіт/с) відповідає 640 Мбайт/с.

Ми не думаємо, що в найближчому майбутньому жорсткі диски наблизяться до рівня 600 Мбайт/с, але наступні покоління твердотільних накопичувачів можуть перевищити це число вже через кілька років. Збільшення пропускної спроможності стає дедалі важливішим, оскільки кількість інформації збільшується, відповідно, зростає і час її резервування. Чим швидше працює сховище, тим менше буде час резервування, тим простіше буде зробити вікна у розкладі резервування.

Таблиця порівняння швидкісних характеристик USB 1.0 – 3.0

Цифрові відеокамери сьогодні можуть записувати та зберігати гігабайти відеоданих. Частка HD-відеокамер збільшується, а їм потрібні більш ємні та швидкі сховища для запису великої кількості даних. Якщо використовувати USB 2.0, то на передачу кількох десятків гігабайт відеоданих на комп'ютер для монтажу знадобиться значний час. USB Implementers Forum вважає, що пропускна здатність залишиться принципово важливою, та USB 3.0буде достатньо для всіх споживчих пристроїв упродовж найближчих п'яти років.

Кодування 8/10 біт

Щоб гарантувати надійну передачу даних інтерфейс USB 3.0використовує кодування 8/10 біт, знайоме нам, наприклад, Serial ATA. Один байт (8 біт) передається за допомогою 10-бітного кодування, що покращує надійність передачі на шкоду пропускній спроможності. Тому перехід із бітів на байти здійснюється із співвідношенням 10:1 замість 8:1.

Порівняння пропускної спроможності USB 1.x – 3.0 та конкурентів

Режими енергозбереження

Звичайно, основною метоюінтерфейсу USB 3.0 є підвищення доступної пропускної спроможності, проте новий стандарт ефективно оптимізує енергоспоживання. Інтерфейс USB 2.0 постійно опитує доступність пристроїв, на що витрачається енергія. Навпаки, USB 3.0 має чотири стани підключення, названі U0-U3. Стан підключення U0 відповідає активній передачі даних, а U3 занурює пристрій «сон».

Якщо підключення не діє, то в стані U1 будуть відключені можливості прийому та передачі даних. Стан U2 йде ще крок далі, відключаючи внутрішні тактові імпульси. Відповідно, підключені пристрої можуть переходити в стан U1 відразу після завершення передачі даних, що, як передбачається, дасть відчутні переваги з енергоспоживання, якщо порівнювати з USB 2.0.

Більший струм

Крім різних станів енергоспоживання, стандарт USB 3.0 відрізняєтьсявід USB 2.0 та вищим підтримуваним струмом. Якщо USB 2.0 передбачав поріг струму 500 мА, у разі нового стандарту обмеження було зсунуто до планки 900 мА. Струм при ініціації з'єднання був збільшений з рівня 100 мА у USB 2.0 до 150 мА у USB 3.0. Обидва параметри дуже важливі для жорстких портативних дисків, які зазвичай вимагають трохи великі струми. Раніше проблему вдавалося вирішити за допомогою додаткової вилки USB, отримуючи живлення від двох портів, але використовуючи лише один для передачі даних, навіть це порушувало специфікації USB 2.0.

Нові кабелі, роз'єми, колірне кодування

Стандарт USB 3.0 назад сумісний із USB 2.0, тобто вилки здаються такими ж, як і звичайні вилки типу A. Контакти USB 2.0 залишилися на колишньому місці, але в глибині роз'єму розташовуються п'ять нових контактів. Це означає, що потрібно повністю вставляти штепсель USB 3.0 у порт USB 3.0, щоб переконатися в режимі роботи USB 3.0, для якого потрібні додаткові контакти. Інакше ви отримаєте швидкість USB 2.0. USB Implementers Forum рекомендує виробникам використовувати колірне кодування Pantone 300C на внутрішній частині гнізда.

Ситуація вийшла схожою і для USB-вилки типу B, хоча відмінності зорово більш помітні. Виделку USB 3.0 можна визначити за п'ятьма додатковими контактами.

USB 3.0 не використовує волоконну оптикуоскільки вона занадто дорога для масового ринку. Тож перед нами старий добрий мідний кабель. Однак тепер у нього буде дев'ять, а не чотири дроти. Передача даних здійснюється за чотирма з п'яти додаткових проводів у диференціальному режимі (SDP-Shielded Differential Pair). Одна пара проводів відповідає за прийом інформації, інша – за передачу. Принцип роботи схожий на Serial ATA, при цьому пристрої одержують повну пропускну здатність в обох напрямках. П'ятий провід - "земля".

Новий стандарт USB Type-C досі досить широко розвинений на ринку, проте виробники поступово приймають свіжу технологію. У смартфонобудуванні USB-C вже можна назвати новим трендом, тому що це не тільки вдосконалений роз'єм для зарядки, але й засіб відмовитися від традиційного 3,5-міліметрового порту для навушників. Сьогодні ми детальніше поговоримо про USB Type-C, і ця стаття розповість вам, що це таке.

Сьогодні практично всі електронні пристрої оснащуються роз'ємом USB. Від настільних комп'ютерів до смартфонів та різноманітних накопичувачів з ноутбуками. USB є повсюдним стандартом, коли доходить до підключення периферії або передачі даних між пристроями. Останнє велике оновлення USB вийшло в 2013 з виходом USB 3.1, що супроводжується релізом нового роз'єму Type-C. Як бачите, з того часу минуло вже майже 4 роки, а Type-C так і не прижився.

В даний час на ринку можна на пальцях перерахувати пристрої, що використовують технологію USB Type-C. Серед комп'ютерів це останні ноутбуки від Apple, Google, лінійка Samsung і ще кілька гібридних пристроїв. Серед смартфонів - в основному флагмани року, що минає: , і .

То чому USB Type-C краще, ніж попередники? Давайте з'ясуємо.

Що таке USB Type-C


USB Type-C - це новий і в даний час галузевий стандарт передачі даних, що активно розвивається, для комп'ютерів і мобільних пристроїв. Головним і найважливішим нововведенням Type-C є змінений роз'єм - універсальний, симетричний, здатний працювати будь-якою стороною. Роз'єм USB-C був придуманий USB Implementers Forum – групою компаній, яка розробила та сертифікувала новий стандарт USB. До неї також входять найбільші технологічні компанії, а саме Apple, Samsung, Dell, HP, Intel та Microsoft. До речі, це важливо знати, тому USB Type-C був легко прийнятий більшістю виробників ПК.

USB-C – це новий стандарт

Насамперед потрібно знати, що USB Type-C є новим стандартом для індустрії. Так само, як колись ними були USB 1.1, USB 2.0, USB 3.0 або останній USB 3.1. Тільки попередні покоління USB більше були зосереджені на збільшенні швидкості передачі даних та різних інших поліпшеннях, тоді як Type-C з фізичного погляду змінює конструкцію роз'єму аналогічно до модифікацій технології - MicroUSB і MiniUSB. Однак, вирішальна відмінність у цьому випадку полягає в тому, що, на відміну від MicroUSB і MiniUSB, Type-C спрямований на заміну всіх стандартів, причому з обох сторін (приклад USB-MicroUSB).

Основні характеристики:

  • 24 сигнальні висновки
  • Підтримка USB 3.1
  • Альтернативний режим реалізації сторонніх інтерфейсів
  • Швидкість до 10 Гбіт/с
  • Передача енергії до 100 Вт
  • Габарити: 8,34 х2, 56 мм

USB Type-C та USB 3.1

Одним із можливих питань, які не знають про USB Type-C, може бути щось подібне: яке відношення USB 3.1 має до USB Type-C? Справа в тому, що USB 3.1 є основним протоколом передачі даних для Type-C. Швидкість версії 3.1 становить 10 Гбіт на секунду - теоретично це в 2 рази швидше, ніж USB 3.0. Ще USB 3.1 може бути представлений в оригінальному форматі роз'єму – такий порт називається USB 3.1 Type-A. Але сьогодні набагато простіше зустріти USB 3.1 із універсальним роз'ємом нового типу Type-C.

Версії USB

Щоб краще зрозуміти, чому Type-C стане заміною на традиційні версії USB, в першу чергу необхідно розуміти різницю між ними. Існують різні версії USB, а також різні конектори - наприклад, Type-A і Type-B.

Версії USB відносяться до загального стандарту, але їхня відмінність полягає в максимальній швидкості передачі даних і потужності роботи. Звісно, ​​є й багато інших чинників.

USB 1.1
Хоча USB 1.0 є першою версією USB, вона не змогла повноцінно вийти на ринок. Замість неї була випущена нова версія USB 1.1 – саме вона стала першим стандартом, до якого ми всі звикли. USB 1.1 може передавати дані на швидкості 12 Мбіт на секунду і максимально споживає 100 мА струму.

USB 2.0
Друга версія USB була представлена ​​у квітні 2000 року. Вона забезпечила стандарт значним приростом у максимальній швидкості передачі даних – до 480 Мбіт на секунду. Також USB 2.0 став потужнішим, споживаючи 1,8А на 2,5В.

USB 3.0
Вихід USB 3.0 приніс із собою не тільки очікувані покращення швидкості передачі даних і потужності, а й нові типи роз'ємів. Більш того, USB 3.0 навіть отримав свій колір – нову версію стандарту позначили синім, щоб доблесно відрізняти його від старих поколінь USB. USB 3.0 може працювати зі швидкістю до 5 Гбіт за секунду, беручи для свого функціонування 5В на 1,8А. До речі, цю версію представили у листопаді 2008 року.

USB 3.1
Найновіша та найкраща версія USB була випущена у липні 2013 року, хоча досі вона не використовується повсюдно. USB 3.1 може забезпечити користувачів пропускною здатністю до 10 Гбіт на секунду з максимальним споживанням енергії в 5В/1А, або опціонально 5А/12В (60 Вт) або 20В (100 Вт).

Type-A
Type-A є класичним USB-інтерфейсом. Короткий і прямокутний штепсель став оригінальним дизайном для USB і досі залишається стандартним роз'ємом для використання наприкінці хоста кабелю USB. Є також деякі варіації Type-A – Mini Type-A та Micro Type-A, але вони ніколи не були широко прийнятими громадськістю у зв'язку зі складнохарактерним гніздом. В даний час обидві ці варіації Type-A визнані застарілими.


Type-B
Якщо Type-A став однією стороною звичного для нас USB-кабелю, Type-B є іншою. Оригінальний Type-B – це високий роз'єм зі скошеними верхніми кутами. Зазвичай зустрічається на принтерах, хоча сам собою є розширенням стандарту USB 3.0 для введення нових можливостей з'єднання. Класичні MiniUSB і MicroUSB теж є у версії Type-B, поряд із абсолютно незграбним MicroUSB 3.0, в якому використовуються додаткові штекери.

Type-C
Таким чином, через Type-A і Type-B ми підійшли, мабуть, до нового Type-C. Версії Type-A та Type-B повинні були працювати спільно один з одним за допомогою зворотної сумісності, проте прибуття Type-C повністю зруйнувало ці плани, оскільки USB-C передбачає повну заміну застарілих технологій USB-з'єднання. Також Type-C був розроблений спеціальним чином, щоб додаткові варіанти типу Mini або Micro не потрібно випускати взагалі. Це знову ж таки пов'язане з намірами замінити всі нинішні роз'єми на USB Type-C.


Головною особливістю стандарту Type-C є універсальність чи симетричність роз'єму. USB-C можна використовувати обома сторонами подібно до технології Apple Lightning - більше ніяких спеціальних сторін для з'єднання, які до того ж ще й у темряві складно знайти. Також версія Type-C заснована на USB 3.1, що означає підтримку всіх переваг останньої версії, включаючи найвищу швидкість.

USB-C, як і раніше, є зворотно сумісним з існуючими варіантами USB, але для такого сценарію використання, звичайно, знадобляться адаптери.


Недоліки USB Type-C

Проблеми нового стандарту USB Type-C, природно, теж є. Одним із головних і найсерйозніших побоювань останньої версії технології називають фізичну конструкцію роз'єму - вона дуже тендітна через симетричний дизайн. Apple, незважаючи на таку ж універсальність свого Lightning, використовує міцний металевий штекер, який набагато стійкіший до зовнішніх впливів.

Ще більш актуальною проблемою USB Type-C, що викликає значне занепокоєння, є нерегульована робота конектора, що призвело до ряду небезпечних аксесуарів, що надходять у продаж. Деякі з таких аксесуарів за рахунок використання непідтримуваних рівнів напруги здатні підсмажити підключений пристрій. Наприклад, так було з чудовим на старті флагманом, який згодом почав спершу спалахувати, а потім і зовсім вибухати в руках, штанах, машинах та квартирах своїх власників.


Ця проблема призвела до очевидного та єдиного рішення - масової заборони на виробництво та продаж неоригінальних аксесуарів із підтримкою USB Type-C. Так, якщо аксесуар не буде відповідати стандартним специфікаціям USB Implementers Forum Inc., продукт не буде допущений до продажу. Також для перевірки робочого стану та достовірності різних сторонніх аксесуарів компанія USB-IF представила захищене 128-бітним шифруванням ПЗ, яке дозволить пристроям з цим роз'ємом здійснювати автоматичну перевірку підключеного пристрою або аксесуара з USB-C.

Мінуси:

  • Конструкція.Дизайн USB Type-C гарний, але постраждала конструкція – вона досить крихка. Apple у своєму Lightning використовує суцільнометалевий штекер, коли Type-C використовується овальна форма з розміщенням сигнальних висновків у центральній частині.
  • Робота конектора.Якщо дозволити USB Type-C працювати з непідтримуваними рівнями напруги, то, найімовірніше, кабель та/або пристрій буде загорятися.
  • Сумісність. USB Type-C - це інновації у світі USB, але нове покоління залишає в минулому старі пристрої, оскільки не підтримує роботу з ними.
  • Перехідники.Для повноцінної роботи з USB Type-C на старих пристроях доведеться купувати перехідники. Це додаткова витрата грошей.

Переваги USB Type-C


Незважаючи на все вищенаписане, USB Type-C можна назвати кроком вперед для індустрії. Встановлення даного роз'єму дозволить виробникам робити більш тонкі комп'ютери та мобільні пристрої з меншою кількістю портів, найвищою швидкістю передачі даних та навушниками. У майбутньому, якщо USB Type-C виб'ється в маси, роз'єму вдасться замінити не тільки порт 3,5 мм для навушників, а й HDMI - інтерфейс, який використовується для передачі відео. Так USB Type-C замінить звичні сьогодні роз'єми та стане універсальним стандартом у будь-якій ситуації.

Плюси:

  • Симетричність. USB Type-C дозволяє забути про ситуації, коли доводиться згадувати, з якого боку вставляти кабель у гніздо. Також відтепер можна не боятися не знайти потрібну сторону USB у темряві.
  • Компактність.Габарити USB Type-C становлять 8,4 х2, 6 мм - це дозволяє виробникам робити комп'ютери та мобільні пристрої значно тонше.
  • Універсальність.Завдяки інтеграції єдиного роз'єму стане можливим заряджання одним кабелем як ноутбука, так і планшета або смартфона.

Інтерфейс USB (Universal Serial Bus – Універсальний Послідовний Інтерфейс) призначений для підключення периферійних пристроїв до персонального комп'ютера. Дозволяє обмін інформацією з периферійними пристроями на трьох швидкостях (специфікація USB 2.0):

  • Низька швидкість ( Low Speed- LS) - 1,5 Мбіт/с;
  • Повна швидкість ( Full Speed- FS) - 12 Мбіт/с;
  • Висока швидкість ( High Speed- HS) – 480 Мбіт/с.
Для підключення периферійних пристроїв використовується 4-жильний кабель: живлення +5 В, сигнальні дроти D+і D-, загальний дріт.
Інтерфейс USB з'єднує між собою хост (host) та пристрої. Хост знаходиться всередині персонального комп'ютера та керує роботою всього інтерфейсу. Для того, щоб до одного порту USB можна було підключати більше одного пристрою, використовуються хаби (hub- Пристрій, що забезпечує підключення до інтерфейсу інших пристроїв). Кореневий хаб (root hub) знаходиться всередині комп'ютера та підключений безпосередньо до хоста. В інтерфейсі USB використовується спеціальний термін "функція" - це логічно закінчене пристроїв, що виконує будь-яку специфічну функцію. Топологія інтерфейсу USB є набір з 7 рівнів ( tier): першому рівні перебуває хост і кореневої хаб, але в останньому - лише функції. Пристрій, до складу якого входить хаб та одна або кілька функцій, називається складовим (compaund device).
Порт хаба або функції, що підключається до хаба вищого рівня, називається висхідним портом ( upstream port), а порт хаба, що підключається до хаба нижчого рівня або функції називається низхідним портом ( downstream port).
Усі передачі за інтерфейсом ініціюються хостом. Дані передаються як пакетів. В інтерфейсі USB використовується кілька різновидів пакетів:
  • пакет-ознака (token paket) описує тип і напрямок передачі даних, адресу пристрою і порядковий номер кінцевої точки (КТ - частина USB-пристрою, що адресується); пакет-ознаки бувають кількох типів: IN, OUT, SOF, SETUP;
  • пакет з даними (data packet) містить дані, що передаються;
  • пакет узгодження (handshake packet) призначений для повідомлення про результати пересилання даних; пакети співгасування бувають декількох типів: ACK, NAK, STALL.
Таким чином, кожна транзакція складається з трьох фаз: фаза передачі пакета-ознака, фаза передачі даних і фаза узгодження.
В інтерфейсі USB використовуються кілька типів пересилань інформації.
  • Керуюча пересилка (control transfer) використовується для конфігурації пристрою, а також інших специфічних для конкретного пристрою цілей.
  • Потокове пересилання (bulk transfer) використовується передачі великого обсягу інформації.
  • Пересилання з перериванням (iterrupt transfer) використовується для передачі щодо невеликого обсягу інформації, для якого важливе своєчасне його пересилання. Має обмежену тривалість та підвищений пріоритет щодо інших типів пересилок.
  • Ізохронне пересилання (isochronous transfer) також називається потоковим пересиланням реального часу. Інформація, що передається в такому пересиланні, вимагає реального масштабу часу при її створенні, пересиланні та прийомі.

Поточні пересилання характеризуються гарантованою безпомилковою передачею даних між хостом та функцією за допомогою виявлення помилок при передачі та повторного запиту інформації.
Коли хост стає готовим приймати дані від функції, він у фазі передачі пакета-ознака посилає функції IN-пакет. У відповідь на це функція у фазі передачі даних передає хосту пакет із даними або, якщо вона не може зробити цього, передає NAK- або STALL-пакет. NAK-пакет повідомляє про тимчасову неготовність функції передавати дані, а STALL-пакет повідомляє необхідність втручання хоста. Якщо хост успішно отримав дані, він у фазі узгодження посилає функції ACK
Коли хост стає готовим передавати дані, він надсилає функції OUT-Пакет, що супроводжується пакетом з даними. Якщо функція успішно отримала дані, він надсилає хосту ACK-пакет, інакше надсилається NAK-або STALL-пакет.
Керуючі пересилання містять не менше двох стадій: Setup-стадіяі статусна стадія. Між ними може також розташовуватися стадія передачі даних. Setup-стадіявикористовується для виконання SETUP-транзакції, у процесі якої пересилається інформація до керуючої КТ функції. SETUP-транзакціямістить SETUP-пакет , пакет з даними та пакет погодження. Якщо пакет з даними отримано функцією успішно, вона відсилає хосту ACK-пакет. Інакше транзакція завершується.
У стадії передачі данихкеруючі пересилки містять одну або кілька IN-або OUT-транзакцій, принцип передачі яких такий самий, як і в потокових пересиланнях. Усі транзакції у стадії передачі мають проводитися одному напрямку.
У статусної стадіївиробляється остання транзакція, яка використовує самі принципи, як у потокових пересиланнях. Напрямок цієї транзакції протилежне тому, яке використовувалося на стадії передачі даних. Статусна стадія служить для повідомлення про результат виконання SETUP-стадії та стадії передачі даних. Статусна інформація завжди передається від функції до хоста. При керуючого запису (Control Write Transfer) статусна інформація передається у фазі передачі даних статусної стадії транзакції. При керуючому читанні (Control Read Transfer) статусна інформація повертається у фазі узгодженні статусної стадії транзакції, коли хост відправить пакет даних нульової довжини у попередній фазі передачі.
Пересилання з перериванням можуть утримувати IN- або OUT-пересилання. При отриманні IN-пакета функція може повернути пакет з даними, NAK-пакет або STALL-пакет. Якщо функція не має інформації, для якої потрібно переривання, то у фазі передачі даних функція повертає NAK-пакет. Якщо робота КТ із перериванням припинена, то функція повертає STALL-пакет. При необхідності переривання функція повертає необхідну інформацію у фазі передачі. Якщо хост успішно отримав дані, він посилає ACK-пакет. В іншому випадку узгоджуючий пакет хостом не надсилається.
Ізохронні транзакції містять фазу передачі ознакиі фазу передачі даних, але не мають фази узгодження. Хост відсилає IN- або OUT-ознака, після чого у фазі передачі даних КТ (для IN-ознака) або хост (для OUT-Ознака) пересилає дані. Ізохронні транзакції не підтримують фазу узгодження та повторні посилки даних у разі помилок.

У зв'язку з тим, що в інтерфейсі USB реалізовано складний протокол обміну інформацією, пристрій сполучення з інтерфейсом USB необхідний мікропроцесорний блок, що забезпечує підтримку протоколу. Тому основним варіантом при розробці пристрою сполучення є застосування мікроконтролера, який забезпечуватиме підтримку протоколу обміну. В даний час всі основні виробники мікроконтролерів випускають продукцію, яка має у своєму складі блок USB.

Фірма виробник Найменування Опис

Atmel
AT43301 Контролер LS/FS-хаба 1-4 із загальним керуванням живленням низхідних портів.
AT43312A Контролер LS/FS-хаба 1-4 з індивідуальним керуванням живленням низхідних портів.
AT43320A Мікроконтролер на ядрі AVR. Має вбудовані USB-функцію та хаб з 4 зовнішніми низхідними портами, що працюють у LS/FS-режимах, 512 байт ОЗУ, 32х8 регістрів загального призначення, 32 програмовані виводи, послідовний та SPI-інтерфейси. Функція має 3 КТ із буферами FIFO розміром 8 байт. Для низхідних портів хаба передбачено індивідуальне керування живленням.
AT43321 Контролер клавіатури на ядрі AVR. Має вбудовані USB-функцію та хаб з 4 зовнішніми низхідними портами, що працюють у LS/FS-режимах, 512 байт ОЗУ, 16 кбайт ПЗУ, 32х8 регістрів загального призначення, 20 програмованих виводів, послідовний та SPI-інтерфейси. Функція має три КТ. Для низхідних портів хаба передбачено індивідуальне керування живленням.
AT43324

Мікроконтролер на ядрі AVR. Має вбудовані USB-функцію та хаб з 2 зовнішніми низхідними портами, що працюють у LS/FS-режимах, 512 байт ОЗУ, 16 кбайт ПЗУ, 32х8 регістрів загального призначення, 34 програмованих виводи. Клавіатурна матриця може мати розмір 18х8. Контролер має 4 виходи для підключення світлодіодів. Функція має три КТ. Для низхідних портів хаба передбачено індивідуальне керування живленням.

AT43355 Мікроконтролер на ядрі AVR. Має вбудовані USB-функцію та хаб з 2 зовнішніми низхідними портами, що працюють у LS/FS-режимах, 1 кбайт ОЗУ, 24 кбайт ПЗУ, 32х8 регістрів загального призначення, 27 програмованих висновків, послідовний та SPI-інтерфейси, 12-канальний АЦП. Функція має 1 керуючу КТ та 3 програмованих КТ з буферами FIFO розміром 64/64/8 байт.
Fairchild Semiconductor USB100 Контролер маніпуляторів (миша, трекбол, джойстик). Підтримує 2D/3D-миша, джойстик із трьома потенціометрами, маніпулятор із 16 кнопками.

Intel
8x931Ax Мікроконтролер із архітектурою MSC-51. Має вбудовану USB-функцію, що працює в LS/FS-режимах, 256 байт ОЗУ, 0/8 кбайт ПЗУ, 8х4 регістра загального призначення, 32 програмовані виводи, послідовний інтерфейс, інтерфейс керування клавіатурою. Функція має 3 КТ із буферами FIFO розміром 8/16/8 байт.
8x931Hx Мікроконтролер із архітектурою MSC-51. Має вбудовану USB-функцію і хаб з 4 зовнішніми низхідними портами, що працюють в LS/FS-режимах, 256 байт ОЗУ, 0/8 кбайт ПЗУ, 8х4 регістра загального призначення, 32 програмні виводи, послідовний інтерфейс, інтерфейс управління клавіатурою. Функція має 3 КТ із буферами FIFO розміром 8/16/8 байт.
8x930Ax Мікроконтролер із архітектурою MSC-251. Має вбудовану USB-функцію, що працює в LS/FS-режимах, 1024 байта ОЗП, 0/8/16 кбайт ПЗУ, 40 регістрів загального призначення, 32 програмовані виводи, послідовний інтерфейс. Функція має 4(6) КТ із буферами FIFO розміром 16/1024(256)/16(32)/16(32)/(32)/(16) байт.
8x930Hx Мікроконтролер із архітектурою MSC-251. Має вбудовану USB-функцію та хаб з 4 зовнішніми низхідними портами, що працюють у LS/FS-режимах, 1024 байта ОЗУ, 0/8/16 кбайт ПЗУ, 40 регістрів загального призначення, 32 програмовані виводи, послідовний інтерфейс. Функція має 4 КТ із буферами FIFO розміром 16/1024/16/16 байт.

Microchip
PIC16C745 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS-режимі, 256 байт ОЗУ, 14336 байт ПЗУ, 22 програмовані виводи, послідовний інтерфейс, 5-канальний 8-бітовий АЦП.
PIC16C765 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS-режимі, 256 байт ОЗУ, 14336 байт ПЗУ, 33 програмовані виводи, послідовний інтерфейс, 8-канальний 8-бітовий АЦП.
PIC18F2450 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS/FS-режимі, 1536 байт ОЗП, 16384 байт ПЗУ, 19 програмованих висновків, послідовний та SPI-інтерфейси, 5-канальний 10-бітовий АЦП. Функція має 8 КТ.
PIC18F2550 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS/FS-режимі, 1536 байт ОЗП, 32768 байт ПЗУ, 19 програмованих висновків, послідовний, CAN-і SPI-інтерфейси, 5-канальний 10-бітовий АЦП. Функція має 8 КТ.
PIC18F4450 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS/FS-режимі, 1536 байт ОЗУ, 16384 байт ПЗУ, 34 програмовані виводи, послідовний, CAN-і SPI-інтерфейси, 8-канальний 10-бітний АЦП. Функція має 8 КТ.
PIC18F4550 Мікроконтролер із архітектурою PIC. Має вбудовану USB-функцію, що працює в LS/FS-режимі, 1536 байт ОЗУ, 32768 байт ПЗУ, 34 програмовані виводи, послідовний, CAN-і SPI-інтерфейси, 8-канальний 10-бітний АЦП. Функція має 8 КТ.
Texas Instruments TUSB2036 Контролер LS/FS-хаба 1-3 з індивідуальним керуванням живленням низхідних портів.

USB (Universal Serial Bus – універсальна послідовна шина) є промисловим стандартом розширення архітектури PC, орієнтованим на інтеграцію з телефонією та пристроями побутової електроніки.

шини:

  • USB-пристрій може бути підключений до комп'ютера в будь-який момент часу, навіть коли увімкнено;
  • коли комп'ютер виявляє підключений USB пристрій, він автоматично опитує його, щоб дізнатися про його можливості та вимоги;
  • здійснює завантаження драйвера, а при відключенні пристрою драйвер автоматично вивантажується;
  • USB пристрій не використовує джемперів, перемикачів DIP, ніколи не викликає конфліктів переривань, DMA, пам'яті;
  • розширювальні USB хаби дозволяють підключати до однієї шини велику кількість пристроїв (до 127 пристроїв);
  • низька вартість USB-пристроїв.

Виникнення USB уможливило створення USB Flash Drive (USB-накопичувач).

Історія створення та розвитку інтерфейсу USB

Перша версія комп'ютерного інтерфейсу USB з'явилася 15 січня 1996 року. Ініціаторами проекту був союз 7 великих компаній виробників Intel, DEC, IBM, Northen Telecom, Compaq.

Причиною виникнення нового стандарту передачі інформації, послужила бажання спростити з'єднання ПК з периферійними пристроями. Основна мета стандарту, була створити для користувачів можливість користуватися таким інтерфейсом, який мав би максимальну простоту, універсальність, і використовував принцип Plug&Play або гаряче з'єднання.

Це дозволило б підключати до ПК під час роботи різні пристрої вводу-виводу, за умови негайного автоматичного розпізнавання типу та моделі підключеного пристрою. Також, була поставлена ​​мета, - позбутися проблеми нестачі внутрішніх ресурсів переривань системної шини.

Всі ці завдання успішно були вирішені до кінця 1996 року, а до весни 1997 стали з'являтися перші ПК, обладнані роз'ємами USB. Повна підтримка USB пристроїв була здійснена тільки до кінця 1998 року, в операційній системі Windows98, і тільки з цього етапу, почалося особливо бурхливий розвиток та випуск периферійного обладнання, оснащеного цим інтерфейсом.

По-справжньому масове використання USB почалося з поширенням корпусів і системних плат форм-фактора ATX приблизно 1997-1998 роках. Не прогавила шанс скористатися досягненнями прогресу і компанія Apple, що представила 6 травня 1998 свій перший iMac, також оснащений підтримкою USB.

Цей стандарт був народжений у той час, коли вже існував аналогічний послідовний інтерфейс передачі даних, розроблений Apple Computer і мав назву FireWare або IEE1394. USB-інтерфейс був створений як альтернатива IEE1394, і був покликаний не замінити його, а існувати паралельно вже існуючому типу з'єднань.

Перша версія USB мала деякі проблеми сумісності та містила кілька помилок у реалізації. У результаті, у листопаді 1998 року вийшла специфікація USB 1.1.

Специфікація USB 2.0 була представлена ​​у квітні 2000 року. Але до прийняття її як стандарт пройшло більше року. Після цього почалося масове використання другої версії універсальної послідовної шини. Головною її перевагою було 40-кратне збільшення швидкості передачі даних. Але, крім цього, були й інші нововведення. Так з'явилися нові типи роз'ємів Mini-B і Micro-USB, додалася підтримка технології USB On-The-Go (дозволяє USB-пристроям вести обмін даними між собою без участі USB-хоста), з'явилася можливість використання напруги, що подається через USB, для заряджання підключених пристроїв.

Принцип роботи шини USB

USB забезпечує обмін даними між хост-комп'ютером та безліччю периферійних пристроїв (ПУ). Відповідно до специфікації USB, пристрої можуть бути хабами, функціями або їх комбінацією. Хаб (hub) тільки забезпечує додаткові точки підключення пристроїв до шини. Пристрій-функція (function) USB надає системі додаткові функціональні можливості, наприклад підключення до ISDN, цифровий джойстик, акустичні колонки з цифровим інтерфейсом і т.п. пристроями.

Роботою всієї системи USB управляє хост-контролер (host controller), що є програмно-апаратною підсистемою комп'ютера. Шина дозволяє підключати, конфігурувати, використовувати та вимикати пристрої під час роботи хоста та самих пристроїв.

Шина USB є хост-центричною: єдиним провідним пристроєм, який керує обміном, є хост-комп'ютер, а всі приєднані до неї периферійні пристрої виключно ведені. Фізична топологія USB - багатоярусна зірка. Її вершиною є хост-контролер, об'єднаний із кореневим хабом (root hub). Хаб є розгалужувачем, крім того, він може бути джерелом живлення для підключених до нього пристроїв. До кожного порту хаба може безпосередньо підключатись периферійний пристрій або проміжний хаб; шина допускає до 5 рівнів каскадування хабів (крім кореневого). Кожен проміжний хаб має кілька низхідних (downstream) портів для підключення периферійних пристроїв (або нижчих хабів) і один висхідний (upstream) порт для підключення до кореневого хаба або низхідного порту вищого хаба.

До USB-хосту сходяться дані від підключених пристроїв і він забезпечує взаємодію з комп'ютером. Усі пристрої підключаються за топологією "зірка". Щоб збільшити кількість активних роз'ємів USB, можна скористатися USB-хабами. Таким чином вийде аналог логічної структури "дерево". "Гілок" у такого дерева може бути до 127 штук на один хост-контролер, а рівень вкладеності USB-хабів не повинен перевищувати п'яти. Крім того, в одному USB-хості може бути кілька хост-контролерів, що пропорційно збільшує максимальну кількість підключених пристроїв.

Хаби бувають двох видів. Одні просто збільшують кількість USB-роз'ємів на одному комп'ютері, інші дозволяють підключати кілька комп'ютерів. Другий варіант дозволяє використовувати кільком системам одні й самі пристрої. Залежно від хаба перемикання може здійснюватися як вручну, і автоматично.

Один фізичний пристрій, підключений через USB, може логічно поділятися на "під-пристрої", що виконують ті чи інші функції. Наприклад, у веб-камери може бути вбудований мікрофон - виходить, що у неї два під-пристрої: для передачі аудіо та відео.

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

Коли до USB-хосту підключається новий пристрій, починається процес присвоєння йому ідентифікатора. Насамперед пристрою посилається сигнал переходу у вихідний стан. Тоді ж відбувається визначення швидкості, з якою може вестись обмін даними. Після зчитується конфігураційна інформація з пристрою, і йому надається унікальна семибітна адреса. Якщо пристрій підтримується хостом, завантажуються всі необхідні драйвера для роботи з ним, після чого процес завершено. Перезавантаження USB-хоста завжди викликає повторне присвоєння ідентифікаторів та адрес всім підключеним девайсам.

На відміну від шин розширення (ISA/EISA, PCI, PC Card), де програма взаємодіє з пристроями шляхом звернень за фізичними адресами осередків пам'яті, портів вводу-виводу, перериванням та каналами DMA, взаємодія додатків із пристроями USB виконується лише через програмний інтерфейс. Цей інтерфейс, що забезпечує незалежність звернень до пристроїв, надається системним контролером USB.

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

Кодування даних

Для передачі по шині використовується диференціальний спосіб передачі сигналів D+ і D- по двох проводах. Всі дані кодуються за допомогою методу NRZI with bit stuffing (NRZI - Non Return to Zero Invert, метод повернення до нуля з інвертуванням одиниць).

Замість кодування логічних рівнів як рівнів напруги USB визначає логічний 0 як зміну напруги, а логічну 1 як незміну напруги. Цей метод є модифікацією звичайного потенційного методу кодування NRZ (Non Return to Zero, неповернення до нуля), коли для подання 1 і 0 використовуються потенціали двох рівнів, але в методі NRZI потенціал, що використовується для кодування поточного біта, залежить від потенціалу, який використовувався для кодування попереднього біта Якщо поточний біт має значення 0, то поточний потенціал є інверсією потенціалу попереднього біта, незалежно від його значення. Якщо поточний біт має значення 1, то поточний потенціал повторює попередній. Очевидно, якщо дані містять нулі, то приймачеві і передавачу досить легко підтримувати синхронізацію - рівень сигналу буде постійно змінюватися. А от якщо дані містять довгу послідовність одиниць, то рівень сигналу змінюватиметься ті, і можлива розсинхронізація. Отже, для надійної передачі потрібно виключити з кодів занадто довгі послідовності одиниць. Ця дія називається стаффінг (Bit stuffing): після кожних шести одиниць автоматично додається 0.

Існує лише три можливі байти з шістьма послідовними одиницями: 00111111, 01111110, 111111100.

Стаффінг може збільшити кількість переданих біт до 17%, але на практиці ця величина значно менша. Для пристроїв, що підключаються до шини USB, кодування відбувається прозоро: USB-контролери виконують кодування та декодування автоматично.

Режими роботи шини

  • Low Speed підтримується стандартами версії 1.1 та 2.0. Пікова швидкість передачі даних – 1.5 Мбіт/с (187.5 Кбайт/с). Найчастіше застосовується для пристроїв HID (клавіатур, мишей, джойстиків).
  • Full Speed підтримується стандартами версії 1.1 та 2.0. Пікова швидкість передачі даних – 12 Мбіт/с (1.5 Мбайт/с). До виходу USB 2.0 був найшвидшим режимом роботи.
  • Hi-Speed підтримується стандартом версії 2.0 та 3.0. Пікова швидкість передачі даних – 480 Мбіт/с (60 Мбайт/с).
  • Super-Speed підтримується стандартом 3.0. Пікова швидкість передачі даних – 4.8 Гбіт/с (600 Мбайт/с).

Передача даних

Механізм передачі даних є асинхронним та блоковим. Блок даних, що передаються, називається USB-фреймом або USB-кадром і передається за фіксований часовий інтервал. Оперування командами та блоками даних реалізується за допомогою логічної абстракції, яка називається каналом. Зовнішній пристрій ділиться на логічні абстракції, звані кінцевими точками. Таким чином, канал є логічним зв'язуванням між хост-контролером і кінцевою точкою зовнішнього пристрою. Канал можна порівняти з відкритим файлом.

Для передачі команд (і даних, що входять до складу команд) використовується стандартний канал, а для передачі даних відкриваються або потокові канали, або канали повідомлень.

Інформація каналом передається у вигляді пакетів (Packet). Кожен пакет починається з поля синхронізації SYNC (SYNChronization), за яким слідує ідентифікатор пакета PID (Packet IDentifier).

Систему USB слід поділити на три логічні рівні з певними правилами взаємодії. Пристрій USB містить інтерфейсну, логічну та функціональну частини. Хост теж ділиться на три частини - інтерфейсну, системну та програмне забезпечення. Кожна частина відповідає лише певне коло завдань.

Операція обміну даними між прикладною програмою та шиною USВ виконується шляхом передачі буферів пам'яті через такі рівні: Рівень клієнтського програмного забезпечення в хості:

  • зазвичай є драйвером пристрою USB;
  • забезпечує взаємодію користувача з операційною системою з одного боку та системним драйвером з іншого.

Рівень системного забезпечення USB у хості (USBD, Universal Serial Bus Driver):

  • керує нумерацією пристроїв на шині;
  • управляє розподілом пропускної спроможності шини та потужності живлення;
  • обробляє запити користувацьких драйверів.

Хост-контролер інтерфейсу шини USB(HCD, Host Controller Driver):

  • перетворює запити вводу/виводу структури даних, якими хост-контролер виконує фізичні транзакції;
  • працює з регістрами хост-контролера.

Рівень клієнтського програмного забезпечення визначає тип передачі, необхідний виконання затребуваної прикладної програмою операції. Після визначення типу передачі цей рівень передає системному рівню таке:

  • буфер пам'яті, що називається клієнтським буфером;
  • пакет запиту на внутрішньовенне (IRP, Input/output Request Packet), що вказує тип необхідної операції.
  • IRP містить лише відомості про запит (адреса та довжина буфера в оперативній пам'яті). Безпосередньо обробкою запиту займається системний драйвер USB.

Рівень драйвера USB необхідний для керування ресурсами USB. Він відповідає за виконання таких дій:

  • розподіл смуги пропускання USB шини;
  • призначення логічних адрес пристроїв кожному фізичному USB-пристрою;
  • планування транзакцій.

Логічно передача даних між кінцевою точкою та ПЗ здійснюється за допомогою виділення каналу та обміну даними по цьому каналу. Клієнтське ПЗ посилає IPR-запити рівню USBD. Драйвер USBD розбиває запити на транзакції за такими правилами:

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

Драйвер контролера хоста приймає від системного драйвера шини перелік транзакцій та виконує такі дії:

  • планує виконання отриманих транзакцій, додаючи їх до списку транзакцій;
  • витягує зі списку чергову транзакцію та передає її рівню хост-контролера інтерфейсу шини USB;
  • відстежує стан кожної транзакції до її завершення.

Хост-контролер інтерфейсу шини USB формує кадри. Кадри передаються послідовною передачею біт методом NRZI.

Таким чином:

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


Типи передачі

Специфікація шини визначає чотири різні типи передачі (transfer type) даних для кінцевих точок.

Керуючі передачі (Control Transfers)- використовуються хостом для конфігурування пристрою під час підключення, для керування пристроєм та отримання статусної інформації в процесі роботи. Протокол забезпечує гарантовану доставку таких посилок. Довжина поля даних керуючої посилки не може перевищувати 64 байт на повній швидкості та 8 байт на низькій. Для таких посилок хост гарантовано виділяє 10% смуги пропускання.

Передачі масивів даних (Bulk Data Transfers)- застосовуються за необхідності забезпечення гарантованої доставки даних від хоста до функції або від функції до хоста, але час доставки не обмежений. Така передача займає всю доступну смугу пропускання шини. Пакети мають поле даних розміром 8, 16, 32 чи 64 байт. Пріоритет у таких передач найнижчий, вони можуть призупинятись при великому завантаженні шини. Дозволяється лише на повній швидкості передачі. Такі посилки використовуються, наприклад, принтерами або сканерами.

Передачі з переривань (Interrupt Transfers)- використовуються у разі, коли потрібно передавати одиночні пакети даних невеликого розміру. Кожен пакет потрібно передати за обмежений час. Операції передачі носять спонтанний характер і повинні обслуговуватися не повільніше, ніж цього вимагає пристрій. Поле даних може містити до 64 байт на повній швидкості та до 8 байт на низькій. Межа часу обслуговування встановлюється в діапазоні 1-255 мс для повної швидкості та 10-255 мс - для низької. Такі передачі використовуються у пристроях введення, таких як миша та клавіатура.

Ізохронні передачі (Isochronous Transfers)- застосовуються для обміну даними в "реальному часі", коли на кожному часовому інтервалі потрібно передавати певну кількість даних, але доставка інформації не гарантована (передача даних ведеться без повторення при збоях, допускається втрата пакетів). Такі передачі займають попередньо узгоджену частину пропускної спроможності шини та мають задану затримку доставки. Ізохронні передачі зазвичай використовуються в мультимедійних пристроях для передачі аудіо- та відео, наприклад, цифрова передача голосу. Ізохронні передачі поділяються за способом синхронізації кінцевих точок - джерел чи одержувачів даних - із системою. Розрізняють асинхронний, синхронний та адаптивний класи пристроїв, кожному з яких відповідає свій тип каналу USB.

Усі операції з передачі даних ініціюються лише хостом незалежно від того, приймає він дані чи пересилає в периферійний пристрій. Усі невиконані операції зберігаються у вигляді чотирьох списків за типами передач. Списки постійно оновлюються новими запитами. Планування операцій із передачі інформації відповідно до упорядкованими як списків запитами виконується хостом з інтервалом один кадр. Обслуговування запитів виконується відповідно до таких правил:

  • найвищий пріоритет мають ізохронні передачі;
  • після відпрацювання всіх ізохронних передач система переходить до обслуговування передач переривань;
  • в останню чергу обслуговуються запити передачі масивів даних;
  • після закінчення 90% зазначеного інтервалу хост автоматично переходить до обслуговування запитів на передачу керуючих команд незалежно від того, встиг він повністю обслужити інші три списки чи ні.

Виконання цих правил гарантує, що передачам, що управляють, завжди буде виділено не менше 10% пропускної здатності шини USB. Якщо передача всіх керуючих пакетів буде завершена до закінчення виділеної для них частки інтервалу планування, то час буде використано хостом для передач масивів даних.

Версії специфікації

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

З середини 1996 року випускаються PC із вбудованим контролером USB, реалізованим чіпсетом системної плати.

Перша версія специфікації USB 1.0 підтримує два режими швидкості передачі даних між пристроєм та комп'ютером:

  • Low Speed ​​(1.5 Mbits/sec), для таких пристроїв як миші, клавіатури та джойстики;
  • Full Speed ​​(12 Mbits/sec) , для модемів та сканерів.

Восени 1998 року вийшла версія 1.1 - у ній було усунуто виявлені проблеми першої редакції.

Основні технічні характеристики USB 1.1:

  • Досить висока максимальна швидкість обміну – до 12 Мбіт/с.
  • Максимальна довжина кабелю для високої швидкості обміну – 4,5 м.
  • Максимальна кількість підключених пристроїв (включаючи розмножувачі) – до 127.
  • Можливе підключення пристроїв із різними швидкостями обміну.
  • Не потрібне використання додаткових пристроїв та термінаторів.
  • Подається напруга живлення для периферійних пристроїв – 5 Ст.
  • Максимальний струм споживання на один пристрій – 500 mA.

Навесні 2000 року опубліковано специфікацію USB 2.0, в якій передбачено 40-кратне підвищення пропускної спроможності шини (до 480 Мбіт/с у високошвидкісному режимі). Однак пристрої USB 2.0 вийшли на масовий ринок у 2002 році, коли новий інтерфейс нарешті зміг утвердитися.

Друга версія специфікації USB 2.0 дозволяє використовувати ще один режим High Speed ​​(480 Mbit/sec) для таких пристроїв як жорсткі диски, CD-ROM, цифрові камери. Пропускна здатність 480 Мбіт/с достатня і для зовнішніх накопичувачів, MP3-плеєрів, смартфонів та цифрових камер, яким потрібно було передавати велику кількість даних. Специфікація USB 2.0 повністю підтримує пристрої, розроблені для першої версії. Контролери та хаби автоматично визначають версію специфікації, яку підтримує пристрій. Шина дозволяє з'єднувати до 127 пристроїв віддалених від комп'ютера на відстані до 25 м (з використанням проміжних хабів).

Після широкого впровадження USB 2.0 вдалося повністю замінити послідовний і паралельний інтерфейси.

В даний час широко використовуються пристрої, виконані відповідно до специфікації USB 2.0.

USB 3.0

USB 3.0 підтримує максимальну швидкість передачі 5 Гбіт/с.

Конектор USB 3.0 типу А

Основною метою інтерфейсу USB 3.0 є підвищення доступної пропускної спроможності, проте новий стандарт ефективно оптимізує енергоспоживання. USB 3.0 має чотири стани підключення, названі U0-U3. Стан підключення U0 відповідає активній передачі даних, а U3 занурює пристрій "сон". Якщо підключення не діє, то в стані U1 будуть відключені можливості прийому та передачі даних. Стан U2 йде ще крок далі, відключаючи внутрішні тактові імпульси.

Конектор USB 3.0 типу В

Відповідно, підключені пристрої можуть переходити в стан U1 відразу після завершення передачі даних, що, як передбачається, дасть відчутні переваги з енергоспоживання, якщо порівнювати з USB 2.0.

Крім різних станів енергоспоживання стандарт USB 3.0 відрізняється від USB 2.0 і вищим струмом, що підтримується. Якщо версія USB 2.0 передбачала поріг струму 500 мА, у разі нового стандарту обмеження було зсунуто до планки 900 мА. Струм при ініціації з'єднання був збільшений з рівня 100 мА у USB 2.0 до 150 мА у USB 3.0. Обидва параметри дуже важливі для жорстких портативних дисків, які зазвичай вимагають трохи великі струми. Раніше проблему вдавалося вирішити за допомогою додаткової USB-вилки, отримуючи живлення від двох портів, але використовуючи тільки один для передачі даних.

Кабелі та роз'єми USB

На відміну від громіздких дорогих шлейфів паралельних шин АТА і особливо шини SCSI з її різноманітністю роз'ємів та складністю правил підключення, кабельне господарство USB просте та витончене.

Існує п'ять видів USB-роз'ємів:

Зліва направо: micro USB, mini USB, B-type, A-type роз'єм, A-type конектор

  • micro USB- використовується в найменших пристроях на кшталт плеєрів та мобільних телефонів;
  • mini USB- також часто виявляється на плеєрах, мобільних телефонах, а заразом і на цифрових фотоапаратах, КПК тощо;
  • B-type- повнорозмірний роз'єм, що встановлюється в принтерах, сканерах та інших пристроях, де розмір не має дуже важливого значення;
  • A-type (приймач)- роз'єм, що встановлюється в комп'ютерах (або подовжувачах USB), куди підключається конектор типу A-type;
  • A-type (вилка)- конектор, що підключається безпосередньо до комп'ютера у відповідний роз'єм.

Система кабелів і конекторів USB не дає змоги помилитися під час підключення пристроїв. Гнізда типу «А» встановлюються тільки на низхідних портах хабів, виделки типу «А» - на шнурах периферійних пристроїв або портів висхідних хабів. Гнізда та виделки типу «В» використовуються тільки для шнурів, що від'єднуються від периферійних пристроїв та висхідних портів хабів (від «дрібних» пристроїв - мишей, клавіатур тощо кабелі, як правило, не від'єднуються). Хаби і пристрої забезпечують можливість «гарячого» підключення та відключення.

Максимальна довжина кабелю USB може становити 5 метрів. Це обмеження введено для зменшення часу відгуку пристрою. Хост-контролер очікує надходження даних обмежений час, і якщо вони затримуються, з'єднання може бути втрачено.

Кабель для підтримки повної швидкості шини (full-speed) виконується як кручена пара, захищається екраном і може використовуватися для роботи в режимі мінімальної швидкості (low-speed). Кабель для роботи лише на мінімальній швидкості (наприклад, для підключення миші) може бути будь-яким та неекранованим.

Література

  1. Косцов А., Косцов В. Залізо ПК. Настільна книга користувача. – М.: Мартін, 2006. – 480 с.
Поломки