Як працюють USB порти-частина III
Джерело даних - або контролер або пристрої в залежності від напрямку - надсилається пакет даних. У більшості випадків операція завершується призначенням відправки даних Пакети ACK, вказують на дані, які були прийняті, НАК, вказують, що дані не були прийняті, або STALL, який сигналізує про те, що кінцева точка застопорилася.
РухUSB регулюється одиницею часу кадру. Довжина кожного кадру визначає час і працює на швидкості 1 кГц, тому є 1000 кадрів в секунду: одна в мілісекунду. На початку кожного кадру початку кадру (SOF) пакет відправляється по шині, що дозволяє ізохронним пристроям зробити синхронізацію з каналом зв'язку. Концепція кадрів має ключове значення для того, щоб канал зв'язку мав пропускну здатність шини між різними конкуруючими пристроями.USB-розробники вважають, що було б неможливо підтримувати кілька одночасних потоків ізохронного зв'язку зі швидкими темпами зразка за допомогою системи, в якій кожен пристрій повинен переривати хост для кожної вибірки даних, які будуть передані. Тому вони розробили систему так, щоб ізохронні пристрої мали гарантоване смуги пропускання шляхом виділення частки часу в кожному кадрі. Щонайменше 10 відсотків кожного кадру зарезервовано для використання в керуючих передачах. Ця частка може бути збільшена шляхом системного програмного забезпечення, якщо продуктивність буде визнана невеликою шляхом контролю пакетів, які надмірно затримуються. Максимальна безперервна пропускна здатність вище швидкостіUSB повинна бути меншою за 90 відсотків швидкості передачі. Частину або весь час, що залишився, в кожному кадрі можна передати по каналах зв'язкуізохронні пристрої. Фактична частка виділених кожному каналу зв'язку заздалегідь обумовлено, коли канал зв'язку встановлено. Це гарантує, що певний обсяг даних може передаватися кожну мілісекунду. Будь-яка пропускна здатність, що залишилася, доступна для інших типів передачі. Ізохронні пристрої повинні мати буфер даних і один кадр і можливість відправити кожному блоку по шині як одну транзакцію. На приймальному кінці небуферизовані дані відновлюються як реального часу. Наприклад, аудіо пристрій працює з CD-якістю і частотою дискретизації 44,1 кГц надішле дев'ять кадрів з 44 вибірками на кадр, а потім один кадр з 45 зразками. Після буферизації на джерело та unbuffering у пункті призначення буде затримка пару мілісекунд у наданні даних, але швидкість доставки – яка, що важливо для збереження якості – буде збережена. Переривання перекладу також певною мірою має критичний час. Коли створюються канали зв'язку для переривання кінцевої точки, необхідний період доступу до шини від 1 до 255ms (10 та 255ms у разі низької швидкості пристроїв) не вказано. Системне програмне забезпечення опитує переривання кінцевої точки в інтервалі, який гарантує, що якщо операція переривання ще не завершена, вона розглядається протягом бажаного періоду часу. Обробка помилок Значні функції перевірки помилок та обробки помилок були вбудовані вUSB, щоб гарантувати, що це надійний спосіб підключення периферійних пристроїв до ПК. Цілісність даних має бути порівнянна з внутрішньою шиною розширення. Імунітет від пошкодження даних завдяки шуму був забезпечений за рахунок використання диференціальної логіки каналів зв'язку та екранованих кабелів. Якщо помилки відбуваються, циклічна надлишковаперевірка (контрольні суми) проводиться окремо кожному контрольному полі даних пакетів,і дозволяє на 100 відсотків відновленню як одиночної, і подвійних помилок бита. Непереборні помилки можуть бути виявлені з високим ступенем достовірності. Механізм самовідновлення вбудований у протокол обміну повідомленнями, з тайм-аутом для втрачених та недійсних пакетів. Деякі помилки вбудовані в апаратні засоби. Хост-контролер буде відправляти транзакції, що призводять до краху три рази, перш ніж повідомити про помилку клієнтського програмного забезпечення. Переривання та передача даних об'єднуються в пакет, щоб надати підтвердження того, що дані були отримані, або опитати, щоб він був повторно відправлений, якщо цього не було. Таким чином гарантується доставка цих даних, навіть якщо час, необхідний для доставки менше. З ізохронними даними, неможливе повторення не вдалої передачі даних. Оскільки один «Слот» виділяється в каналі зв'язку під час кожного кадру, повторне відправлення даних призведе до затримки передачі наступних зразків даних, порушуючи час елементів передачі. Тому відправляється не пакет, а дані, які мають бути прийняті «як є». ВисновокUniversal Serial Bus забезпечує універсальний, гнучкий спосіб підключення широкого спектру низькошвидкісних і середньошвидкісних периферійних пристроїв до ПК при відносно низьких витратах. Його встановлення, підключення та конфігурація означає, що встановлення та підтримка периферійних пристроїв значно простіше в порівнянні з пристроями, які використовують послідовний, паралельний або власні інтерфейси.