Roland SC 88 Pro, Yamaha AN200, MU128 S/PDIF mod (updated 16.08.2022)
17 марта 2016, 13:00
Last update: the project is moved to GitHub. It works with at least Yamaha MU128, AN200 and Roland SC 88 Pro units. I'll leave this article as original post from what it was started. Проект размещен на гитхабе (ссылка выше), этот пост остается для истории, с чего все начиналось.
Известно, что последние ямаховские модули MU-серии не сильно-то отличаются друг от друга. Например, MU2000 отличается от MU1000 всего лишь наличием сэмплера/секвенсора и SM ридера. В свою очередь, MU1000 отличается от MU128, по существу, лишь наличием оптического выхода. Незначительное увеличение количества семплов в расчет мы не берем :) Цена, однако, отличается почти в +100$ за версию с оптикой. Расходы же на эту схему составили всего около 5$.
Однажды мне попалась ссылка на мод MU10 (http://nfggames.com/forum2/index.php?topic=4063.0). Автор мода опирался на японскую разработку для Roland SC-88. В основе мода лежит чип TC9231N от Toshiba, который реализует цифровой аудиоинтерфейс по стандарту SPDIF/TOSLINK. Чип можно заказать на Ebay, стоит он в среднем 2.5$ за штуку; остальные детали продаются в любом радиомагазине. На стороне Ямахи стоит 18-битный D/A NEC D63200, который в 90-е годы широко использовался во многих звуковых картах, модулях и приставках, поэтому TC9231 не совсем подходит (мы теряем 2 бита и получаем хрипы на входе).
После долгих экспериментов с DIT 4192, TC9231N и другими, я наконец нашел трансивер, работающий с 18-битным потоком - AKM 4103AVF. Схема заработала сразу же. В разных моделях Yamaha используются разные версии тон-генератора AWM2, поэтому смотрите сервисную документацию синтезатора, чтобы найти master clock (SYSCLK). Благодаря внутренним pull-up и pull-down резисторам, можно обойтись минимумом деталей.
Прилагаемая схема точно работает на Yamaha AN200 с кварцем 16.9344 MHz (384fs*44100), на Yamaha MU128 насколько я помню кристалл другой, соответственно может понадобится другая настройка CKS1-CKS0 пинов, скорее всего на 256fs. Upd: Подтверждено, для MU128 требуется 256fs, по даташиту это эта конфигурация резисторов "по умолчанию", т.е. пины 15 и 16 можно оставить открытыми.
Выход обвязан по даташиту как бытовой (consumer) S/PDIF. Если нужен XLR AES3 (AES/EBU), смотрите даташит AK4103, а также там нужны другая конфигурация на FS0-FS3 пинах.
Update2: Замечено, что если схема включается одновременно с модулем, AK4103 не подхватывает частоту и выход "молчит". Решения для этого ровно два: либо выводить на корпус кнопку "spdif reset" (на схеме показана), либо в схему питания включать задержку подачи питания, например, на таймере NE555. Опытным путем замечено, что частота ловится после инициализации модуля, время задержки питания нужно вычислять в зависимости от количества PLG-карт в MU128, а в AN200 инит очень долгий в принципе.
Update3: Спустя 5 лет был замечен небольшой косяк в схеме - 18 пин VSS не был подведен к GND, картинку с схемой заменил.
Update4: я оформил проект на GitHub, а также вышла статья на habr.com
Схема:
Типичная схема DAC у Yamaha: