Аппаратный апгрейд звуковой карты Live! до Live! 5.1


 

Эта статья адресована прежде всего тем, кто привык выжимать максимум возможностей из имеющегося компьютерного железа. Речь пойдет о модернизации четырёхканальных моделей звуковых карт SoundBlaster Live! с целью обеспечения их работы с современными акустическими системами 5.1.

Прошло 3 года, с тех пор как фирма Creative выпустила свою знаменитую звуковую карту Sound Blaster Live!, основанную на цифровом аудиопроцессоре EMU10K1. Этот чип был разработан отделением Creative — фирмой E-MU, более известной как производитель профессиональной музыкальной аппаратуры (звуковых модулей, электронных клавишных инструментов, семплеров и т.п.). В результате применения продвинутого аудиопроцессора EMU10K, качественных AC'97-кодеков и грамотно спроектированной печатной платы в 1998 году пользователи PC получили звуковую карту не только с богатыми мультимедийными, игровыми и музыкальными возможностями, но и с вполне достойным звучанием. Сигнальный процессор EMU10K1 получился на редкость удачным: линейка звуковых карт Live! обновлялась уже два раза, появились новые интересные функции, но сердце карты оставалось прежним — цифровой аудиопроцессор EMU10K1. Об этом же свидетельствует использование данной микросхемы в профессиональной звуковой карте E-MU Audio Production Studio (E-MU APS) и некоторых семплерах той же фирмы. Думаю, что и в последней линейке 5.1-карт потенциал этого чипа все еще до конца не реализован.

Немного истории

Проанализируем историю появления карт Sound Blaster Live! и их аппаратные особенности.

Звуковые карты Sound Blaster Live! первого поколения поступили в широкую продажу осенью 1998 года. Были представлены Sound Blaster Live! (модель CT4620) и ее удешевленная версия Sound Blaster Live! Value (модель CT4670). Эти две разновидности карты достаточно сильно отличались друг от друга по внешнему виду. Полная версия карты включала 4 металлических мини-джека и большой 40-контактный разъем Audio Extension (AUD_EXT) для подключения поставляемой в комплекте платы цифровых входов-выходов и других опциональных устройств (Live! Drive I в комплект поставки не входил, а стал доступен позднее как апгрейд). Карта Value разъема Audio Extension не имела. Его место занимал 12-контактный разъем SPDIF_EXT, на котором присутствовали лишь некоторые сигналы Audio Extension (а именно входы и выходы цифровых интерфейсов S/PDIF). В отличие от полной версии на карте Value были установлены пластмассовые мини-джеки.

Второе поколение карт Sound Blaster Live! появилось осенью 1999 года (так уж получается, что все новые поколения звуковых карт Live! становятся доступны именно в это время года; держу пари, что осень 2001 года не станет исключением ;). Семейство карт второго поколения состояло из Sound Blaster Live! Platinum, Sound Blaster Live! X-Gamer, Sound Blaster Live! MP3+, Sound Blaster Live! Player и ряда OEM-версий (Value-версий). Коробочные варианты Platinum, X-Gamer, MP3+ и Player были выполнены на основе платы модели CT4760. От полной версии платы первого поколения (CT4620) модель CT4760 отличалась отсутствием разъема I2S, слегка улучшенной разводкой и наличием дополнительного стереомини-джека Digital Out, имевшего фронтальные и тыловые каналы в формате S/PDIF на центральном и радиальном контактах разъёма. Platinum комплектовался Live! Drive II, остальные карты различалась лишь программным обеспечением и рынком сбыта (X-Gamer и MP3+ были предназначены только для Америки). OEM-версии карт большей частью создавались на основе модели CT4830 и отличались от retail-версий разноцветными пластмассовыми мини-джеками (а иногда и микросхемами кодеков). На некоторых версиях CT4830 не был распаян разъем CD_DIGITAL. Существовали и такие экзотические карты, как Sound Blaster PCI 512, поставляемые крупным брендам типа Compaq и Dell.

