Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 31

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — СПб.: БХВ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interface2004.djvu
Предыдущая << 1 .. 25 26 27 28 29 30 < 31 > 32 33 34 35 36 37 .. 166 >> Следующая

? изохронные передачи гарантированно получают 90% пропускной способности шины;
? передачи прерываний занимают оставшуюся после изохронных операций часть этой 90-процентной доли.
? под передачу данных большого объема выделяется все время, оставшееся после изохронных передач и передач прерываний (по-прежнему в рамках 90% доли пропускной способности);
? управляющим передачам гарантируется 10% пропускной способности шины;
? если передача всех управляющих пакетов будет завершена до завершения выделенного для них 10-процентного интервала, то оставшееся время будет использовано для передач данных большого объема.
3.4. Синхронизация
при изохронной передаче
Изохронная передача данных связана с синхронизацией устройств, объединенных в единую систему [2]. Возьмем пример использования USB, когда к компьютеру подключен микрофон USB (источник данных) и колонки USB (приемник данных), и эти аудиоустройства связаны между собой через программный микшер (клиентское ПО). Каждый из компонентов может иметь свои "понятия" о времени и синхронизации: микрофон, к примеру, может иметь частоту выборки 8 кГц и разрядность данных 1 байт (поток 64 Кбит/с), стереоколонки — 44,1 кГц и разрядность 2x2 байта (176,4 Кбит/с), а микшер может работать на частоте выборок 32 кГц. Микшер в этой системе является связующим звеном, и его источник синхронизации будем считать главным (master clock). Программный микшер обрабатывает данные пакетами, сеансы обработки выполняются регулярно с определенным периодом обслуживания (скажем, в 20 мс — частота 50 Гц). В микшере должны быть модули согласования частот выборки, которые объединяют несколько выборок в одну, если входная частота выше выходной, или
74
Часть II. Внутренняя организация USB
"сочиняют" (интерполируют) новые промежуточные выборки, если выходная частота выше. В системе с USB приходится иметь дело со следующими частотами:
? Fs (sample clock, частота данных) — частота выборки (sample rate) для источников (source) и приемников (sink) данных;
? Fsof (bus clock, частота шины) — частота кадров (1 кГц) для полной скорости и микрокадров (8 кГц). С этой частотой все устройства USB "видят" маркеры начала кадров SOF;
? Fx (service clock, частота обслуживания) — частота, с которой клиентское ПО обращается к драйверам USB для передачи и приема изохронных данных.
В системе без общего источника синхронизации между парами синхросигналов возможны отклонения следующих типов:
? дрейф (clock drift) — отклонения формально одинаковых частот от номиналов (не бывает двух абсолютно одинаковых генераторов);
? дрожание (clock jitter) — колебание частот относительно номинала;
? фазовый сдвиг (clock-to-clock phase differences), если сигналы не связаны системой фазовой автоподстройки ФАПЧ (PLL).
В цифровой системе передачи данных эти отклонения выливаются в то, что у источника или приемника данных может образовываться излишек или недостаток данных, колеблющийся или накапливающийся во времени. Согласование скоростей выполняется с использованием механизма прямого объявления скорости (feed forward) или механизма обратной связи (feedback). Какой из механизмов используется, зависит от типа синхронизации, поддерживаемого изохронной конечной точкой данного устройства.
В USB по способу синхронизации конечных точек (источников или получателей данных) с системой различают асинхронный, синхронный и адаптивный классы устройств (точнее, конечных точек), каждому из которых соответствует свой тип канала USB. Тип синхронизации задается битами 3 и 2 байта атрибутов в дескрипторе конечной точки (см. разд. 4.1.3).
Асинхронные устройства не имеют возможности согласования своей частоты выборок с метками SOF или иными частотами системы USB. Частота передачи данных у них фиксированная или программируемая. Число байт данных, принимаемых за каждый кадр USB, не является постоянным. Асинхронный источник данных неявно объявляет свою скорость передачи числом выборок, передаваемых им за один кадр — клиентское ПО будет обрабатывать столько данных, сколько реально поступило. Асинхронный приемник данных должен обеспечивать явную обратную связь для адаптивного драйвера клиентского ПО, чтобы согласовать темп выдачи потока (см. далее). Примерами асинхронного устройства-источника может быть CD-плеер с синхро-
гпава 3. Внутренняя организация шины
75
низацией от кварцевого генератора или приемник спутникового телевещания. Пример приемника — дешевые колонки, работающие от внутреннего источника синхронизации.
Синхронные устройства имеют внутренний генератор, синхронизируемый с метками SOF (системная частота 1 или 8 кГц); на высокой частоте передачи более точную синхронизацию обеспечивает связь с микрокадрами. Источники и приемники за каждый кадр генерируют (потребляют) одинаковое количество байт данных, которое устанавливается на этапе программирования каналов. Примером синхронного источника может быть цифровой микрофон с частотой выборки, синтезируемой по SOF. Синтезатор частоты должен учитывать возможность пропадания 1—2 маркеров (из-за возможных ошибок передачи), поддерживая постоянную частоту. Эти точки используют неявную обратную связь, подстраиваясь под частоту шины. С программной точки зрения организация каналов с такими устройствами проще всего.
Предыдущая << 1 .. 25 26 27 28 29 30 < 31 > 32 33 34 35 36 37 .. 166 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100