русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Інтерфейс USB


Дата додавання: 2013-12-23; переглядів: 1912.


USB (Universal Serial Bus – універсальна послідовна шина) забезпечує одночасний обмін даними між хост-комп'ютером та безліччю периферійних пристроїв (ПП). Розподіл пропускної здатності шини між ПУ планується хостом та реалізується за допомогою посилки маркерів. Шина дозволяє підключати, конфігурувати, використовувати та відключати пристрої під час роботи хоста та самих пристроїв. При передачі даних в USB використовується кодування на основі циклічних контрольних кодів CRC. Тому можливо по двохпровідній лінії здійснити одночасну безпомилкову передачу даних між пристроями системи.

Архітектура USB одержала широке поширення завдяки простоті технічної реалізації, гнучкості підключення за технологією Plug & Play до 128 пристроїв та значній швидкості передачі (до 12 Мбит/c для версії 1.1).

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

Таблиця 15.1

№ контакту Найменування
VCC (+5V, 100mА)
- Data
+ Data
GND

 

 

Рис. 15.1. Схема підключення пристрою USB на повній швидкості

 

Пристрої USB - функції та хаби

Пристрої (Device) USB можуть бути хабами, функціями або їхньою комбінацією. Хаб (Hub) забезпечує додаткові точки підключення пристроїв до шини. Функції (Function) USB надають системі додаткові можливості, наприклад підключення до ISDN, цифровий джойстик, акустичні колонки із цифровим інтерфейсом та ін. Пристрій USB повинен мати інтерфейс USB, що забезпечує повну підтримку протоколу USB, виконання стандартних операцій (конфігурування та скидання) і надання інформації, що описує пристрій. Багато пристроїв, що підключаються до USB, мають у своєму складі хаб і функції. Роботою всієї системи USB управляє хост-контролер (Host Controller), що є програмно-апаратною підсистемою хост-комп'ютера (реалізований у більшості сучасних чипсетів).

Фізичне з'єднання пристроїв здійснюється по топології багатоярусної зірки. Центром кожної зірки є хаб. Кожний кабельний сегмент з'єднує дві точки (хаб з іншим хабом або з функцією). У системі є один (і тільки один) хост-контролер, розташований у вершині піраміди пристроїв та хабів. Хост-контролер інтегрується з кореневим хабом (Root Hub), що забезпечує одну або кілька точок підключення - портів. Контролер USB, що входить до складу чипсетів, звичайно має убудований двохпортовий хаб. Пристрій, підключений до будь-якого хаба USB та сконфігурований, може розглядатися як безпосередньо підключений до хост-контролера.

Рис. 15.2. Приклад підключення пристроїв USB

 

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

Кожна функція надає конфігураційну інформацію, що описує можливості ПП та вимоги до ресурсів. Перед використанням функція повинна бути сконфігурована хостом - їй повинна бути виділена смуга в каналі та обрані опції конфігурації.

Прикладами функцій є вказівники (миша, планшет, світлове перо), пристрої введення (клавіатура або сканер), пристрої виводу (принтер, цифрові звукові колонки), телефонний адаптер ISDN.

Хаб – ключовий елемент системи РпР в архітектурі USB. Хаб є кабельним концентратором. Точки підключення називаються портами хаба. Кожний хаб перетворить одну точку підключення в їхню безліч. Архітектура допускає з'єднання декількох хабов.

У кожного хаба є один порт (Upstream Port), призначений для підключення до хосту або хабу верхнього рівня. Інші порти (Downstream Ports) призначені для підключення функцій або хабів нижнього рівня. Хаб може розпізнавати підключення пристроїв до портів або відключення від них та управляти подачею живлення на їхні сегменти. Кожний з портів може бути дозволений або заборонений та сконфігурований на повну або обмежену швидкість обміну. Хаб забезпечує ізоляцію низькошвидкісних сегментів від високошвидкісних.

Стандарт USB визначає електричні та механічні специфікації шини. Інформаційні сигнали та живляча напруга 5В передаються по чотирипровідному кабелю. Використовується диференціальний спосіб передачі сигналів D+ та D- по двом проводам. Рівні сигналів передавачів у статичному режимі повинні бути нижче 0,3В (низький рівень) або вище 2,8В (високий рівень). Приймачі витримують вхідну напругу в межах -0,5...+3,8В. Передавачі повинні вміти переходити у Z-стан для двонаправленоїй напівдуплексної передачі по одній парі проводів.

Шина має два режими передачі. Повна швидкість передачі сигналів USB становить 12Мбит/с, низька - 1,5Мбит/с. Для повної швидкості використовується екранована кручена пари з імпедансом 90 Ом та довжиною сегмента до 5м, для низкою - невитий неекранований кабель до 3м. Одна система може одночасно використовувати обидва режими. Перемикання для пристроїв здійснюється прозоро. Низька швидкість призначена для роботи з невеликою кількістю ПП, не потребуючих високої швидкості. Швидкість, використовувана пристроєм, підключеним до конкретного порту, визначається хабом по рівнях сигналів на лініях D+ та D-, що зміщуються навантажувальними резисторами R1 приймально-передавальних пристроїв.

Живлення пристроїв USB можливо від кабелю ( Bus-Powered Devices) або від власного блока живлення ( Self-Powered Devices). Хост забезпечує живленням безпосередньо підключені до нього ПП. Кожний хаб, у свою чергу, забезпечує живлення пристроїв, підключених до його портів. При деяких обмеженнях топології допускається застосування хабов, що живляться від шини.

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

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

Конфігурування пристроїв, виконуване хостом, є необхідним для їхнього використання. Для конфігурування звичайно використовується інформація, отримана із самого пристрою. Пристрій може мати безліч інтерфейсів, кожному з яких відповідає власна кінцева точка, що представляє хосту функцію пристрою. Інтерфейс у конфігурації може мати альтернативні набори характеристик; зміна наборів підтримується протоколом. Для підтримки адаптивних драйверів дескриптори пристроїв та інтерфейсів мають поля класу, підкласу та протоколу.

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

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

Пристрій USB повинен підтримувати припинення (Suspended Mode), у якому його споживаний струм не перевищує 500мкА. Пристрій повинен автоматично зупинятися при припиненні активності шини.

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

USB підтримує однонаправлені та двонаправлені режими зв'язку.

Архітектура USB визначає чотири базових типи передачі даних: керуючі передачі, суцільні передачі, переривання та ізохронні передачі.

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

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

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

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

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

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

Стійкість до помилок забезпечують наступні властивості USB:

· Висока якість сигналів, що досягається завдяки диференціальним приймачам/передавачам та екранованим кабелям.

· Захист полів керування та даних CRC-Кодами.

· Виявлення підключення та відключення пристроїв і конфігурування ресурсів на системному рівні.

· Самовідновлення протоколу з тайм-аутом при втраті пакетів.

· Керування потоком для забезпечення ізохронності та керування апаратними буферами.

· Незалежність функцій від невдалих обмінів з іншими функціями.

Для виявлення помилок передачі кожний пакет має контрольні поля CRC-Кодів, що дозволяють виявляти всі одиночні та подвійні бітові помилки. Апаратні засоби виявляють помилки передачі, а контролер автоматично робить трикратну спробу передачі. Якщо повтори безуспішні, повідомлення про помилку передається клієнтському ПО.


<== попередня лекція | наступна лекція ==>
Стандарт IEEE 1284 | Інтерфейс FireWire (IEEE 1394)


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн