
- •Лекція. Послідовні шини usb і FireWire.
- •1.1. Організація шини usb
- •4.1.2. Модель передачі даних
- •4.1.3. Протокол
- •Мал. 4.4. Послідовності пакетів: а — вивід, б—ввод
- •Мал. 4.5. Потік кадрів usb
- •4.1.4. Типи передач даних
- •4.1.5. Синхронізація при ізохронній передачі
- •4.1.6. Хост
- •4.1.7. Застосування шини usb
- •4.1.8. Розробка власних пристроїв usb
- •4.2. Шина ieee 1394 – FireWire
- •4.2.1. Фізичний рівень мережі
- •4.2.3. Пристрої і адаптери 1394
- •4.2.4. Використання 1394
Мал. 4.4. Послідовності пакетів: а — вивід, б—ввод
Кадр N-1 Кадр N Кадр N+1
Інтервал EOF Інтервал EOF Інтервал EOF
(Кадр N-1) (Кадр N) (Кадр N+1)
Мал. 4.5. Потік кадрів usb
Для виявлення помилок передачі кожен пакет має контрольні поля CRC-кодов, що дозволяють виявляти всі одиночні і подвійні бітові помилки. Апаратні засоби виявляють помилки передачі, а контроллер автоматично проводить триразову спробу передачі. Якщо повтори безуспішні, повідомлення про помилку передається клієнтському ПО.
Всі подробиці організації транзакцій від клієнтського ПО ізолюються контроллером USB і його системним програмним забезпеченням.
4.1.4. Типи передач даних
Архітектура USB допускає чотири базові типи передачі даних.
• Посилки (control transfers), що управляють, використовуються для конфігурації пристроїв під час їх підключення і для управління пристроями в процесі роботи. Протокол забезпечує гарантовану доставку даних.
• Передачі масивів даних (bulk data transfers) — це передачі без яких-небудь зобов'язань по затримці доставки і швидкості передачі. Передачі масивів можуть займати всю смугу пропускання шини, вільну від передач інших типів. Пріоритет цих передач найнижчий, вони можуть припинятися при великому завантаженні шини. Доставка гарантована — при випадковій помилці виконується повтор. Передачі масивів доречні для обміну даними з принтерами, сканерами, пристроями зберігання і тому подібне
• Переривання (interrupt) — короткі передачі, які мають спонтанний характер і повинні обслуговуватися не повільніше, ніж того вимагає пристрій. Межа часу обслуговування встановлюється в діапазоні 10-255 мс для низької, 1-255 мс для повної швидкості, на високій швидкості можна замовити і 125 мкс. При випадкових помилках обміну виконується повтор. Переривання використовуються, наприклад, при введенні символів з клавіатури або для передачі повідомлення про переміщення миші.
• Ізохронні передачі (isochronous transfers) — безперервні передачі в реальному часі, що займають заздалегідь узгоджену частину пропускної спроможності шини з гарантованим часом затримки доставки. Дозволяють на повній швидкості організувати канал із смугою 1,023 Мбайт/с (або два по 0,5 Мбайт/с), зайнявши 70 % доступної смуги (залишок можна заповнити і менш ємкими каналами). На високій швидкості кінцева крапка може отримати канал 24 Мбайт/с (192 Мбіт/с). У разі виявлення помилки ізохронні дані не повторюються — недійсні пакети ігноруються. Ізохронні передачі потрібні для потокових пристроїв: відеокамер, цифрових аудіопристроїв (колонки USB, мікрофон), пристроїв відтворення і запису аудио- і відеоданих (CD і DVD). Відеопотік (без компресії) шина USB здатна передавати тільки на високій швидкості.
Смуга пропускання шини ділиться між всіма встановленими каналами. Виділена смуга закріплюється за каналом, і, якщо встановлення нового каналу вимагає такої смуги, яка не вписується у вже існуючий розподіл, запит на виділення каналу відкидається.
Архітектура USB передбачає внутрішню буферизацію всіх пристроїв, причому ніж більшої смуги пропускання вимагає пристрій, тим більше повинен бути його буфер. Шина USB повинна забезпечувати обмін з такою швидкістю, щоб затримка даних в пристрої, викликана буферизацією, не перевищувала декількох мілісекунд.