Карты Sound Blaster Live! третьего поколения поступили в продажу осенью 2000 года. Семейство состояло из тех же карт, что и второе поколение; добавились лишь цифры "5.1", отражающие основное отличие этих карт от предыдущих — поддержку шестиканальных акустических систем. Все платы семейства были выполнены на базе модели SB0060 (в т.ч. и OEM-версии). Отличались от плат второго поколения разноцветными пластмассовыми мини-джеками и дополнительной поддержкой центрального канала и канала сабвуфера, реализованной посредством нестандартного четырёхконтактного мини-джека Digital/Analog Out, на котором могут быть расположены либо 3 цифровых выхода в формате S/PDIF (фронт, тыл, центр/саб), либо аналоговые выходы центрального канала и сабвуфера. Дополнительные каналы появились за счет использования четырёхканального AC'97-кодека (STAC9708) вместо прежнего двухканального (STAC9721 либо CT1297). Platinum 5.1 комплектовался обновленной версией Live! Drive IR с поддержкой пульта дистанционного управления.

Дополнительные возможности карт семейства Live! 5.1

Наиболее существенные отличия от предыдущих плат появились только в третьем поколении — картах Sound Blaster Live! 5.1, комплектовавшихся специальной версией Live!Ware. Помимо полноценной поддержки 5.1-систем (2 фронтальных канала, 2 тыловых канала, центральный канал, сабвуфер) в новой версии Live!Ware также имелись:

  • возможность перенаправления низкочастотной составляющей со всех каналов на канал сабвуфера "Bass Redirect"(дабы саб мог помочь СЧ/ВЧ мультимедийным спикерам в извлечении басов);
  • возможность перехвата и декодирования AC3-сигнала, выводимого на цифровой выход S/PDIF — функция "AC-3 decode";
  • возможность отдельной регулировки громкости центрального канала и канала сабвуфера.

Наиболее интересной функцией из перечисленных является встроенное в драйвер карты программное декодирование направляемого на S/PDIF-Out (DigitalOut) AC3-потока, которое, к примеру, избавляет программный DVD-плеер не только от декодирования AC3-потока собственными силами, но и от необходимости знать текущую конфигурацию акустических систем, подключенных к карте (2.0, 4.0 или 5.1): все параметры устанавливаются в сервисной программе Surround Mixer из комплекта Live!Ware.

К сожалению, все эти возможности не могут быть задействованы при установке Live!Ware для 5.1-карт на модели звуковых плат предыдущих поколений. Более того, Live!Ware и драйверы для старых карт не обновлялись около года. Похоже, в настоящее время фирма Creative всеми способами продвигает свои 5.1-карты.

Что же делать владельцам Live! предыдущих поколений?

Меня, пользователя Sound Blaster Live! CT4830 OEM, такое положение вещей совсем не устраивало. Если все карты основаны на одном и том же звуковом процессоре EMU10K1, то зачем покупать новую модель на том же самом чипе? Ведь ограничение возможностей карты чисто программное. В свое время я обнаружил, что данные, специфичные для каждой конкретной модели Live!, хранятся в небольшой 8-выводной микросхеме ППЗУ (EEPROM 93c46). Эта микросхема является электрически стираемым программируемым ПЗУ с последовательным доступом и организацией данных 64 бит х 16, т.е. общей емкостью 128 байт. На картах Live! эта микросхема расположена между чипом EMU10K1 и боковым торцом платы, как показано красным кружком на рисунке.



В этой микросхеме хранится вся необходимая для функционирования PCI-устройства информация, включая идентификаторы производителя, класс и подкласс устройства. Программное обеспечение Live!Ware различает модели карт Live! по информации, хранящейся именно в этой микросхеме.

Для того чтобы "обмануть" Live!Ware и обеспечить поддержку 5.1-систем на старых моделях Live!, нужно перепрограммировать эту микросхему. К сожалению, потребуется отпаять ее с платы (по крайней мере, способ чисто программного апгрейда пока никому не известен).

