Все об интегрированном звуке

Развиваясь в направлении интеграции все большего количества устройств, материнские платы взяли на себя функции звуковой подсистемы. Конечно, возможности большинства материнских плат оставляют желать лучшего - дешевое решение не может быть качественным и полнофункциональным. Но для многих пользователей аппаратная обработка звуковых потоков и обсчет HRTF-фильтров трехмерного звука оказываются ненужными. Для них вполне достаточно того, что предоставляет им встроенный звук. И теперь вместо звуковой карты они должны выбирать материнскую плату.

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


Технологии AC'97 и AMR

Сегодня большинство интегрированных и автономных звуковых решений основано на концепции AC'97. Ее суть в том, что звуковой контроллер физически разделяется на две части. Первая часть - цифровой контроллер (Digital Controller, DC), обрабатывающий звук в цифровом виде. Его задача - выполнить заданные преобразования звуковой информации, например, создать имитацию трехмерного звучания с помощью специальных фильтров. В качестве такого контроллера обычно выступает специализированный или универсальный процессор цифровых сигналов (DSP). Вторая часть звуковой подсистемы - аудиокодек (Audio Codec, AC). Как следует из названия, он должен выполнять кодирование и декодирование цифровых данных, поступающих в цифровой контроллер или из него. Эти два чипа связываются между собой с помощью стандартного интерфейса AC-Link, состоящего из пяти линий (две линии синхронизации, сброс, две линии передачи данных в обоих направлениях). Тем самым обеспечивается полная независимость двух частей (аналоговой и цифровой) звуковой подсистемы, они не влияют друг на друга и ничего не "знают" об особенностях реализации соседнего компонента.

В дальнейшем был разработан стандарт Audio/Modem Raiser (AMR), использовавший технологию AC'97 оригинальным образом. Как и в софтовых модемах, в AMR используется концепция Host-based processing, т.е. выполнение функций обработки сигналов с помощью драйверов. Согласно AMR, аудиокодек посредством интерфейса AC-Link подключается к хост-контроллеру чипсета. Обработкой звука занимается специализированный драйвер, а "южный мост" только пересылает в кодек данные в формате PCM (Pulse Code Modulation, импульсно-кодовая модуляция). Получается, что вместо звуковой карты на материнскую плату достаточно установить недорогую плату-райзер, имеющую на борту только аналоговый кодек. Или разместить кодек прямо на материнской плате - благо, он имеет небольшие размеры и много места не занимает.

 

Дальнейшее развитие идеи AMR предусматривает подключение к "южному мосту" по такой же схеме других кодеков - модемного, сетевого, беспроводной связи и т.п. Так появились стандарты CNR (Intel) и ACR (VIA). Однако идея хост-обработки для связи компьютеров пока не получила особенной популярности, поэтому сейчас куда проще найти модем или сетевой контроллер в виде полноценной PCI-карты, нежели в виде райзера. Зато звуковой кодек сегодня есть практически на каждой материнской плате.


Как устроен кодек

Аудиокодек стандарта AC'97 должен выполнять следующие задачи:

  1. прием, передача, буферизация цифровых данных;
  2. преобразование данных из цифровой в аналоговую форму и обратно;
  3. микширование данных, поступающих от разных источников (аналоговых и цифровых);
  4. управление уровнем сигнала, поступающего от разных источников (т.е. управление громкостью);
  5. усиление сигнала, поступающего на микрофонный звук;
  6. реализация расширения стереобазы для улучшения звучания на дешевых компьютерных колонках.

На рисунке показана обобщенная структурная схема аудиокодека. А физически он представляет собой небольшой (7х7 мм) чип в корпусе TQFP с 48 контактами (по 12 с каждой стороны).

Чаще всего производители материнских плат используют кодеки от четырех основных производителей. Например, Gigabyte выбирает SigmaTel, ABIT нравится Avance Logic, Intel и MSI, в основном, используют Analog Devices. Получаемые звуковые решения отличаются друг от друга и программно (набор и качество реализации в драйверах функций обработки звука), и аппаратно (качество выходного сигнала). Чтобы помочь вам в выборе материнской платы, я свел в одну таблицу аппаратные характеристики наиболее часто используемых кодеков, а также составил небольшой обзор особенностей кодеков разных производителей.

