Спецификация USB.Rev1.0

       

Связываемость


Чтобы полностью описывать процесс связываемости источника-со-стоком, используется модель связи. Модель показывает различные включаемые компоненты и как они взаимодействуют, чтобы установить соединение.

Модель предусматривает ситуации со многими-источниками/многими-стоками.

Рисунок 5-15 иллюстрирует типичную ситуацию (сильно сжатая и незавершенная)(highly condensed and incomplete). Физическое устройство соединено с прикладным программным обеспечением хоста через различные уровни аппаратных средств и программного обеспечения как описано в спецификации USB. В клиентском уровне интерфейса, приложение представлено как “виртуальное” устройство. (At the client interface level, a “virtualized” device is presented to the application.)  С точки зрения приложения, существуют только виртуальные устройства. Оно до драйвера устройства и клиентского программного обеспечения, решает то, какие точно зависимости есть между физическим и виртуальным устройством.(It is up to the device driver and client software to decide what the exact relation is between physical and virtual device.)

Рисунок 5-15. Примера Соединения Источника/Стока

Изготовители устройства (или продавцы операционной системы) должны предоставить необходимое программное обеспечение драйвера устройства и программное обеспечение клиентского интерфейса, чтобы преобразовать их устройство от физической реализации к реализации, подходящей программному обеспечению USB, в виде виртуального устройства. Как изложено выше, в зависимости от возможностей встроенных в это программное обеспечение, виртуальное устройство может проявлять  поведение при синхронизации отличное от физического устройства.  Однако, классификация синхронизации одинаково применяется на и физические и на виртуальные устройства. Все физические устройства принадлежат одному из трех возможных типов синхронизации.  Следовательно, возможности, которые должны встраиваться в драйвер устройства и-или клиентское программное обеспечение должны быть такие же как возможности физического устройства. Слово “приложение” должно быть заменено на " драйвер " устройства/клиентское программное обеспечение”. В случае соединения физического источника с виртуальным источником, “ виртуальное устройство источника ” должно быть заменено на “ физическое устройство источника ” и “ виртуальное устройство стока ”, должно быть заменено на “ виртуальное устройство источника ”. В случае соединения виртуального стока с физическим стоком, “ виртуальное устройство источника ” должно быть заменено на “ виртуальное устройство стока ” и “ виртуальное устройство стока ”, должно быть заменено на “ физическое устройство стока. ”


Размещение функциональных возможностей адаптации скорости в уровень драйвера устройства/ клиентского программного обеспечения имеет отличное преимущество изоляции всех приложений, использующих устройство, от специфики и проблем, связанных с адаптацией скорости. Приложения, которые иначе были бы много-скоростными, вырождаются к более простым моно-скоростным системам.

Следует обратить внимание, что модель не ограничена только устройствами  USB. Дисковод CD-ROM, например, содержащий 44.1 кГц звук может проявляться(appear) или как асинхронный или синхронный или адаптивный источник. Асинхронная операция означает, что CD-ROM заполняет буфер со скоростью, с которой он читает данным с диска, и драйвер освобождает буфер согласно интервалу обслуживания USB. Синхронная операция означает, что драйвер использует интервал обслуживания USB (например, 10 мс) и номинальная скорость выборки данных (44.1 кГц) которая определяет осуществление 441 выборок каждый интервал обслуживания USB. Адаптивная операция была бы встроена в преобразователь скорости выборок, чтобы согласовывать выходную скорость CD-ROM с различными скоростями выборок стока.

При использовании этой эталонной модели, возможно определить что необходимы операции установки соединения между различными источниками и стоками.(Using this reference model, it is possible to define what operations are necessary to establish connections between various sources and sinks.) Кроме того, модель указывает, что одинаковость этих операции должна или может иметь место.( Furthermore, the model indicates at what level these operations must or can take place.) Сначала имеется стадия, где физические устройства отображены(mapped) на виртуальные устройства и наоборот. Она выполнена драйвером и-или клиентским программным обеспечением. В зависимости от возможностей, включенных в это программное обеспечение, физическое устройство может быть преобразовано в виртуальное устройство полностью другого типа синхронизации. Второй стадия - это приложение, которое использует виртуальные устройства. Размещение возможностей согласования скорости на уровне драйвера/клиента стека программного обеспечения освобождает приложение связывающееся с виртуальными устройствами от забот по выполнению согласования скорости для каждого устройства, которое присоединено к ним(??? к такие "к ним "). Если только виртуальные характеристики устройства определены(decided), фактические характеристики устройства интересны не больше чем фактические физические характеристики устройства другого драйвера.