Ниже приведено содержимое EEPROM 93c46 для карты Sound Blaster Live! CT4830 OEM.



Попробуем его расшифровать. Мне очень помогла утилита WPCREDIT, позволяющая просматривать параметры PCI-устройств, установленных в системе. Как выяснилось, плата Live! представляет собой два устройства: аудиоконтроллер и устройство ввода (джойстик).

  • 00h: (слово 16 бит). Назначение неизвестно. Должно быть равно 0003h.
  • 02h: (байт 8 бит). Подкласс (Sub class) устройства. Равен 01h (аудиоконтроллер).
  • 03h: (байт 8 бит). Базовый класс (Base class) устройства. Равен 04h (мультимедиа-контроллер).
  • 04h: (слово 16 бит). Идентификатор производителя подсистемы (Subsystem vendor ID). Равен 1102h (Creative).
  • 06h: (слово 16 бит). Идентификатор подсистемы (Subsystem ID). Для CT4830 OEM равен 8027h (аудиоконтроллер).
  • 08h: (байт 8 бит). Параметр устройства PCI "Minimum grant". Должен быть равен 02h.
  • 09h: (байт 8 бит). Параметр устройства PCI "Maximum latency". Должен быть равен 14h.
  • 0ah: (слово 16 бит). Назначение неизвестно. Должно быть равно 0000h.
  • 0ch: (байт 8 бит). Подкласс (Sub class) устройства. Равен 80h (Other controller).
  • 0dh: (байт 8 бит). Базовый класс (Base class) устройства. Равен 09h (устройство ввода).
  • 0eh: (слово 16 бит). Идентификатор производителя подсистемы (Subsystem vendor ID). Равен 1102h (Creative).
  • 10h: (слово 16 бит). Идентификатор подсистемы (Subsystem ID). Для всех Live! равен 0020h (устройство ввода).
  • 12h: (18 байт). Назначение неизвестно. Все равны 00h.
  • 24h: (76 байт). Назначение неизвестно. Все равны ffh.

Очевидно, в EEPROM хранится не вся информация об устройстве. Часть сведений зашита непосредственно в EMU10K1. Такой информацией является Vendor ID (идентификатор производителя, 1102h, Creative), Device ID (идентификатор устройства, 0002h для аудиоконтроллера и 7002h для устройства ввода), Revision (ревизия чипа, у моей CT4830 OEM равен 06h для обоих устройств).

В ходе экспериментов было установлено, что модели Live! различаются между собой только кодом идентификатора подсистемы (Subsystem ID), относящимся к основному аудиоконтроллеру. Ниже приведено соответствие моделей и кодов Subsystem ID, позаимствованное из INF-файлов различных версий драйверов для Live!.

Версии "Value":

CT4670 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_00201102)
CT4780 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80221102)
CT4830 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80261102)
CT4831 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80311102)
CT4832 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80271102)
CT4850 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80511102)
CT4870 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80281102)
CT4871 — SBLive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80321102)
SB0060 — SBlive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80611102)
SB0101 — SBlive! Value  (PCI\VEN_1102&DEV_0002&SUBSYS_80691102)

Полные версии:

CT4620 — SBLive!        (PCI\VEN_1102&DEV_0002&SUBSYS_00211102)
CT4760 — SBLive!        (PCI\VEN_1102&DEV_0002&SUBSYS_80401102)
SB0103 — SBLive! series (PCI\VEN_1102&DEV_0002&SUBSYS_806A1102)
SB0105 — SBlive! series (PCI\VEN_1102&DEV_0002&SUBSYS_806B1102)

Карты Live!, интегрированные на материнские платы:

SBLive motherboard      (PCI\VEN_1102&DEV_0002&SUBSYS_002F1102)
SBLive motherboard      (PCI\VEN_1102&DEV_0002&SUBSYS_80251102)
SBLive motherboard      (PCI\VEN_1102&DEV_0002&SUBSYS_80631102)

Экзотическая OEM-версия:

