Интегрированное аудио: единый стандарт -- множество решений

1 апрель, 2003 - 23:00Богдан Вакулюк
В пылу горячих споров о достоинствах системных плат какие только доводы не приводят сторонники того или иного продукта. Порой в ход идут даже не столько объективные, сколько "эзотерические" аргументы. И лишь малая часть оппонентов вспоминает о таком немаловажном компоненте современной материнской платы, как интегрированная аудиосистема. Между тем этот вопрос обделен вниманием совершенно незаслуженно. Цель обзора и состоит в том, чтобы познакомить читателя с технологиями, применяющимися в данной области, и совершить небольшой экскурс в мир Onboard Audio.
Введение

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

Поначалу в качестве несущей шины использовалась ISA, затем ее полностью вытеснила более быстродействующая PCI Bus. Материнские платы, где в роли встроенного звукового модуля выступают полновесные PCI-контроллеры, распространены и сегодня -- как правило, это достаточно дорогие hi-end-модели. Чаще всего на них встречается популярный звуковой чип C-Media CMI8738 (выпущенный, кстати, еще в 2000 г.), поддерживающий 5 моноканалов, цифровые/аналоговые эффекты обработки, трехмерный звук (A3D, DirectSound3D, EAX). Также попадаются экземпляры с Creative CT5880 (4 канала, поддержка EAX, 64-голосный синтезатор и т. д.), на базе которого построены и несколько отдельных PCI-карт. Бывают и другие конфигурации, но они весьма редки.

Интегрированное аудио единый стандарт -- множество решений
Рис. 1. Блок-схема, отражающая общие принципы работы интегрированной аудиосистемы, использующей шину AC-Link и AC'97-кодек
Основной недостаток такого подхода заключается в том, что значительную часть любого аудиочипа занимает дорогостоящая схема DSP (Digital Signal Processor), отвечающая за цифровую обработку звука. В 1996 г. компания Intel выступила с инициативой увеличения функциональности материнских плат с одновременным снижением их стоимости. Опираясь на тот факт, что в большинстве современных систем мощный центральный процессор, в основном, простаивает, она предложила перенести логику DSP именно на него, оставив в качестве отдельного модуля лишь ту часть, которая содержит блок АЦП/ЦАП, а также занимается микшированием звуковых потоков.

С целью продвижения этой идеи Intel предложила сразу серию стандартов, которые вскоре были одобрены и приняты за основу и другими полупроводниковыми компаниями, занимающимися разработкой чипсетов, материнских плат и аудиочипов. Ключевой спецификацией является описание простого последовательного цифрового интерфейса AC-Link -- соединение цифрового аудиоконтроллера, выполняющего функции DSP, с микросхемой кодека, описываемого стандартом AC'97. Таким образом была достигнута уникальная взаимозаменяемость -- теперь разработка аналоговой части никоим образом не зависела от цифровой.

Поддержка AC-Link была включена в очередную версию спецификации Intel ICH (I/O Controller Hub) и с тех пор присутствует во всех ее чипсетах в качестве неотъемлемой части южного моста. Причем вся логика цифровой обработки возлагается на программные драйверы. Такой же подход используют сегодня VIA и SiS, и лишь NVidia при создании своих чипсетов семейства nForce несколько отошла от этого принципа. Здесь в нескольких ревизиях южный мост, кроме схемы, обеспечивающей передачу PCM-данных непосредственно в AC-Link, содержит блок nForce APU, где аппаратно реализованы некоторые функции DSP.

На основе AC-Link было создано еще несколько стандартов. Один из них -- разъем AMR (Audio/Modem Riser) -- представляет собой интерфейс для внешних плат, содержащих модемный или аудиокодеки. Успех данной технологии натолкнул разработчиков чипсетов применить этот принцип и для другой периферии, например сетевых карт и иных устройств ввода/вывода. Так появились описания Intel CNR (Communication and Networking Riser) и VIA ACR (Advanced Communications Riser), однако и поныне особой популярности эти решения не имеют. Кроме этого, сейчас контроллеры AC-Link встраиваются практически во все высокоуровневые чипы, ориентированные на работу со звуком, -- в частности, в связке с кодеками AC'97 они используются в звуковых картах, мобильных устройствах, продуктах для профессиональной работы с аудио и т. д.

Подробнее о AC'97

