Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Послідовні шини USB і FireWire.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
293 Кб
Скачать
☆

4.1.5. Синхронізація при ізохронній передачі

Ізохронна передача даних пов'язана з синхронізацією пристроїв, що об'єднуються в єдину систему. Візьмемо приклад використання USB, коли до комп'ютера підключений мікрофон USB (джерело даних) і колонки USB (приймач даних), і ці аудіопристрої зв'язані між собою через програмний мікшер (клієнтське ПО). Кожен з цих компонентів може мати власні «поняття» про час і синхронізацію: мікрофон, наприклад, може мати частоту вибірки 8 кГц і розрядність даних 1 байт (потік 64 Кбіт/с), стереоколонки — 44,1 кГц і розрядність 2х2 байта (176,4 Кбіт/с), а мікшер може працювати на частоті вибірок 32 кГц. Мікшер в цій системі є сполучною ланкою, і його джерело синхронізації вважатимемо головним (master clock). Програмний мікшер обробляє дані пакетами, сеанси обробки виконуються регулярно з певним періодом обслуговування (скажімо, в 20 мс — частота 50 Гц). У мікшері повинні бути модулі узгодження частот вибірки, які об'єднують декілька вибірок в одну, якщо вхідна частота вище вихідний, або «складають» (інтерполюють) нові проміжні вибірки, якщо вихідна частота вища. У системі з USB доводиться мати справу з наступними частотами:

• частота вибірки (sample rate) для джерел (source) і приймачів (sink) даних;

• частота шини USB — частота кадрів (1 кГц) для повної швидкості і мікрокадрів (8 кГц) для високої (з цією частотою всі пристрої USB «бачать» маркери початку (мікро) кадрів SOF);

• частота обслуговування — частота, з якою клієнтське ПО звертається до драйверів USB для передачі і прийому ізохронних даних.

У системі без загального джерела синхронізації між парами синхросигналов можливі відхилення наступних типів:

• дрейф (drift) — відхилення формально однакових частот від номіналів (не буває двох абсолютно однакових генераторів);

• тремтіння (jitter) — коливання частот щодо номінала;

• фазове зрушення, якщо сигнали не зв'язані системою фазового автопідстроювання ФАПЧ (PLL).

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

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

Синхронні пристрої мають внутрішній генератор, що синхронізується з мітками SOF (системна частота 1 кГц); на високій частоті передачі точнішу синхронізацію забезпечує зв'язок з мікрокадрами. Джерела і приймачі за кожен (мікро) кадр генерують (споживають) однакову кількість байт даних, яке встановлюється на етапі програмування каналів. Прикладом синхронного джерела може бути цифровий мікрофон з частотою вибірки, що синтезується по SOF.

Адаптивні пристрої мають можливість підстроювання своєї внутрішньої частоти під необхідний потік даних (у певних межах). Адаптивне джерело дозволяє міняти швидкість під управлінням приймача, що забезпечує зворотний зв'язок. Для адаптивного приймача інформацію про частоту задає вхідний потік даних. Він визначає миттєве значення частоти по кількості даних, прийнятих за деякий інтервал усереднювання. Прикладом адаптивного джерела є CD-плейер з вбудованим узгоджувачем частоти SRC (sample rate converter) приймача — високоякісні колонки або навушники USB.

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

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