CT4790 — SB PCI512      (PCI\VEN_1102&DEV_0002&SUBSYS_80231102)

Знаменитая карта E-MU Audio Production Studio:

EMU APS                 (PCI\VEN_1102&DEV_0002&SUBSYS_40011102)

Для того чтобы узнать идентификатор кода подсистемы вашей карты Live!, не обязательно отпаивать и считывать EEPROM. :) Достаточно воспользоваться утилитой WPCREDIT либо посмотреть значение ключей реестра \HKLM\System\CurrentControlSet\Enum\PCI для Windows 2000 или \HKLM\Enum\PCI для Windows 9x. Нас интересует ключ, начинающийся с VEN_1102&DEV_0002&SUBSYS_xxxxxxx. По номеру SUBSYS (который состоит из Subsystem ID и Subsystem Vendor ID, равный 1102h, Creative) и приведенной выше таблице можно точно определить имеющуюся модель Live!. Например, моя карточка CT4830 OEM имеет Subsystem ID 8027h, что соответствует модели CT4832, а не CT4830, как указано на плате.

Таким образом, чтобы обеспечить поддержку 5.1-систем на "старых" Live!, необходимо изменить Subsystem ID (слово 16 бит) по смещению 06h в прошивке EEPROM Live! на Subsystem ID модели, поддерживающей такую конфигурацию (например, SB0060, Subsystem ID равен 8061h).

Модификация прошивки EEPROM

Несколько слов о монтаже/демонтаже и программировании микросхемы. Во-первых, убедитесь, что вы отпаиваете именно микросхему EEPROM (см. фото выше). Микросхема может быть маркирована по-разному: вместо надписи 93c46 может быть абсолютно непонятное обозначение типа ISSI 847 46GR (как на моем экземпляре CT4830). Желательно определить фирму-производителя и скачать соответствующий datasheet. Ниже приведены варианты распиновок микросхемы.



В моем случае маркировка ISSI 847 46GR расшифровывается следующим образом: производитель ISSI, микросхема типа 93c46, распиновка "GR". Таким образом, "правильная" распиновка изображена на рисунке справа. Скорее всего у вас будет такая же, однако для подстраховки все же изучите datasheet к своему типу микросхемы.

Следующий шаг — демонтаж микросхемы. Если у вас нет специального устройства для демонтажа планарных микросхем, можно воспользоваться обычным паяльником с подходящей шириной жала (равной ширине микросхемы). Капните на место пайки немного канифольного флюса (для более быстрого прогрева и расплавления припоя), затем прикоснитесь жалом паяльника ко всем четырем выводам микросхемы с одной стороны и после достаточного прогрева отогните пинцетом микросхему так, чтобы отпаиваемые выводы приподнялись над платой (особые усилия прикладывать не нужно). Аналогичным образом микросхема отпаивается с другой стороны. После демонтажа микросхемы уберите лишний припой с контактных площадок на плате и удалите остатки флюса ватой, смоченной спиртом.

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

Первый вариант заключается в использовании в качестве программатора очень распространенной 10-мегабитной сетевой карты на чипе Realtek RTL8029x. На этой плате также установлена микросхема EEPROM 93c46 (скорее всего в DIP-исполнении, см. распиновку на рисунке слева), в которой хранятся MAC-адрес и другая информация о конфигурации карты. В свое время я разработал утилиту для считывания и программирования этой микросхемы. Утилита работает в среде DOS и автоматически находит имеющуюся карту на чипе RTL8029x. Для выполнения нашей задачи необходимо отпаять микросхему 93c46 с сетевой карты и заменить ее на микросхему Live!. Припаять микросхему можно с помощью удлиняющих проводников, главное — не напутать с распиновкой. Сетевая карта на время потеряет возможность использоваться по своему прямому назначению (функциональность, естественно, полностью восстановится при возврате "родной" микросхемы 93c46), однако утилита программирования будет работать. Пояснения к использованию программы можно получить запустив ее без ключей.