Итак, учитывая вышесказанное, становится очевидно, что ключевое влияние на качество звучания встроенных аудиосистем оказывает аналоговая часть (реализация блока микширования, ЦАП/АЦП и т. п.), обеспечиваемая микросхемой, называемой AC'97-кодеком. Вот почему пришло время рассмотреть их поближе.

Согласно этой спецификации кодек должен состоять из двух частей. Первая -- это цифровой физический интерфейс к AC-Link, обеспечивающий первичную буферизацию аудиоданных, временнoе разделение входных и выходных потоков, а также осуществляющий общее управление кодеком посредством регистров специального назначения. Вторая часть -- аналоговая. Здесь располагаются схемы микширования и усиления звука, поступающего с внешних разъемов кодека. Естественно, что соединяются эти два блока между собой серией ЦАП и АЦП, преобразующих сигнал из аналоговой формы в цифровую и обратно.

Кроме конструктивной блок-схемы, стандарт AC'97 также описывает возможности, которыми должен обладать кодек, чтобы по праву носить "этикетку" AC'97 Compliant. Вот главные пункты из последней версии спецификации под номером 2.3:
  • частота дискретизации 48 kHz (так называемый режим Fixed Rate, кроме этого, для будущего использования описаны Double Rate -- c удвоенной частотой, и Variable Rate -- с переменной);
  • поддержка не менее четырех входных звуковых стереоканалов и двух моноканалов (при этом не все они могут оцифровываться, достаточно, чтобы они поддерживались микширующим блоком);
  • микрофонный вход с предусилителем (+20 дБ);
  • два стереовыхода (Line_OUT -- линейный выход, AUX_Out -- дополнительный стереовыход, сконфигурированный как линейный или выход для наушников);
  • один моновыход;
  • универсальный формфактор (48-pin QFP) и стандартизованное назначение выходных разъемов чипа.
Теоретически подобная унификация должна позволить управлять любым AC'97-кодеком с помощью универсального драйвера. Однако на практике дело обстоит иначе. Несмотря на наличие четких предписаний, функции, предоставляемые различными кодеками, все же сильно варьируются от модели к модели. Все дело в том, что AC'97 версии 2.3 описывает множество требований, имеющих статус рекомендованных к реализации. Именно за их счет в мире решений для встроенного аудио и возникает приятное разнообразие.

Так, например, микширующий блок кодека может содержать усилитель и темброблок, управляющий тональной окраской звука. Кроме того, многие производители встраивают в свои продукты аналоговую схему расширения стереобазы сигнала (3D Stereo Enhancement). Практически обязательной является сейчас поддержка оптического или электрического цифрового выхода S/P DIF и развитых средств управления энергосберегающим режимом. Также AC'97 предусматривает наличие в цифровом интерфейсе кодека пользовательских регистров GPIO (General Purpose Input/Output), с помощью которых осуществляется управление его дополнительными возможностями. Одна из популярных функций, реализуемых посредством GPIO, -- определение гнезд, куда подключены разъемы. Таким образом, драйверы могут включать вывод звука лишь по необходимости.

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

Также AC'97 не содержит строгих предписаний относительно применяемых в кодеке АЦП/ЦАП. Оговаривается, что их разрешение не может быть ниже 18 бит и должно обеспечивать приемлемое качество. С целью минимизации цифровых искажений многие производители вместо преобразователей классической конструкции используют ЦАП типа Sigma/Delta.

Теперь, когда общие принципы построения и отличия кодеков ясны, можно приступить к рассмотрению конкретных продуктов.


Компании и продукты

Технические характеристики протестированных кодеков
Одними из самых популярных моделей являются кодеки компании Analog Devices, тем более что именно их рекомендует к использованию со своими чипсетами и сама Intel. В данный момент линейка продуктов Analog Devices насчитывает 9 чипов (первые две буквы маркировки -- AD). Среди них есть относительно дешевые модели с минимальным набором функций (AD1981, AD1985); кодеки с улучшенным качеством звука, использующие мультибитовые наборы ЦАП/АЦП (AD1881A, AD1885, AD1886, AD1887) и технологию D2S (AD1819); c поддержкой S/P DIF и аналогового эквалайзера (AD1980). Ноу-хау Analog Devices заключается в аппаратно-программной технологии SoundMAX. Набор решений SoundMAX Cadenza представляет собой три конфигурации драйверов, рассчитанные на разные потребительские рынки. В ее версиях можно встретить такие уникальные функции, как улучшенное распознавание речи (посредством семантических фильтров), средство Virtual Ear, обеспечивающее реалистичное воспроизведение окружающего звука через наушники, поддержку стереомикрофонов с подавлением шума и обработкой сигнала в реальном времени и т. д. При этом ПО обладает весьма приемлемым быстродействием. Кроме того, частью SoundMAX являются высокоуровневый API для программирования трехмерных аудиоэффектов, а также набор инструментов SmartTools для предварительной подготовки звуковых сэмплов.

