Krasowski (krasowski) wrote in ru_zvuk,
Krasowski
krasowski
ru_zvuk

Category:

Fire-wire против USB: ну сколько можно а.

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

Представим что нам нужен внешний аудио-интерфейс, либо на юсб, либо на файр-вайр шинах. Мы хотим чтобы к этому интерфейсу можно было подключить как можно больше аналоговых инструментов, и в тоже время иметь возможность качественного мониторинга. При всем этом проекты нам хотелось бы вести с достаточно высоким уровнем качества. Итак пусть это будет следующий интерфейс:
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 выглядит предпочтительным, потому что только он позволяет такую реализацию) и т.д.
Tags: firewire, soft, usb, инженерное, кабели, техника
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 55 comments