?

Log in

No account? Create an account
Fire-wire против USB: ну сколько можно а. - сообщество "Звукорежиссура" — LiveJournal [entries|archive|friends|userinfo]
Звукорежиссура

[ website | Привоз звукового оборудования из Европы (www.thomann.de) ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Fire-wire против USB: ну сколько можно а. [Apr. 6th, 2010|07:32 pm]
Звукорежиссура

ru_zvuk

[krasowski]
[Tags|, , , , , ]

Я постоянно наблюдаю с какой частотой стоит вопрос а выборе внешних аудио-интерфейсов оперирующий в основном лишь дилемой о шине подключения. Вопрос этот иногда носит настолько безграмотный характер, что Я хотел бы его осветить. Некоторые моменты, представленные ниже, даны условно и упрощенно, так чтобы не уходить слишком глубоко в суть проблемы.

Представим что нам нужен внешний аудио-интерфейс, либо на юсб, либо на файр-вайр шинах. Мы хотим чтобы к этому интерфейсу можно было подключить как можно больше аналоговых инструментов, и в тоже время иметь возможность качественного мониторинга. При всем этом проекты нам хотелось бы вести с достаточно высоким уровнем качества. Итак пусть это будет следующий интерфейс:
10 in - 24bit 96k
10 out - 24bit 96k

Один моно канал каждую секунду квантуется (dsp чипом) 24 бита 96 000 раз. 1 байт = 8 бит. 24бита = 3 байта.
За 1 секунду моно канал пропускает 288 000 байт ~ 282 килобайта аудио-данных или же 2,3 Мбит/с
Допустим нам нужно одновременно использовать 10 входов и 10 выходов в формате 24/96. Для удобства будем оперировать бит/с:
10 моно входов будут пропускать за 1с 23Мбит (очень грубо 3Мбайта данных).
Столько же аудио-данных формата 24/96 будут передаваться 10-ю моно выходами.

Итак общая нагрузка на наш сферический аудио-интерфейс с 10in/10out каналами в формате 24/96 будет составлять 46Мбит/с (около 6Мбайт в секунду):
Пропускная способность ЮСБ 2.0 = 480Мбит/с (сравните с требуемыми 46Мбит/с)
Пропускная способность Файр-Вайр = 400Мбит/с (сравните с требуемыми 46Мбит/с)

Это не значит что ЮСБ/Файр-Вайр шины загружены только чистыми аудио-данными. По-мимо аудио-данных передается океан другой сопутствующей системной информации. И ЮСБ и Файр-Вайр работают с пакетами аудио-данными практически одинаково и исключительно в синхронном режиме, для гарантированной передачи данных.
Возникает вопрос: а откуда берутся всякие задержки, если электрический сигнал протекает мгновенно? Раз для передачи такого качественного сигнала на 20 моно-каналов требует в 10 раз меньшую пропускную способность, чем интерфейс, то что мешает передать сигнал мгновенно и без всяких задержек, которые мы можем наблюдать в реальных условиях? Мешает физика, так как аудио-интерфейс это не простая коробка пропускающая преобразованный из аналога в цифру сигнал.

По моно каналу идет аналоговый сигнал. Поступая на вход аудио-интерфейса этот аналоговый аудио-сигнал преобразуется в цифровой для его внутренней обработки. Но цифровой сигнал - это не абстракция из 0 и 1. Это прежде всего импульсы в цепи. И основа для создания этих импульсов - ток - то что называется упорядоченным движением частиц. Чтобы передать цифровой сигнал в формате тока, а не какой-то там абстракции - его необходимо с модулировать. Но и этот процесс не достаточно просто и очевиден.
Поэтому идет модуляция цифровых данных для физической передачи их по кабелю соединяющему аудио-интерфейс и компьютер. Впрочем модуляция данных идет на протяжении всего аудио-тракта в различных его звеньях.

Рассмотрим модуляцию на примере аудио-интерфейса с файр-вайр.
Для начала передачи с модулированных аудио-данных аудио-интерфейс просит предоставить синхронный канал у компьютера , имеющий полосу частот, соответствующую его потребностям . Идентификатор синхронного канала передается вместе с данными пакета (вот они и появляются "новые" системные данные по-мимо аудио-данных). Получатель проверяет идентификатор канала и принимает только те данные, которые имеют определенный идентификатор (еще больше системных данных появляется между системами). Сами данные с идентификатором разбиты на синхронные каналы и объединены в пакеты конечной длины по 125 микросекунд (т.н. кадры). Кадры передаются в буфер.

Представим что мы имеем возможность управления буфером кадров.
В 1с = 1000 000 микросекунд. 1 кадр = 125 микросекунд. 4096 кадров = 512 000 микросекуд = 0.5 секунды.
Если мы выставим 128-256 кадров = max 32000 микросекунд = 16-32 милисекунды.

Передача кадров происходит на канальном уровне. Но есть также уровень приложений. И вся та же технология пакетной передачи аудио-данных реализована и на уровне приложений, а в роли пакетов выступают - сэмплы. Сэмплы также буферизуются системой и размер буфера хранения сэмплов задается и чаще называется asio/wdm/core audio buffer sizs.

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

Из приведенных вычислений видно, что: увеличение кол-ва сэмплов ведет к увеличению задержки прохождения сигнала, но при этом в буфер передается большее количество аудио-данных, требующих меньшее время их обработки. Меньшее количество сэмплов ведет к уменьшению задержки, но также влечет за собой и уменьшение передачи аудио-данных в единицу времени, вплоть до того, что эти данные могут выпадать и появляется "треск", а нагрузка на систему возрастает, потому что требует постоянного опроса и ожидания передаваемых данных.

Модуляция на канальном уровне происходит аппаратно (усилители, таймеры, системы управления питанием, ключи, мультиплексоры и т.п.). Физика этих компонетнов близка к идеальным. Но тем не менее аппаратные несовместимости встречаются. В модуляции передающего-принимающего сигнала играют, что очевидно и соответсвенно, передающие и принимающие компоненты систем. Поэтому все еще распространена проблема некорректной работы некоторых аудио-интерфейсов на базе fire-wire с соотвествующими контроллерами материнских плат компьютерных систем (известные советы в отношении работы с TI контроллерами). Но если физика уже отточена, то логика программирования взаимодействия устройсв на уровне операционных систем и приложений все еще развивается и видоизменяется. Поскольку качество системы определяется ее самым слабым звеном, то можно констатировать факт, что на сегодняшний день в мире аудио-интерфейсов, да и не только, таким звеном является "программное" - драйверы, ОС и прилагающееся ПО.

Компании Alesis, M-Audio, Cakewalk и другие намекали (в частности на форумах их поддержки), а некоторые открыто заявляли, что в большинстве случаев качественных различий между FW400 и USB2.0 на сегодняшний день нет, а драйверы обеспечивающие их работу прошли те стадии ошибок и нестабильности, которые можно было наблюдать еще несколько лет назад, а сам тип подключения не является синонимом качества и профессиональности устройства.
Я же еще раз предлагаю вдуматься в информацию выше, представить тот аудио-поток с которым вы собираетесь работать и сделать выбор в сторону удобства и каких-то других качественных различий в аудио-интерфейсах, нежели вопрос шин передачи данных. Такими вопросами могут быть - наличие цифровых интерфейсов, встроенных усилителей, качественная работа с ОС (особенно важный вопрос), возможность расширения и одновременная работа с несколькими аудио-картами (в этом случаи fire-wire выглядит предпочтительным, потому что только он позволяет такую реализацию) и т.д.
LinkReply

Comments:
[User Picture]From: proxiper
2010-04-07 06:40 am (UTC)
Собственно, это же я и написал.
(Reply) (Parent) (Thread)