Например, рассмотрим приложение смесителя, которое соединяется на стороне источника с различными источниками, каждый выполняется со своей собственной частотой и часами.  Прежде, чем сможет происходить смешивание, все потоки должны быть преобразованы в общую частоту и привязаны к общим эталонным часам. Это действие может выполняться в физическом отображеном на виртуальный уровене или оно может быть выполнено приложением непосредственно для каждого устройства источника независимо. (This action can be performed in the physical to virtual mapping layer or .) Подобные же действия должны выполниться на стороне стока. Если приложение посылает смешанный поток данных наружу различным устройствам стока, возможно или делать согласование скорости для каждого устройства, непосредственно или положиться на  драйвер/клиенское программное обеспечение, чтобы он сделал это если возможно.

Таблица 5-8 указывает в пересечениях, какие действия должно выполнить приложение, чтобы соединить конечную точку истока с конечной точкой стока.



Таблица 5-8 Требования к Соединению

Конечная Точка Истока

Конечная Точка Стока

Асинхронный

Синхронный

Адаптивный

Асинхронный

АÒËÌ??. Исток/Сток RA

См. Примечание 1.

АÒËÌ??. SOF/Сток RA

См. Примечание 2.

Data + Feedback Feedthrough

См. Примечание 3.

Синхронный

Асинхр. Исток/SOF RA

См. Примечание 4.

АÒËÌ??. RA

См. Примечание 5.

Data Feedthrough + Application Feedback

См. Примечание 6.

Адаптивная

Data Feedthrough

См. Примечание 7.

Data Feedthrough

См. Примечание 8.

Data Feedthrough

См. Примечание 9.

Примечания:

1.     Асинхронная RA в приложении. Fsi - определенние источника, используя информацию упреждения, внедренную в поток данных(Fsi is deter­mined by the source, using the feedforward information embedded in the data stream.) Fso - определение стока, основываясь на информации обратной связи от стока. Если номинально Fsi = Fso, процесс вырождается к проходному(feedthrough) соединению, если ошибки/заполнения(slip/stuff) из-за недостатка синхронизации терпимы (If nominally Fsi = Fso, the process degenerates to a feedthrough connection if slips/stuffs due to lack of synchronization are tolerable.) Такие ошибки/заполнения вызовут слышимые искажение воспроизведения в звуковых приложениях.



2.     Асинхронная RA в приложении.  Fsi определение источника но с привязкой к SOF.  Fso

-, определение стока, основываясь на информации обратной связи от стока. Если номинально Fsi = Fso, the process degenerates to a feedthrough connection if slips/stuffs due to lack of synchronization are tolerable.  Such slips/stuffs will cause audible degradation in audio applications.

3.     If Fso

falls within the locking range of the adaptive source, a feedthrough connection can be established.  Fsi = Fso, and both are deter­mined by the asynchronous sink, based on feedback information from the sink.  If Fso

falls outside the locking range of the adaptive source, the adaptive source is switched to synchronous mode and Note 2 applies.

4.     Asynchronous RA in the application. Fsi is deter­mined by the source.  Fso

is determined by the sink and locked to SOF.  If nominally Fsi = Fso, the process degenerates to a feedthrough connection if slips/stuffs due to lack of synchronization are tolerable.  Such slips/stuffs will cause audible degradation in audio applications.

5.     Synchronous RA in the application.  Fsi is deter­mined by the source and locked to SOF.  Fso is determined by the sink and locked to SOF.  If Fsi

= Fso, the process degener­ates to a loss-free feedthrough connection.

6.     The application will provide feedback to synchronize the source to SOF.  Then the adaptive source appears to be a synchronous endpoint and Note 5 applies.

7.     If Fsi

falls within the locking range of the adaptive sink, a feedthrough connection can be established.  

Fsi = Fso and are deter­mined by and locked to the source.

If Fsi falls outside the locking range of the adaptive sink, synchronous RA is done in the host to provide an Fso that is within the locking range of the adaptive sink.

8.     If Fsi

falls within the locking range of the adaptive sink, a feedthrough connection can be established.  

Fso  = Fsi and are deter­mined by the source and locked to SOF.

If Fsi falls outside the locking range of the adaptive sink, synchronous RA is done in the host to provide an Fso that is within the locking range of the adaptive sink.

9.     The application will use feedback control to set Fso of the adaptive source when the connection is set up.  The adaptive source operates as an asynchronous source in the absence of ongoing feedback information and Note 7 applies.

В случаях, где RA необходим, но не доступен, процесс адаптации скорости мог бы подражать пропуску/заполнению выборки (In cases where RA is needed but not available, the rate adaptation process could be mimicked by sample dropping/stuffing.) Тогда соединение могло бы еще осуществлено, возможно с предупреждением о низком качестве; иначе, соединение не может осуществлено(made).


Содержание раздела