Последний раз редактировалось Konkere; 06.12.2011 в 09:33.
Да, однозначно можно!
Получается цифровой (i2s) выход и вход синхронизации (как часть цифрового входа); кодек ac95 нужно выпаять.
Сейчас слушаю с TDA1541A и ЦФ SAA7220. Генератор на К500ЛП116 на 768fs и делитель на 3.
Однозначно нет. Нужен конвертор В SPDIF или как вариант - удалить конвертор SPDIF->I2S, если он есть
Именно. В нашем случае i2s - 4 провода (3 туда, 1 - обратно) плюс земля; SPDIF - 1 туда, 1 - обратно + земля.
У вас, насколько я понимаю, i2s собственно ЦАПа спрятан за конвертер и наружу торчат вход и выход (синхронизация) SPDIF. В таком случае нуже или второй конвертор i2s->SPDIF (насколько я понимаю, схему можно подглядеть у упомянутой тут карты Delta 66 ну или вообще в типовых для соотв. микросхем); кстати, та самая дельта 66 бы пошла с этим конвертором "как есть" (у меня есть 44-я, думал об её апгрейде как раз для стандартного интерфейса SPDIF) или вообще подключиться без конвертора.
Pardon - выше я не написал, что у меня i2s поверх RS-485, как в упомянутом конвертере, напрямую провода TTL не тяну, засунул RS-485 в кусок HDMI-кабеля, оконцованный, кажется, DB-15 (разъём, ни на что в компе не похожий, за то и выбран).
Конвертор (судя по его схеме) может подключаться к i2s и как раз к RS-485. Какое подключение к ЦАПу у вас используется, мне неизвестно, но возможны оба варианта. Тянуть напрямую i2s (кроме как проверки работоспособности для) я не рекомендую вообще; RS-485 - вполне хорошо. В таком случае вам заведомо нужен один конвертор i2s-RS-485 и возможно (если ЦАП не понимает RS-485) - второй RS-485->i2s. Это у меня 4* ADM1485 и ещё 4 - по другую сторону кабеля. Ну и кабель (соотв. волнового сопротивления, лучше экранированный, HDMI и витая пара подходят).
Альтернатива - конвертор i2s->SPDIF (или сразу карта с такими входом и выходом) и соединение коаксиалом и/или оптикой.
Последний раз редактировалось masterspammer; 17.02.2018 в 11:52. Причина: На логине Vinil[NN] парсер глючит.
masterspammer, новостей по запуску сабжа под TinyCore нет?
Нет; а надо? Мне чтоб разобраться надо начать разбираться с нуля вообще, а у вас какой-то опыт похоже уже есть (по крайней мере, название я узнал от вас). Ну и компьютер, предназначаемый у меня для TinyCore, с subj. не пересекается - PCI нет.
Пока разобрался (на первый взгляд) с пробросом звука по сети, чтобы одна программа посылала звук через сеть (tcp/ip) на tremor, а другая на встроенную карту и околокомпьютерный колонки. Это через pulseaduio, что сейчас в каждом утюге.
Опробовал мигание светодиодом на GPIO порту. Мигает! Это значит, что через RS-485 кроме I2S можно просунуть ещё 2-3 бита, например сетка 44/48 и HiRes/нет и в соответствии с этими битами переключать генератор в ЦАПе. Информацию о текущей частоте дискретизации воспроизводимого сигнала читаю из /proc/asound/..., номера портов тоже надо оттуда же брать (чтоб программа работала и при перетыкании в другой PCI-разъём). Вспоминаю C и scanf, хочется сделать "малой кровью", без регулярных выражений и прочих отдельных библиотек.
Учесть, как мне кажется, надо:
1. карт (совместимых) может быть несколько в одном компьютере и нужно как-то это указать.
2. у карты есть 2-3 канала (например, аналог и SPDIF) и отслеживать нужно какой-то один.
3. воспроизведение может быть остановлено и потом возобновлено.
4. частота дискретизации может оказаться странной (например, 32000).
5. при логгировании важно и ничего не упустить и не порождать логи гигабайтами.
6. использовать один вывод GPIO для индикации состояния светодиодом, чтоб в логи не лазать.
7. судя по PDF, похоже, что младшие 8 линий GPIO могут использоваться и их лучше не трогать.
Linux. Может быть ещё попробую на FreeBSD, но не более.
Интересно кому-нибудь?
Последний раз редактировалось masterspammer; 23.04.2018 в 06:53. Причина: синтаксис
Да, точно. Спрашивайте у меня. Я юзаю этот конвертер и пока не собираюсь переходить на другой.
А вот с этим я согласен на все 100. Экранирование и2с шлейфа RS-485 определенно улучшает звук, а если просто шлейф без экрана. то возникают какие-то наводки.
---------- Сообщение добавлено 11:55 ---------- Предыдущее сообщение было 11:48 ----------
И еще одно мое недавнее открытие. Помню, как где то с полгода тому назад я экспериментировал с прямым подключением конвертера к спдиф выходу звуковой карты без спдиф транса и мне показалось, что звук вообще не изменился. То есть что с трансом, что без транса, разницы нет. Тогда я не мог понять, почему так и только недавно понял, когда подключил последовательно два спдиф транса. После подключения второго транса звук сразу изменился в лучшую сторону. Исчез звон на ВЧ. Значит ВЧ помехи с компа спокойно проходят через спдиф транс и толку от него мало. Поэтому я заказал себе 5 спдиф трансов и жду. когда они придут. Буду дальше эспериментировать.
Foobar - DAC6v3 от SergioT - новый усилитель Зуева - PMS (Troels G.)
Вроде заработало определение карты (отключаемое, с настройками), биты 44/48 и HiRes прокидываются, можно паять (программу выложу после итоговой проверки в сборе).
Возник вопрос - для 44100 и 48000 частоты синхронизации заведомо будут 11289 и 12288 кГц соответственно (не далее чем сегодня слушал),
про 88200 и 96000 - припоминаю, что 22579 и 24576 кГц, а вот про 176400 и 192000 - не помню, кажется, что бОльше чем 22579 и 24576 кГц вроде не надо (на плате кварцы именно такие),
но это именно что "кажется", а проверить сейчас я не могу. Кто-нибудь помнит, сколько нужно подавать частоты синхронизации для x4?
Вопрос непраздный - если для x2 и x4 частоты одинаковы, то получается, что возле платы достаточно поставить один удвоитель частоты и включать его для всего, что выше CD/DVD дискретизации,
а в ЦАП флаг(и) HiRes можно и не передавать, кроме случаев типа моего (SAA7220 сплохеет и на HiRes лучше его отключать).
Последний раз редактировалось masterspammer; 25.04.2018 в 10:32.
Примидон (лекарство от тремора )
программа под linux собирается gcc, из зависимостей libc-dev
собирать так
gcc primidon.c -o primidon
при запуске без параметров ищет первый попавшийся тремор и работает с "аналоговым" выходом (вместо AC97 кодека),
это поведение можно переопределить (другой выход, определённая карта и даже другой чип, например у меня работало с M-Audio Delta),
подробности - primidon --help или primidon -h
выходы:
75 (GPIO8)- 1 для сетки 44кГц, 0 - для 48
76 (GPIO9)- 1 для HiRes (88,96,192...), 0 иначе
77 (GPIO10) - 1 для HiRes x4 (176 и 192), 0 иначе
86 (GPIO11) - на светодиод, мигать, чтоб было видно, что работает
у меня сейчас в CCS06 0xf8, то есть "I2S codec has volume/mute control capability and need to be program through GPIO (e.g., CS4222)",
похоже что из-за этого светодиод на 86-й при включении горит;надо сбросить старший бит в прошивке.
По "бомжовскому" довеску к RS485 (земля отдельным проводом и выход с к155ла3 в ЦАП, там 817я оптопара) подаю GPIO8 и 9 в ЦАП, там коммутирую генераторы на 500лп116 и отключаю ЦФ для HiRes.
При 1 на GPIO9 нужно удваивать частоту, подаваемую на 111 ногу, на стороное ЦАПа нет особого смысла это делать, лучше у самой карты, чтоб 20 с лишним мегагерц по RS-485 не гонять
---------- Сообщение добавлено 04.05.2018 в 08:04 ---------- Предыдущее сообщение было 03.05.2018 в 11:20 ----------
Из компиляции было непонятно следующее:
"unicle 24.10.2007, 05:30 ...собственно конфигурация определяется 4 байтами в прошивке набортного чипа (06h-09h) - описание их из даташита 1720, там они фигурируют как биты ССS04-CCS07 стр.28-29" - сколько ни сравнивал прошивки и описания ССS04-CCS07 - всё получался какой-то бред (значения, далёкие от ожидаемых, противоречивые). Вчера разобрался и оказалось всё почти так, неточность в одной маленькой детали:
Возьмём прошивку AP192 и то, что выводит для этой карты primidon (регистры CCS04-07 прочитанные непосредственно из чипа):
| 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00 | 36 32 14 12 13 02 68 80 F8 C3 BA FF 7F 45 00 00
CCS04-CCS07 bytes are 02 80 f8 c3.
Получается, конфигурация определяется 4 байтами в прошивке набортного чипа (05h и 07h-09h), а 06h в эти четыре байта не попадает. См. выше выделение цветом.
При 1 на GPIO9 нужно удваивать частоту, подаваемую на 111 ногу, на стороное ЦАПа нет особого смысла это делать, лучше у самой карты, чтоб 20 с лишним мегагерц по RS-485 не гонять.
А схемой поделитесь? Можно и вручную и потом сфоткать. Можно и всю от тремора до ЦАПа.
Посмотрел исходник. Программа заточена под альзу. Под OSS4 планируете сделать?
Последний раз редактировалось dalidovich; 10.05.2018 в 10:25.
Схема там конечно тривиальна, но неизведана - прототип на перемычках и макетках; естественно, задокументирую (чтоб самому не запутаться), а может и сделаю вывод схемы/распайки из самой программы по primidon -h в псевдографике. Пока же занимаюсь столяркой (чтоб готовую конструкцию было куда поставить), а схема просто играет. По этой теме я схему и собирал, как срисую - выложу.
Кратко про удвоитель - 1554ЛП5 (74AC86), один вход логического элемента напрямую, другой - через цепочку из элементов 1554ЛА3 (74AC00), у одного из элементов 2И-НЕ входы не соединены вместе, а один из них идёт на 76-ю ногу тремора - когда там 0, цепочка не пропускает сигнал; по факту в цепочку пришлось включить и оставшиеся элементы из ЛП5 (не оба входа вместе, как у ЛА3, а один всегда на землю) - серия сильно шустрая.
http://radio-shema.ru/delitel-chasto...rom-na-vyhode/ вот тут характерная цепочка (только из ЛП5 ногами на землю) перед счётчиком.
Скважность можно контроллировать (если осциллограф не очень скоростной) через интегрирующую цепочку - 10кОм с выхода удвоителя на вольметр, параллельно вольтметру - конденсатор 0.1МкФ. Обычный цифровой тестер показывает 2.5в. довольно точно при отключенном удвоении, а при включенном мне не хватило длины цепочки задержки. Наверно имеет взять смысл элементы серии 1564 (hc) - одна цифра, но каков результат!
Такого зверя, как OSS4 я в глаза не видел; сейчас искал немного - вот такого красивого документа как для ALSA https://www.kernel.org/doc/html/v4.1.../procfile.html я не нашёл, так что в общем-то не знаю. Буду смотреть.
Удвоитель частоты простой (сверху) и варианты управляемого (вход снизу при подачи 0 на него отключает удвоение); длина цепочки зависит от частоты и быстродействия микросхем. Управляемый нужен для синхронизации через 111 вывод микросхемы - там нужно подавать или 11289/12288 кГц или 22579/24576 кГц.
На счёт OSS4 особое спасибо dalidovich, без его поддержки я бы уже плюнул давно - в (более-менее) официальном репозитории, который советуют в большинстве инструкций, что-то не живое. С OSS4 пока так - синхронизация через SPDIF "включается" в микшере, но карта работает от встроенных генераторов, я включил её принудительно через MT1, но как-то мне не нравится такое решение. Или тут баг или по синхронизацией по SPDIF подразумевается НЕ сигнал на 111 ногу (но тогда ещё удивительно, что звук не останавливается без синхросигнала, так что скорее баг); буду копать дальше.
Есть такой вопрос - у кого Tremor и OSS4 работают со внешней синхронизацией, напишите - как; особо интересует "штатный" способ через подачу синхросигнала на VT1723 (сигнал вместо кварца и плата на ПЛИС понятны, но вопросов не вызывают).
Вдруг кто-то пройдет мимо забытой темы. Встрял с довольно не тривиальной проблемой: собрал цап на АК4490, на борту несет спдиф вход(ак4113 и scr4192 выход мастер 512фс), на плате цап стоит ген 22М. Вход АК4490 сконфигурирован на 24B I2S, тремор зацеплен как у всех через rs485, на плате приемника и2с и передатчика клока стоит делитель частоты на 2.
Суть проблемы: при нулевом уровне из плеера идёт треск на фоне полезного сигнала(напоминает жесткий перегруз) в обоих каналах, при уменьшении цифровой громкости треск пропадает, всё играет как и положено. Такой дефект имеет место быть только при воспроизведении через тремор, при воспроизведении через spdif(AK4113-SRC4192) никаких артефактов нету.
Можно предположить, что дефект в самом треморе или связке, но рядом стоит давний мой цап на PCM58, который работает аналогичным образом и без артефактов, единственно, что на плате приемника и2с и передатчика клока еще находится конвертер 24 I2s->16 RJ и делитель аналогичный что и в новом цапе. Монтаж и схемы перепроверил по 10ому разу. RS485 выполнен на ADM1485 и по моим наблюдениям оригинальным. Куда дальше думать ума не приложу хэлп....
Предположу проблему с таймингами, на полной шкале (24бит) данные и битклок не совпадают, где-то сдвижка.
Подчиненный перед лицом начальствующим должен иметь вид лихой и придурковатый, дабы разумением своим не смущать начальство.
Указ Петра I от 09.12.1709:
Может быть и несовпадение форматов.
В обычном i2s сначала меняется WS, потом долетает ещё один (младший) бит прошлого значения и только потом начинается новое со старшего бита.
Если читать RJ как i2s (при совпадении числа бит), то бит после смены WS (старший) будет трактован как младший прошлого числа, то есть по сути утерян, в таком случае хватит снижения уровня на 6дБ и больше.
Если же читать i2s как RJ (с бОльшим числом бит, то есть с заполнением нулями), то после смены WS за один из нулей будет принят младший бит (невелика потеря), а за остальные - сколько-то старших бит, например 7, соотв., снижать уровень нужно на 43дБ.
Если читать i2s как RJ при совпадении числа бит, то младший бит станет старшим и хрип будет при любом уровне громкости.
При чтении RJ с большим количеством бит как i2s искажений быть не должно (но будет мал уровень сигнала - в 2^число_утерянных_бит раз).
Попробуйте рисовать эпюры.
Да, требуемое снижение уровня оценивать лучше всего на синусоиде максимального размах.
Скоро заберу авто с ремонта и из дома заберу на работу цап и карту, на работе есть 4х канальный тектроникс вот там и заскриншотю эпюры.
Последний раз редактировалось Gutman; 11.10.2018 в 16:15.
Рисовать я предлагал теоретические эпюры, подписывая - вот тут младший бит, тут - старший; чтобы нечто подобное было видно на реальных, требуются специально подготовленные данные.
Хотя можно подать сигнал (тот же синус) и смотреть - вот этот бит всегда нуль, этот - "пляшет" и связать уменьшение числа реально изменяющихся бит с громкостью, достаточной для исчезновения искажений.
Именно это и собираюсь проделать. Просто хочется увидеть все 4 сигнала одновременно, сравнить и сделать выводы.
- Вот, как тот же узел реализован в Rotel RHCD-10, Rotel RCD-990 и Philips CD951.
- Список аппаратов, в которых, скорее всего, сделано точно так же: SHERWOOD CD-1 TEMA, KRELL CD-DSP/KPS 20i, AUDIOLABOR 531, PRIMARE 204 CD, Kinergetics Research KCD-40, PHILIPS CD10/930/931/940/950, SHANLING CD-T300, ARCAM DELTA 270, MARANTZ CD-72A/F/SE/mkII/mkIISE, AVI S2000MC, BURMESTER 939/963, MISSION-Cyrus dAD7, T+A CD1400AC/CD1500R/CD2000AC MKII (в списке - изделия с CDM-0 / 1 / 4 / 9) ...
...Данные взяты отсюда: http://vasiltech.narod.ru/CD-Player-DAC-Transport.htm
- К списку ещё можно добавить аппараты с CDM-12 (разных версий) "на борту". Объединяет почти все эти девайсы то, что они врядли производились крупными сериями... А вот аппаратов с "обратной конфигурацией": "соневский" привод и декодер, а дальше всё "филипсовское" - очень много, в том числе и крупносерийных...
...Proceed PCD (MRC-300 / 100) - досадное исключение, в нём, внутри одной "коробки", всё соединено по SP-Dif... ...В этой связи очень интересно, как же сделано в ML-№39..?
Последний раз редактировалось Андрей Никитин; 30.07.2019 в 02:17.
Радиолюбитель.
Социальные закладки