Николай, ну ты просто всё за меня сделал.
Осталось разобраться с ПЛИСиной (вообще никогда не работал с) - и дело, вроде, в шляпе. Дсд не мучил еще?
Я для себя делал
. USB решения я освоил достаточно давно (поучаствовал в разработке open-source проекта SDR-Widget/Audio-Widget), поэтому это для меня пройденный этап. Да и куби я брал с целью скрестить его с USB Audio, но решил попробовать I2S, а так как получилось, то теперь это решение у меня в приоритете.
По поводу ПЛИС - я ее использовал для быстрой проверки slave-режима только потому, что у меня есть отладочная плата и сделать формирователь на ней очень просто. Целевое устройство я вижу иначе, так как, на мой взгляд, оно должно выполнять следующие функции:
1. формировать клоки
2. поддерживать внешний мастерклок
3. разнести кубик и цап в разные корпуса (т.к. соседство ЦПА-а и кубика с HDD в одном корпусе плохая идея)
4. обеспечивать гальваническую развязку с ЦАП-ом.
Поэтому сейчас я делаю это устройство как SPDIF-выход с внешней синхронизацией. В качестве SPDIF-передатчика и формирователя битклока и фрэймклока используется DIT4192, на плате стоят 2 генератора на 22.5792 МГц и 24.576 МГц, при подаче клока снаружи, встроенные гены отключаются и устройство тактируется внешним генератором. Выход SPDIF и вход внешнего мастер-клока развязаны трансформаторами, для переключения внешнего генератора (сетки 44/48) используется оптрон. Таким образом, без внешней синхронизации, устройство может использоваться для подключения к пром.устройствам с SPDIF входом, а с синхронизацией получаем бескомпромиссное устройство, гальванически развязанное от ЦАП-а.
С кубика к устройству, кроме I2S, подключаются 3 пина, на которые драйвер выводит сигналы переключения генераторов и делителей формирователя.
Со стандартом ДсД пока вообще не знаком, поэтому про него ничего не знаю.