Всем привет.
Что-то я давно не писал, но многие знают что я не сидел без дела
Как и обещал, напишу небольшую статью-тизер по вывову цифрового потока из ШГУ. Буду рассказывать на примере своего ШГУ RCD510 delphi. Как оказалась в ней есть подводные камни, борьба с которыми стимулировала меня расширить функционал.
В данной статье я не буду описывать куда припаивать, где выпаивать и т.д. Все это я расскажу в отдельных статьях позже, когда мой комбаин заработает как мне хочется.
И так, основная проблема современных ШГУ, что в I2S потоке между CD приводом (контроллером usb и других периферийных устройств) и центральным звуковым процессором (в большинстве современных ШГУ используется DSP SAF77xx) отсутствует линия тактования mclk, что делает не возможным использование синхронных цифровынных трансмиттеров типа DIT4096 или vm8804, которые так удачно внедряет собрат по палате @jonjonni, получая даже из недорогих магнитол отличные источники цифрового сигнала.
Много времени убил на решение задачки, куча людей на профильных форумах говорили – забей, вариантов нет, и т.д. Но каким-то чудом меня занесло на статьи по asynchronous sample rate converter (ASRC). Я узнал, что они во всю используются в автомобильных аудио-процессорах на входе (посмотри у себя и найдете SRC4382, SRC4192, SRC4193 и т.д.), как вы уже поняли из названия эта штука что-то делает асинхронно. А делает она асинхронное преобразование входного потока одной частоты в цифровой поток той же, либо другой частоты, который тактуется от расположенного рядом кварцевого генератора(в простонародье этот процесс именуется – Передискретиза́ция ). Хоть на выходе мы уже имеем не совсем то что на входе (bitperfect капут!), но измененный сигнал крайне близок к исходному, о чем говорят характеристики данных чипов, например, в чипе CS8420, который я использую в своей схемке динамический диапазон - 128 dB, может кто не помнит у цифрового потока 16 бит/44.1 кГЦ( тот что audi cd) динамический диапазон – 98dB. Ах да, забыл сказать на выходе вместо 16бит, уже 24бит цифровой поток. Еще говорят, ASRC и с джиттером борется, и микробов убивает, иногда и бабушек через дорогу переводит
.
Как уже ранее написал, я остановился на чипе CS8420 по следующим причинам:
- Простота монтажа;
- Не требуется внешний блок управления (поддержка hardware mode);
- spdif вход, а главное выход на самом чипе(получается довольно простая плата).
Если почитать статьи по этим чипам, то многие жалуются на их не совсем стабильную работу и т.д. У меня таких проблем не было, да и все темы с проблемами довольно старые, может чего допилили китайцы (я все свои чипы брал там
).
В общем сделал сначала макетку, потом попросил знакомого чтобы развел плату и получился вот такой вот продукт:
Рядом с ней на макетке распаян контроллер о котором кратно написано ниже.
Кроме самой схемки ее еще и припаять нужно, я будучи максималистом не хотел себя ограничивать только цифровым потоком с CD привода, а хотел получать цифру и с USB/SD накопителей, который поддерживает мое ШГУ (RCD510 delphi проигрывает wave файлы с USB/SD очень приятный бонус для любителей хорошего звука).
Мне так не повезло, как Жене @Tux в его Creta (
https://www.drive2.ru/l/471299613005972242/), интересующиеся могут почитать. У меня два разных i2s потока – 1 CD привод, 2 USB/SD и MP3 с CD.
Для чего снова решил почитать мануал на DSP 7741, который у меня установлен, там написано, что может быть до 6!! Цифровых потоков, которые мультиплексируются в DSP по командам, передаваемым по i2c.
В общем, я вооружился Arduino, мультиплексором и цифровым управляемым потенциометром (а этот еще нафиг, спросите вы). Раз уж все равно лезу в i2c шину, так уже заодно решил и команды регулировки громкости снимать.
Очень хороший друг (по совместительству не менее хороший программист) помог освоить программирование Arduino. Да, язык похож на С, но когда ты его сдавал (не путать с изучал
в универе), то немного сложно. Подружили это все хозяйство с ШГУ, они друг друга понимают и не ругаются. Дальше дело техники, которая подвела и не раз(об этом более подробно в будущем, будут отдельные статьи).
По итогу у нас есть – медный глаз (spdif), а то гуры говорят оптика плоха стала, стекло надо, а мы медью ее и Ethernet патчкорд в 8 жилах которого кроме 3 пинов потенциометра, сигнал включения выключения и переключения входов аналог/цифра для моего самосбора на базе двух minidsp и minidigi.
Но и minidsp меня подвел, сейчас там не работает внешняя регулировка громкости, я уже заказал чипы adau, буду перепаивать. Но не выдержал и уже подключил ШГУ в систему, поставив -7,5dB на входах проца. Что я вам скажу, плеер sansaclip, подключены по аналогу в чистую сливает ШГУ по цифре. А в свое время ШГУ с выпаянными линейниками так же в чистую слила плееру sansaclip.
Вот такой вот тизер получился.
Социальные закладки