Не менее распространены и кодеки компании Realtek. В обзорах они чаще всего встречаются под названием Avance Logic (поскольку в их маркировке присутствуют три буквы ALС), хотя последняя уже свернула производство этих продуктов и передала свои права Realtek. Среди них есть пять стереокодеков -- два малобюджетных решения (ALC100 и ALC101), реализующих базовые возможности, и более развитые модели (ALC201, ALC202, ALC203 и ALC250), которые дополнены поддержкой S/P DIF, средствами определения подключения штекеров, интегрированным высокоточным генератором тактовой частоты, улучшенной аналоговой частью и т. д. Кроме этого, компания предлагает шестиканальный кодек ALC650 с цифровым оптическим входом S/PDIF.

C-Media Electronics, уже упоминавшаяся в начале обзора, также имеет в своем арсенале два кодека AC'97 -- 4-канальный CMI9738 и 6-канальный CMI9739, поддерживающих программную технологию трехмерного звука Xear 3D. Основное достоинство этих продуктов -- низкая стоимость, поэтому они часто встречаются на системных платах low-end.

Известный производитель полупроводниковых продуктов для потребительского рынка Cirrus Logic предлагает под маркой CrystalWare серию качественных AC'97-кодеков (первые четыре символа маркировки CS42). Все модели при относительно небольшой стоимости обеспечивают отличное звучание благодаря использованию АЦП/ЦАП типа Sigma/Delta. Базовая функциональность простых моделей (CS4297A и CS4299) расширяется усилителем для наушников (CS4202) и интегрированным генератором тактовой частоты (СS4205).

Для чипсетов собственного производства компания VIA традиционно рекомендует свои же AC'97-кодеки. Широко известны два чипа: VT1612 -- базовый стереокодек со стандартными характеристиками (поддержка S/PDIF, 18-битовый АЦП, расширение стереобазы) и более новый шестиканальный VT1616 (он же -- VIA Six-TRAC), являющийся частью аппаратно-программной технологии Vinyl Audio. С помощью драйверов Stylus Audio реализуются известные алгоритмы от Sensaura -- аудиоэффекты ближнего поля (Sensaura MacroFX), эффекты окружающего звука (Sensaura EnvironmentFX) и пр.

Кодеки следующих двух производителей в нашем обзоре относятся к классу hi-end -- как по стоимости, так и по качеству звучания. Хорошо известная аудиофилам компания SigmaTel представляет серию C-Major (первые четыре буквы маркировки -- STAC), насчитывающую свыше 20 моделей. Наиболее активно продвигаемые стереокодеки STAC9750/51/52/53 имеют отличные технические характеристики и содержат самые современные средства -- возможность каскадирования, интегрированный усилитель для наушников, автоопределение типа штекера, АЦП типа Sigma/Delta и т. д. Кроме них, есть в арсенале SigmaTel и два 6-канальных кодека STAC9758/59. На программном уровне реализована поддержка технологии трехмерного звука от QSound, имеются драйверы для Linux.

Продукты компании Wolfson Microelectronics можно встретить только на самых дорогих системных платах, полупрофессиональных звуковых платах и внутри мобильных устройств (две первые буквы маркировки -- WM). В списке моделей присутствуют и базовые (WM9701/3/4), и более развитые с интегрированным контроллером touchscreen-панелей.

Кроме вышеупомянутых компаний, производством AC'97-кодеков занимаются еще несколько фирм, например National Semiconductor, Asahi Kasei Microsystems и др. Впрочем, увидеть их изделия на современных материнских платах практически невозможно.


А в чем разница?

