PIONEER DV-578A からハイサンプルS/PDIF信号を取り出す

  (08.11.22 〜 09.03.21更新)

<この改造は、あくまで私の実験であり、参考として公表するものです。動作を保証するものでもなく、また、このページを参考にして改造等をしたことで生じた損害は一切当方では責任を持ちません。各自の責任に於いて実験されてください>

<また、本ページはリンクフリー、かつ、この回路はご自分の責任でご自由にお使いください。それほどすごい回路でもございません(けど他では見かけなかったので書いています)。また、とくに私のオリジナルを主張するものでもないので、存分に使ってやってください(というほどでもないですね)>


 市販のプレーヤは、ハイサンプル(96kや192k)のディスクを再生したとき、たいていの機種で、S/PDIFの出力からはそれより低いサンプリングにダウンサンプリングされて出てくる。これはコピーをされないように、というメディアを作る側の理論でなされていることである。

 しかしながら、コピーなんかするつもりはない、プレーヤの内蔵DACじゃもの足りない!と思っている多くのオーディオマニアは多いはず。特にネットで自作DACのキットが何種類も発売され、金田氏までも自作DACを発表した昨今、外付けDACは当たり前、しかし外付けにすると解像度が落ちる、では、何とも情けない。

 とあるサイトや、知人がDITなどを追加することで取り出されている例を散見するが、全ての周波数を取り出している例が見あたらない。

 なんとか192ksまでを取り出したい。そこで、パイオニアのプレーヤDV-578Aの蓋を開けていろいろ探ってみた。

 MCK、SCK、LRCK、DATAの四つの信号が出力DAC(PCM1742、旧BUB・現TI)まで来ていた。このDV-578Aは、これら全てが内層に入るビアがあり、ICの足からではなくビア穴から配線して取り出せる。これから信号を取り出せば、CS8406でS/PDIF出力できる。しかし、そのためには、nfs、つまり「今、何倍オーバーサンプリングでデータが送られてきているか?」のnfs信号を得なければならない。384,256,128fsのうち、どれかのオーバーサンプリングで信号が来ている。(表1参照)。この信号を得て、それをCS8406のHWCK0,HWCK1に2ビット信号として加えねばならない。CS8406のデータシート、10.2のTable 4参照のこと。取り出しは以下の写真参照

信号引き出し

写真1:基板ビア穴から取り出し

 配線青はMCK(SCKとマジックで書いてあるが間違え)、黄色はLRCK、白がSCK、緑がDATA。
写真右下隅のC503(部品未実装)の±から3.3Vの電源が取り出せる。

MEDIA MCK LRCK SCK nfs
CD 16.9344MHz 44.1k 2.8224MHz 384
DVD-Video 96k 24.576MHz 96kHz 6.144MHz 256
DVD-Audio 192k 24.576MHz 192kHz 12.288MHz 128
SACD 22.5792MHz 88.2kHz 5.6448MHz 256

表1:DV-587Aのクロック

 表1から、CDの再生は384fsとなり、CS8406では対応していない。したがって、この場合には通常のS/PDIF出力から信号を得ることとする。それでも問題がない。ケーブルが2本必要となる。また、SACDの外部DACでの再生も可能となる。

 このDV-578AのDACチップ・PCM1742は、シリアルコントロールなので、nfs信号を得るには、CPUを積むか、シリパラ変換でビットを読み取るか、いずれにしても大事になる。もっとシンプルに行かないか?

 そこで考えついたのが、「nfs Detector」回路。MCKとLRCKとを比較して、カウンタを用いて何倍オーバーサンプリングかを割り出す回路を考えた。

nfsDetector

図1:回路図 nfsDetectorとS/PDIF回路 例によって右クリック「画像を表示」で大きくなります。

 LRCKは、デューティがきっちり50%である。なので、これをこのままカウンタのリセットに突っ込んでしまう。すると、LRCKの”H”レベルの期間だけカウントするので、どこまでカウントしたかを見れば、nfs信号を得ることができる。たとえば256fsならば半分の128個カウントするので、27のビットにパルスが出るかを見ればよいことになる。あとは、困ったときのワンショット、出てきたパルスをクロック周波数に見合うだけのばしてやる、ビットに出るパルスは一定間隔で入ってくるので常にHの信号を得られる。それと、カウント数が多いほう(nfs数が多い方)が優先されるロジックを入れ込む。これらの処理で出来る。

