Как я гонял I2S по обычному патчкорду Fast Ethernet CAT5
На столе 74AC573, DIR9001, 74AC245, IL715 и др.
На этапе проектирования очередного ЦАП я задался вполне стандартным вопросом.
Что можно улучшить в архитектуре, структуре, элементной базе или компоновке, чтоб не получить очередной клон уже имеющегося устройства?
Причем сделать доработку или усовершенствование, не меняющее в корне рабочую систему и не требующее удорожания на порядки.
Из всех возможных на данный момент вариантов единственно возможным оказался I2S вход от внешнего источника, в дополнение к уже имеющемуся коаксиальному и оптическому SPDIF входам.
- Ну I2S так I2S!- сказал я, и поставил курсор в поисковую строку Google. Накрывшее меня разочарование было неожиданным. Как так?
При массе восторгов от способа передачи информации по этой чудесной шине, о приросте качества звучания, и прочих положительных моментах не оказалось ни одного законченного схемного решения уровня «корпус источника» - «корпус ЦАП».
А так как транспорт у меня это ПК с выводом по USB, то именно решение «корпус» - «корпус» самый оптимальный вариант.
Да и на рынке все чаще стали появляться вполне высококачественные решения USB-транспортов с выходом I2S TTL.
В общем нужно продумать линк, позволяющий гнать I2S от транспорта до ЦАП в TTL формате, да еще и с гальваноразвязкой.
Вообще для подобных целей технически грамотно было бы использовать шину LVDS, но кроме явных плюсов в виде большого расстояния передачи, симметричных линий, имеем и свои минусы - дороговизна и труднодоставаемость микросхем приемопередатчиков, необходимость использования специальных разъемов, отсутствие гальваноразвязки.
Мне же нужно расстояние на более полуметра, но вот как это организовать?
Сразу же в голове нарисовалась картина: куча экранированных проводов, позолоченный разъем....
Ах да! Разъем! Поиск как обычно дал «массу вариантов». Кто-то использовал DB-9 — разъем от СОМ порта ПК. Но моя «личная неприязнь» к нему как к разъему не позволила остановиться на этом решении.
А что применяют иностранцы в своих вариантах USB-транспортов? Недолгий поиск и есть ответ — RG45. Восьмиконтактный пластиковый обжимной разъем, применяющийся в сетевой инфраструктуре стандарта Fast Ethernet (100BASE-T)!
Четыре изолированных витых пары!
— Шикарно!- сказал я.
— Ага!- сказал поисковик — А распиновка?
— Давай, попробуй...
"I2S pinout", "RG45 I2S" и еще тридцать два варианта...
— Нету?
— Да ты искать не умеешь!
И правда не умею. Так как из всего найденного «фабричного» интересными было два варианта - Northstar DAC Model 192 MKII и Terralink X, решено было остановиться на них.
У всего остального найденного было что-то не совсем вменяемое, включая фантомное питание +5В. Ну и информации о соединительном кабеле, применяемом с этими устройствами тоже не смог найти. Ну в общем то раскладка Terralink меня устраивала, так как окзалось, что она попарно совпадала с распиновкой стандартного патчкорда.
Ну хоть где-то что-то будет по стандарту! Хотя здесь я сделаю отступление.
Следование стандарту на этот момент уже не было моей целью, не на продажу же, а вот применение максимального количества стандартных компонентов было желательно.
Итак, что мы имеем?
Распиновку.
Патчкорд. И дикое желание что-то сваять. Осталось продумать устройство вывода и устройство ввода.
В качестве устройства вывода был изготовлен на коленке формирователь USB-I2S с использованием РСМ2707.
Как буфер-конвертер TTL утровней – 74АС573.
В железе получилось довольно компактно.
Так как проверить работоспособность получившейся карты без аудиовыхода сложно, добавил светодиод на линию DATA.
Есть поток — светимся, нажал паузу — не светимся.
Для тестирования в самый раз. В дальнейшем планировалось использование аудиоконтроллера USB-I2S TAS1020, ну и что-нибудь возможно посерьезнее.
Теперь необходимо продумать приемную сторону.
Тут немного сложнее. Во-первых нужно внести в схему ЦАП систему коммутации входов между ресивером SPDIF и цифровым фильтром.
Здесь можно воспользоваться мультиплексором четырехканальным, типа 74хх157/257.
А во вторых... А как быть во-вторых? Ведь самое проблемное место — гальваноразвязка. Это дома заземление, отдельная нейтраль.
А в любом другом месте ушатать ЦАП или источник не хотелось бы. Раз не применяем LVDS, то RS485 можно попробовать.
Как приемная часть SPDIF потока. По частоте MCLK вроде проходит, лишь бы трансы позволили...
Ну четырех штук ADM1485 в наличии не было, зато в хламе нашлась АМ26С32. То же самое, только четыре канала на корпус — не я один видимо такой ерундой занимаюсь... Но на проверку, такая схема оказалась неработоспособна.
Или мои кривые руки что-то не так сделали...
Мало того, что мастерклок не корректно пролазил через трансформаторную развязку, чего я и боялся, так еще и на шине данных в паузах был посторонний шум, приводящий к сбоям в работе ЦАП, а то и полном зависании ЦФ.
В чем проблема? Может витая пара не позволяет гонять такие данные без коррекции ошибок? Несимметричная линия? Попробовать экранированный провод?
Но не каждый кабель возможно запихать в RG45.
А ведь уже сделана плата, установлен мультиплексор, ЦАП работает без проблем в режиме SPDIF от DIR9001.
Бросать на половине пути ?
В какой то момент мой взгляд упал на кабель SATA, что лежал на столе. Кусачки в руки и в руках у меня плоский четырехжильный экранированный провод! Ну конечно там система 2+2, но уже что-то!
Заделать его в разъем RG45 большого труда не составило, разве что домотать изоленту на концы, чтоб надежно прижать замками коннекторов.
Вполне сносно получилось. Но все равно не работает!
Ладно, выкидываю приемную часть, выпаиваю очередной разъем со старой сетевухи, включаю напрямую, без гальваноразвязки.
Ага! ПоетЬ! Но есть проблема.
Так как уровни на выходе с размахом в 5В, а питание мультиплексора 3,3В, то сигналы «пролазят» через закрытый вход при работе от DIR9001.
Шум и потрескивание не сильно приятно.
Ладно, надо попробовать конвертер. Из хлама извлекаю 74АС245, которая по даташиту справляется с уровнями в 5В при питании 3,3В и горожу на коленке такую схему:
В железе получилось еще проще.
И снизу
Завелось все с полпинка! Работает и с SATA проводом, и на стандартном патчкорде! Ни помех, ни выпадений сигнала!
Но отсутствует вторая часть задания — гальваническая развязка. Печально, но придется заказывать digital isolator.
Вообще, этих цифровых развязок есть много типов. Различаются они, в основном, числом каналов, принципом работы, направлением передачи – приема, пропускной способностью и производителем. Интересные девайсы.
Раздельное питание, работа с 3,3В и 5В. Мне нужно четыре канала на прием.
Из найденного в сети подходят: ADuM1400, IL715, ISO7240.
Заказал IL715, по даташиту она как раз под AD/DA заточена, да и доступна относительно. А заодно и DC/DC конвертер на 5В. Ведь питать входную часть надо от источника, что не предусмотрено конструктивом, либо от самого приемника, но при этом развязать гальванически его от входа.
Пока все это ехало, накидал схему развязки...
И внес изменения в плату самого ЦАП.
Добавил мультиплексор и сделал отключение питания приемника DIR9001 при работе от I2S.
А также доработал индикацию режимов.
Теперь, при работе от SPDIF индикатор показывает текущую частоту дискретизации, а при работе от I2S — три горизонтальных черты.
Такой веселый «переходничок» пришлось изготовить, потому что не было в наличии DIP версии мультиплексора, а плата была уже собрана.
А теперь сборка и наладка самого интерфейса.
Вид снизу.
Включение и запуск никаких проблем не принесли, все было ожидаемо и проверено заранее.
Работа четкая, без сбоев.
В идеале, развязку надо было бы установить на основную плату, например вместо приемника DIR9001 или рядом, но для этого пришлось бы полностью переделать трассировку всей платы, и размер бы сильно изменился.
Поэтому метод «бутерброд» показался самым оптимальным. Да и провода соединительные покороче будут.
Сзади переключателей добавилось.
Помимо моего стандартного переключения «оптика/коаксиал», теперь еще и «spdif/i2s».
Но на ходу редко нужно что-то переключать, хотя все переключается и работает без сбоев, так что выносить переключатели вперед нет смысла.
Вид с лица.
Конечно можно было нарисовать на дисплее I2S, или вставить LCD с контроллером, графику там или что еще.
Но вроде как девайс не на продажу, а мне и так нормально все видно и понятно.
Сверху коробочка — USB/I2S аудиоконтроллер на базе TAS1020.
Ну и традиционное «как оно?». Стравить SPDIF и I2S «в лоб» не получилось, по крайней мере на слух.
Проблема в том, что ни один из моих источников параллельно не может отдавать и то и другое.
Пока переключаешь источники, ухо «остывает» и разницы уловить невозможно.
Но самое главное - это опыт и возможность дополнительной модернизации. Тем более запланирован нормальный источник, с возможностью внешнего тактирования. А тогда можно и пересинхронизацию и ЦАП в режиме «мастер». Так что может кому-то это будет интресно.
Файлы здесь:
🎁I2S.zip 137.64 Kb ⇣ 215
А я думаю, продолжение последует.
Алексей
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.