Интегрированное аудио единый стандарт -- множество решений
Интегрированное аудио единый стандарт -- множество решений
Интегрированное аудио единый стандарт -- множество решений
Интегрированное аудио единый стандарт -- множество решений
Интегрированное аудио единый стандарт -- множество решений
Ответить на этот вопрос применительно к качеству звучания самых популярных среди производителей (на момент написания статьи) АС'97-кодеков нам поможет программа RightMark AudioAnalyzer 5.0. Что же касается функций и возможностей различных кодеков, то сравнить их поможет составленная нами таблица. В качестве примера в ней также приведены результаты измерений для бюджетной полупрофессиональной звуковой платы Terratec DMX6FireLT.

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

Одна из основных проблем, которую приходится решать производителям кодеков с целью обеспечения качественного звучания, -- разработка и воплощение алгоритма SRC (Sample Rate Conversion) -- для преобразования различных частот сэмплирования к стандартной 48 kHz, на которой работает шина АС-Link в режиме Fixed Rate. Самыми "тяжелыми случаями" для такого преобразования являются близкие частоты дискретизации -- например, привычная 44,1 kHz (CD-Audio) -- в 48 kHz (звуковая дорожка к DVD-Video) и наоборот. В студиях звукозаписи и мастеринга для подобных преобразований задействуют либо сложные и очень дорогостоящие цифровые конвертеры, либо пару из высококачественных ЦАП/АЦП, но даже при этом специалисты отмечают некоторую деградацию звука. Естественно, оба подхода неприменимы в кодеках, стоящих обычно около $5 за чип. Поэтому используемые в них алгоритмы менее сложны и, соответственно, наносят гораздо больший ущерб звуку. При измерениях это иногда выражается в поистине устрашающих цифрах, подобных результатам теста интермодуляционных искажений для часто встречающихся кодеков Realtek (применительно к ALC650 компания-производитель почему-то нередко употребляет слово "professional").

На рис. 2 изображены полученные нами АЧХ для некоторых кодеков. Графики, приведенные для Realtek ALC650 и C-Media CMI9738, достаточно характерны для различных алгоритмов SRC. Гораздо интереснее выглядит АЧХ для Analog Devices AD1980, по своей равномерности приближающаяся к эталонной --за счет поддержки Variable Rate.

Кроме АЧХ, немаловажным показателем качества воспроизведения музыки является также КНИ (коэффициент нелинейных искажений, total harmonic distortion), характеризующий степень отклонения формы выходного сигнала от подаваемого "синуса" 1 kHz. Профессиональные звуковые платы вносят минимальные нелинейные искажения в воспроизводимый сигнал. Визуально это выражается в более "чистом" графике теста (рис. 3--6). Здесь также отличился AD1980, играющий действительно гораздо "чище" многих кодеков в тесте.

Немало хлопот разработчикам доставляет интегрированный в кодек усилитель, чаще всего являющийся буфером для подключения наушников. Учитывая, что мощность такого усилителя обычно составляет 50 мВт при нагрузке 20 Ом, его присутствие в схеме кодека ощутимо влияет на температурный режим, в котором работают ЦАП и АЦП, а значит, и на количество примешивающегося к сигналу теплового шума. Поэтому часть разработчиков, например VIA, отказались от интегрирования усилителей в свои новые кодеки, хотя и это отнюдь не панацея -- все же лучше, когда есть возможность подключить наушники непосредственно к выходу на материнской плате, чем приобретать отдельный усилитель для них. Кроме того, относительно слабый сигнал на участке от кодека к усилителю больше подвержен различным шумам и наводкам вне ПК, и для него более критичным является качество соединительных кабелей.

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

Таким образом, глядя на результаты измерений, можно заметить, что по многим показателям некоторые модели кодеков, в частности AD1980, при условии качественной интеграции на материнскую плату уже догоняют потребительские звуковые платы среднего и даже верхнего ценовых диапазонов. Более подробно о результатах испытаний AD1980 можно почитать в недавнем тесте звуковых плат 5.1, где этот кодек участвовал наравне со многими именитыми устройствами.

Любопытно, что качественными звуковыми решениями оснащают свои материнские платы в первую очередь известные производители -- например, кодеки Analog Devices чаще всего встречаются на платах ASUSTeK и Intel. И хотя при выборе материнской платы интегрированный на нее звук -- обычно едва ли не последнее, на что обращает внимание среднестатистический потенциальный покупатель, то в данном случае вступает в силу следующее соображение: может быть, действительно имеет смысл доплатить и приобрести более дорогую материнскую плату -- доплатить именно те деньги, которые впоследствии вы сэкономите на приобретении отдельной звуковой платы?