Второй вариант заключается в программировании микросхемы 93c46 с использованием LPT-порта компьютера. Для этого можно воспользоваться следующей утилитой. Пояснения содержатся в архиве вместе с этой программой. Признаюсь, я ее не проверял.

Итак, допустим, вы считали прошивку из EEPROM Live! (не забудьте это сделать перед программированием) и убедились, что микросхема программируется. Далее необходимо исправить в считанной прошивке слово (2 байта) по смещению 06h на Subsystem ID требуемой модели Live!, в нашем случае — на 8061h для 5.1-модели SB0060. Для нашей прошивки из CT4830 OEM необходимо изменить всего один байт (обозначен красным маркером). После модификации прошивки запрограммируйте микросхему 93с46 и убедитесь в успешности проделанной операции путем повторного считывания. В качестве примера привожу готовые и опробованные прошивки для моделей CT4830, CT4760, SB0060 (обращаю особое внимание, что первые две прошивки приведены в оригинальном варианте, неизменёнными и даны просто для справки).

Заключительный этап — монтаж микросхемы EEPROM с обновленной прошивкой обратно на плату Live!. Установите микросхему так, чтобы выводы совпадали с контактными площадками, и пропаяйте каждый вывод отдельно паяльником с тонким жалом. Для улучшения качества и повышения скорости пайки рекомендую использовать канифольный флюс, который по окончании пайки можно удалить ватой, смоченной в спирте. На этом аппаратную модификацию Live! можно считать законченной.