Произ- водитель Модель Входные каналы (стерео + моно + микро- фон) Выход- ные каналы (стерео + моно) Разряд- ность АЦП и ЦАП, бит Частота дискре- тизации, кГц Соотно- шение "сигнал/ шум", дБ Система расши- рения стерео- базы Поддержка многоко- дековой конфи- гурации Примечания
SigmaTel, Inc. STAC9700 3 + 2 + 1 1 + 1 18 48 (фикс.) 90 SS3D Да (первичный кодек)  
STAC9704(07) 4 + 2 + 2 2 + 1 18 48 (фикс.) 95 SS3D Да (первичный кодек) Модификация 9707 работает от 3.3 В
STAC9708(11) 4 + 2 + 2 2 + 1 18 48 (фикс.) 95 SS3D Да (вторичный кодек) Выходные стереоканалы независимы
STAC9721(23) 4 + 2 + 2 2 + 1 18 48 (фикс.) 95 SS3D Да (первичный кодек)  
Analog Devices AD1881A 4 + 2 + 2 1 + 1 16 8-48 с шагом в 1 Гц 90 PHAT Да Возможно применение в софт-модемах
AD1885 4 + 2 + 2 1 + 1 16 7-48 с шагом в 1 Гц 90 PHAT Да  
Avance Logic, Inc. (RealTek) ALC100/P 4 + 2 + 2 1 + 1 16 До 48 85 Есть Да Индекс "P" означает применение вместе с цифровым контроллером
ALC200/P 4 + 2 + 2 1 + 1 18 До 48 86 Есть Да  
VIA Techno- logies, Inc. VT1611A                
Cirrus Logic, Inc. CS4294 3 + 1 + 1 2 + 1 18/20 Нет данных 80 CrystalClear Нет  
CS4299 4 + 2 + 2 2 + 1 18/20 8-48 (семь частот) 80 CrystalClear Нет Поддерживается выход S/PDIF, независимые четыре канала


Производители кодеков


SigmaTel

www.sigmatel.com

Эта компания имеет самый большой ассортимент аудиокодеков. Среди ее моделей есть и самые простые кодеки, такие, как STAC9700, и самые сложные, например, STAC9708 (используется в самых дорогих игровых звуковых картах). Особенность последнего - наличие четырех независимых каналов, что позволяет подключать к материнской плате четырехкомпонентные акустические системы. Кроме того, кодеки SigmaTel обладают самыми лучшими характеристиками, в особенности по соотношению "сигнал/шум".

Драйверы к своим кодекам SigmaTel предоставляет только разработчикам устройств, поэтому ищите их на сайте производителя материнской платы.


Analog Devices

www.analog.com

Эта фирма, как и SigmaTel, специализируется на выпуске всевозможных аналоговых и цифровых микросхем. Среди ее многочисленных продуктов есть и два аудиокодека. Пожалуй, это самое популярное на сегодня решение для встроенного звука, более дешевое и менее качественное, чем аналоги от SigmaTel. Скачивать драйверы для этих кодеков нужно с сайта производителя материнской платы.


Avance Logic

www.avance.com

Это, по имеющимся у меня сведениям, подразделение небезызвестной фирмы RealTek. Avance Logic занимается разработкой и выпуском дешевых звуковых контроллеров и кодеков. На сегодня у этой компании есть пара кодеков - простой ALC100 и вполне современный ACL200, которые иногда используются на материнских платах. Но это случается нечасто, и, как правило, кодеки Avance Logic можно встретить на самых простых моделях таких фирм, как Abit, FIC, EliteGroup и Acorp.

Свежие драйверы можно обнаружить по адресу: www.realtek.com.tw/htm/download/cgi/dld1.cgi/h?class1=computer.


VIA

www.via.com.tw

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

Драйверы к этому кодеку, равно как и к любому другому чипу VIA, вы можете скачать по адресу: www.via.com.tw/jsp/en/dr/driver.jsp


Cirrus Logic

www.crystal.com

Эта компания традиционно специализируется на разработке дешевых контроллеров. Она тоже выпустила несколько аудиокодеков. Однако производители материнских плат почему-то не спешат использовать их в своих материнских платах, и встретить кодек с маркой Crystal можно, скорее, на дешевой звуковой карте.


Еще один вариант

У аудиокодеков и технологии AMR есть один существенный недостаток - все функции по обработке звука возлагаются на центральный процессор. Причем процессор обычно занят выполнением множества других более важных задач. Поэтому разработчики драйверов чаще всего не решаются реализовывать какие-либо дополнительные возможности по обработке звука вроде обсчета трехмерного звука или эмуляции работы звуковой карты под DOS. Решение этой проблемы предложила тайваньская фирма C-Media Electronics (www.cmedia.com.tw). Она разработала несколько полноценных звуковых контроллеров, сравнимых по цене с аудиокодеками других производителей. Последняя разработка фирмы - чип CM8738.

C-Media не придерживается стандарта AC'97 - ее чипы содержат в себе и цифровую, и аналоговую части. Помимо стандартных функций обработки аналоговых и цифровых данных, они поддерживают четыре или пять выходных каналов, интерфейс S/PDIF, эмуляцию DOS-звука, волновой MIDI-синтез, трехмерный звук (стандарты A3D, DirectSound3D, EAX - использована технология фирмы CRL), а также подключение модемного кодека. Функций у чипа много, но реализованы они не на должном уровне: 16-битные ЦАП/АЦП, соотношение "сигнал/шум" не превышает 80 дБ. Получается максимально дешевое и в то же время достаточно функциональное решение для недорогих материнских плат и звуковых карт. Особенной популярностью чипы C-Media не пользуются: насколько мне известно, чаще всего их используют фирмы EliteGroup, Chaintech и iWill.

Макс КУРМАЗ,
hardware@kv.by,
сайт "КВ/Hardware" (
www.kv.by/hardware)

Версия для печатиВерсия для печати

Номер: 

24 за 2001 год

Рубрика: 

Hardware
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!