写真2:基板表 サンハヤトICB-028 ハーフピッチに組んだ。
    パルストランスは後にS22523(NEWAVA TECHNOLOGY)に変更している。

写真3:基板裏 ネジ止めにしっかりGNDが付くように。シャーシとGNDをとること。とらないと、クロック周波数のノイズが乗ってしまう。

(2009.3.21追記:GNDパターンを大きくして、それをきちんとしっかりGNDに落とさないと、不安定になるので要注意。)

 CS8406はハードウェア・モード、コピープロテクトはON(本記事はコピーを助長するものではありません、この回路通りに作ると、コピープロテクトビットが立っています)。スレーブモードで、別途水晶発振器は不要。ほか、最低限の設定で、S/PDIFを出力できる。

 これで44.1k〜192kまで、ぜ〜んぶ、ダウンサンプリングされることなくS/PDIFで出てくる。自作DACを十二分に楽しめるようになった・・・・

 なお、この回路は128、256,512fsの信号を得ることができるが、このDV-578Aは512fsのモードは表1でも判るように存在せず、384fsである。512fsの信号はこの回路では384fsの時に出力されるがCS8406では無視され、出力のS/PDIFはクロックのみが出力され音声データは出力されない。384fs対応のDITがあって、それにこの回路を使いたい場合、回路をモディファイして384fsを取り出すロジックを組む必要がある。

配置

写真4:配置の様子 リアパネルに穴があったので、それをリーマーで広げてRCAジャック(絶縁タイプ)を取り付けた。

写真5:リアパネルの追加したRCAジャック

    リアパネルは取り外せなかったので、TOSLINK(TOTX142を用意)は取り付けなかった。

 動作確認は、私のDACは未だ192k対応していないため(笑)、192k対応の録音機、EDIROL R-44にて行った。ソースは192k確認用としてDVD-AUDIO 「スターウォーズ 沼尻竜典指揮日本フィル キングレコード KIAW-3」。音をヘッドフォンで確認。

 お、ロックがかかった、音が出た!

 96kの確認はナマロクソースをDVD-VIDEOの規格で編集したものとSACDは通常DACにて確認。それとCDは予想通り、DACにロックはかかるが、音声は出てこなかった。

 他のマルチメディア・プレーヤにこの基板を入れても動作可能かもしれない。

 ご興味のあるかたは、各自、自分の責任でやってみてください。


DV-578Aのディジタルデータ・フォーマットの確認

(2009.3.21 追記)

 あるかたより、メールで「CS8406の設定がLeft Justifiedとなっていますが、DV-578AではI2Cとどこかで読んだことがある」との指摘を受けて、あや、これはきちんと確認していなかったなぁ、と、きちんとフォーマットを確認してみた。

 全ての写真、グラフィック、上がDATA、下がLRCKである。

 まず、この写真で、LRCKの立ち上がり・立ち下がりに対して左詰めで揃っているので、これは、少なくともStandard Formatではないことがわかる。上図、写真にしたのは、安物のオシロなのでワンデータ毎の書き換えで表示され、シリアルデータが流れている様子を感覚的に見るには写真の方が判りやすかったためだ。最新のディジタルオシロだと、こういった波形も見やすくなるが、高いので買えない。

 では、Left JustifiedかI2Sか、どちらであろうか。その違いの一つにLRCKが反転しているというのがあるが、これをオシロで見て判断するには困難である。
 そこで、別の違いに着目する。I2Sでは、LRCKのエッジからBCKの1クロック分遅れてDATAが出る。その遅れがあるかどうか、確認することとする。波形を拡大すると、

 DATAとLRCKのエッジ、ほぼ一致、1nsのずれもない。となると、これはLeft Justifiedであると思われる。

 ということで、データフォーマットの判断を付けた。