Для активизации новых возможностей карты необходимо переустановить Live!Ware и драйверы карты (усеченную версию Live!Ware 3.0 для 5.1-карт, содержащую только AudioHQ и SurroundMixer, можно взять на сайте Creative, посвященном звуковым картам SoundBlaster (кстати, официальный русскоязычный сайт Creative находится на европейском сайте компании).

Использование новых возможностей

После установки Live!Ware 3.0 для 5.1-карт на модифицированную версию Live! появляется возможность выбрать в SurroundMixer режим подключения 5.1-акустики.



Также доступна опция "Advanced", позволяющая управлять громкостью дополнительных каналов (центрального и сабвуфера), а также включать режим AC3-декодирования.



Возникает резонный вопрос: как же всё это использовать? Ведь на карте отсутствует дополнительный аудиовыход для центрального канала и канала сабвуфера. Ответ: очень просто! Все шесть каналов присутствуют "в цифре" в виде трех выходов S/PDIF.

Фронтальный стереоканал есть на SPDIFO#0, тыловой — на SPDIFO#3, центральный и канал сабвуфера — на SPDIFO#1. На выходе SPDIFO#2 получается смесь фронтальных и тыловых стереоканалов. Снять эти сигналы можно с разъема AUD_EXT (второе поколение карт) или SPDIF_EXT (первое поколение карт). Ниже приведены распиновки соответствующих разъемов (информация взята из справочной системы Live!Ware).





Подключение 5.1-акустики по цифровому интерфейсу

Для подключения акустических систем 5.1, имеющих многоканальные цифровые входы, никаких дополнительных ухищрений не требуется, поскольку все цифровые сигналы в формате S/PDIF уже имеются на плате Live!. Необходимо лишь вывести наружу соответствующие интерфейсные разъемы. Например, для подключения акустических систем Cambridge SoundWorks DTT2500/DTT3500 необходимо изготовить 9-контактный мини-DIN интерфейс, аналогичный приведенному на рисунке.



Просто соедините контакты мини-DIN разъема с соответствующими контактами AUD_EXT или SPDIF_EXT. Распиновка мини-DIN приведена ниже.





Небольшое замечание. S/PDIF-выходы на Live! имеют TTL-уровень сигнала около 2,0 — 2,5 В, в то время как многие устройства рассчитаны на работу с уровнем S/PDIF-сигнала 0,5 В. И хотя, по заявлениям Creative, подобные подключения не представляют опасности для устройств, имейте в виду, что для нормальной работы, возможно, потребуется согласование выходов и входов S/PDIF (для наборов акустики DTT2500/3500 это не страшно).

Подключение 5.1-акустики к обычным аналоговым выходам

Такое подключение представляет несколько большую сложность, поскольку на "старых" картах Live! отсутствуют дополнительные аналоговые выходы для подключения центра/сабвуфера. Как вы уже, наверное, догадались, нам придется преобразовать имеющийся на Live! S/PDIF сигнал из цифрового формата в аналоговый. Наиболее очевидное решение — воспользоваться дополнительной звуковой картой, имеющей S/PDIF-вход. Таким образом, соответствующий S/PDIF-выход на Live! необходимо соединить с S/PDIF-входом на дополнительной звуковой карте, предварительно настроив микшеры. При этом сигналы для фронтальных и тыловых колонок будут сниматься с Live! (выходы FrontOut и RearOut), а каналы центра и сабвуфера — с аналоговых выходов дополнительной звуковой карты.

Для проверки описанной выше схемы автор использовал относительно дешевую звуковую карту на чипе Yamaha YMF754 (Xwave 6000) с S/PDIF-входом. Эксперименты проводились под Windows 2000 Professional SP2. После установки драйверов и программного обеспечения для обеих карт в панели управления (Control Panel) в разделе Sounds & Multimedia на закладке Audio в качестве "Preferred device" везде был выбран Live!, также была активирована опция "Use only preferred devices". Все это было сделано для повышения стабильности совместной работы двух звуковых карт. Выход SPDIFO#1 (контакты AUD_EXT.19 (сигнал) и AUD_EXT.20 (земля)) на Live! был соединен с соответствующими контактами S/PDIF-входа на карте Xwave 6000. В микшере дополнительной звуковой карты был включен цифровой вход DigitalIn, затем установлен PowerDVD 3.0 (с патчем AC3 passthrough). В настройках PowerDVD выбран вывод звука на S/PDIF, в настройках SurroundMixer — режим AC3-декодирования. В результате система продемонстрировала устойчивое проигрывание DVD-дисков с работой всех 5.1-каналов и декодированием AC3-потока средствами драйверов Live!.

Разумеется, не обошлось и без подводных камней. Так, после установки дополнительной карты (Xwave 6000) категорически отказывался запускаться SurroundMixer (выполнял недопустимую операцию). Стандартный микшер Windows при этом работал отлично для обеих карт. Поэтому режим подключения 5.1-акустики и декодирования AC3-потока пришлось включать в SurroundMixer до установки дополнительной карты.

Выводы

Посредством простой (для человека, владеющего паяльником) модификации карт Live! старых моделей и применения дополнительной звуковой карты удалось обеспечить их работу с мультимедийной 5.1-акустикой. Насколько оправдан такой подход? Не проще ли купить "настоящий" Live 5.1? Достаточно сложный вопрос. Оценим плюсы и минусы нашего метода.

Плюсы

  • Экономия средств (не нужно тратить деньги на "новый" Live!).
  • Новые возможности, связанные с применением недорогой дополнительной звуковой карты (например, аппаратная поддержка XG MIDI, дополнительные аналоговые и цифровые входы-выходы и т.д.).

Минусы

  • Риск повредить микросхему ППЗУ или вывести из строя карту во время паяльных операций.
  • Необходимость приобретения дополнительной звуковой карты.
  • Проблемы совместимости, возникающие при использовании двух звуковых карт.

Как видите, основные недостатки нашего метода связаны с подключением акустических систем по аналоговому интерфейсу. Поэтому аппаратный апгрейд звуковой карты Live! до Live 5.1 в первую очередь можно порекомендовать людям, собирающимся приобрести акустические системы Cambridge SoundWorks DTT 2500/3500 для подключения их по цифровому интерфейсу и уже имеющим карту Live! старого поколения.

Конечно, тем, кто не имеет пока Live!, но собирается эту карту приобрести, я бы рекомендовал сразу покупать Live 5.1.

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

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

 

Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.