SDRAMを使ったMemory Buffer DAI, SDRAM_DAI

昨年秋にPS3とTA-DA3200ESを導入してSACDマルチの世界にハマリ、まるで別世界の素晴らしい音楽体験を楽しんでいたわけですが、やはり低価格AVアンプですと何かしら物足りなくなってしまう。という結論になりました。

かといって、SACDマルチをピュア用パワーアンプ複数台で楽しむような財力も根性もありません(^^;;

ということで、ここのところしばらくは2chオーディオに戻っていました。で、トランスポートとしては流れでPS3を使ってきましたが、(最近発売のSACD非対応バージョンはどうか知りませんが)これがCDトランスポートして予想外に音が非常に良く、手放せなくなっています(ファンの音がうるさいですがヘッドフォン視聴時には関係なし!)。

CD再生では、内部で2倍(88.2k)、あるいは4倍(176.4k)にアップサンプリングしてS/PDIFから出力できるんですが(要はデジタルフィルタです)、これを自作のPCM179*系DACに入れてやると、本当に音が良いので、ここのところメインの環境になっていました。

ジッタの対策はしたいのですが、昨年作ったメモリDAI基板は44.1kHz専用ですので、PS3のアップサンプリングをOFFにしないと使えません(しかもPS3は再生停止状態で48kHzになっているので厄介です)。24bit/96kHzのソースも増えてきた関係で、メモリーDAI関連では、マルチサンプリング周波数対応で、周波数自動認識の使い勝手の良いものが欲しくなってきます。

ということで時間を見つけてコツコツ設計しました。どうせなら32kHzから192KHzまですべてのサンプリング周波数に自動追従でメモリー容量の大きなものを、という要求仕様で以下のようなものを作りました。

  1. 32kHz, 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz, 192kHzに対応。周波数は自動認識
  2. 水晶発振器は44.1kHz系用と48kHz系用の2個を搭載。使わない方は自動で出力停止
  3. 192kHzまで対応するので、メモリは大容量が必要→64MbitのSDRAMを使い(32Mbit分を使用)FPGAで制御。
  4. サンプリング周波数とメモリーポインタをLED表示可能にする。

 

 右端のLSIがSDRAM。その左はXILIXのFPGA。その下は、右から22.5792MHzと24.576MHzの発振器。入力S/PDIFのサンプリング周波数に追従して使わない方は自動で出力を停止する。

受信したS/PDIF信号をCS8416からAESフォーマットで出力してFPGAで各種チャネルステータスを読んで処理を行う。

 オーディオ用ゆえ、速度はたかが知れているので、SDRAMはPC用のDDR2タイプではなく、SDRとした。

 

サンプリング周波数と、Read / Writeメモリーポインタの相対位置関係を知るためのLED基板を別に用意してあり、セットとしてケーシングするときには、フロントパネル側から見えるように装着すれば便利で見栄えが良いと思います(LED制御用の信号は基板から出ています)。

メモリーポインタのインジケータとして、LED基板には円周状にLEDを都合8個配置しました。

メモリーの読出しポインタの位置が0番地にあるときの書込みポインタのある番地を、(0.5メガの範囲で)当該LEDが光ることで知ることができます。メモリーには全部で4メガ番地あり、一番下のLEDを0番地を示すLEDとし、時計回りに0.5メガ番地ずつ離したところにLEDを配置します。

光るLEDが一番下のLEDに近づくということは、書込み速度(トランスポート側)よりも読出し速度(SDRAM_DAI基板上の水晶発振器側)の方が早く、メモリーがアンダーラン(空)になるか、あるいはその逆でオーバーラン(満杯)になるかという事を示します(左回りで近づく場合はアンダーラン、右回りで近づく場合はオーバーラン)。

 

LED基板は、左半分がメモリーポインタ部、右半分がサンプリング周波数表示部になっている。

左側の8個のLEDは、座標の計算をsin, cosを使って真面目に行い、円周上に配設してある。

 

 

円周のTOP、PT4とシルク印刷された位置のLEDが点灯しているときには、読出しの番地が0番地のときには、書込みの番地はメモリの真ん中付近にあり、最も安全な相対関係にあるといえます。

ただし、サンプリング周波数が低いメディアを再生している場合には、トランスポートから信号が出力されてから実際に音が出るまでの時間が長く、使い勝手が悪くなります。

そこで、電源立上げ初期状態で、読出しの番地に対してどれだけ先行した番地から書込みを開始するかを、3段階で選択できるようにしています。

サンプリング周波数が32kHzから96kHzまでは読出し番地に対して1メガ番地進んだ位置から書込みを開始する「MIDDLE」モードに加えて、0.5メガ番地進んだ位置から開始する「SHALLOW」、1.5メガ番地進んだ位置から開始する「DEEP」の3モードがあります。

また、サンプリング周波数が176.4kHzと192kHzでは、読出し番地に対して2メガ番地進んだ位置から書込みを開始する「MIDDLE」モードに加えて、1メガ番地進んだ位置から開始する「SHALLOW」、3メガ番地進んだ位置から開始する「DEEP」の3モードがあります。

 手持ちのトランスポートで長時間使用した時に、点灯するLEDがどちらの回転方向に移動するかによって、使い分けることができます。

 サンプリング周波数はS/PDIF信号に含まれるチャネルステータス信号という部分に示されるサンプリング周波数情報を読み取って判断しています。S/PDIFでは32kHzから48kHzまではこの部分は規格化されていますが、88.2kHzから192kHzまでは明確には規定されていません。

本基板では、88.2kHzと176.4kHzのチャネルステータス(サンプリング周波数情報)はSONYのPS3と合わせました。S/PDIFの提唱者の1社はSONYですので、他社も追従すると予想されます(このサンプリング周波数で出力する機器自体、あまり見掛けませんが・・・)。

96kHzと192kHzについては、複数の機器で自動認識できることを確認しており(詳しい機種名は説明書参照)、88.2kHzから192kHzまでの4つのサンプリング周波数では、もしも自動で追従しない場合には、強制的にあわせることができるようにしています。

以下のLED基板画像はクリックすると別画像が開きます。

fs=44.1kHzで「MIDDLE」に設定した場合

書込み番地は1メガ番地から開始

 

 

同じく「DEEP」に設定した場合

書込み番地は1.5メガ番地から開始

 

 

同じく「SHALLOW」に設定した場合

書込み番地は0.5メガ番地から開始

 

 

fs=48kHzのソフト再生時以外でも、PS3の再生停止時や、ユニバーサルプレーヤーなどの電源投入後デフォルト状態ではサンプリング周波数が48kHzの状態になっていますので、48kHzとそのほかのサンプリング周波数との移行時にメモリーバッファDAIの周波数が自動追従するのは特に便利です。

PS3はCDを再生状態から停止しただけでfsが44.1kHz(or 88.2kHz、or 176.4kHz)から48kHzに変わってしまう。

写真は「MIDDLE」に設定した場合。

 

 

PS3は176.4kHzでCD再生が可能。メモリーポインターを「MIDDLE」に設定して、書込みアドレスを2メガ番地から開始するようにした場合。

 

 

同じく「DEEP」に設定した場合

書込み番地は3メガ番地から開始

 

 

 

同じく「SHALLOW」に設定した場合

書込み番地は1メガ番地から開始

 

 

しつこいですが、ついでに88.2kHzの様子も・・・(^^;;

PS3は88.2kHzでのCD再生も可能。メモリーポインターを「MIDDLE」に設定して、書込みアドレスを1メガ番地から開始するようにした場合。

 

 

同じく「DEEP」に設定した場合

書込み番地は1.5メガ番地から開始—-

 

 

同じく「SHALLOW」に設定した場合

書込み番地は0.5メガ番地から開始—-

 

 

 176.4kHzと88.2kHzでは「MIDDLE」で約1.4秒(192kHzと96kHzも大体同じ)、44.1kHzでは「MIDDLE」で約2.8秒(48kHzも大体同じ)の出音遅れとなっています。

たまに録りためたBDなどを視聴するときに音だけ遅れるのが困りものですので、メモリ―バッファのバイパスモードもつけました。さらに、メディアプレーヤ側でDOLBY DIGITALやDTS出力の禁止を忘れてDACへつないでいるとびっくりすることになるので、PCM信号以外の入力が来た時には出力を自動的にミュートするようにしました。

ピュアオーディオとしてのこだわりは、使わない方の水晶発振器出力を止めて不要なノイズの発生を未然に防止するようにしたところです。

 これでCORD/DAC64みたいなDACを自作できるかもしれません(笑)。

販売ページはこちらです。

デシメーション・フィルタ基板が来た!

デシメーション・フィルタ基板が製造工場から上がってきましたので、部品の実装を手半田で済ませて早々にデバッグを開始しました。ちなみに、S/PDIF出力には同軸、光ともに74VHCU04によるバッファーアンプをかませてあります。

さすがに、自前の半田付けは職人さんや、リフロー半田には美しさではかないません(^^;;

 

 

とりあえずDV-S757Aに仮組みです。本来はメインのデジタル基板の下にCXD2753Rの載った基板があり、本基板も同じく最下層に突っ込まなくてはなりませんが、検討のため両者とも最上階に引っ張り出しておきます。

DV-S757Aの場合、音声系DACやOPAMP、そして映像系のスイッチャーICとすべてのコネクタ類が載った大きな片面基板は、SACDトラポとして使うだけであれば無くても差支えがないので取り払います。

 

もっとも、SACDを挿入した時に再生されるレイヤーを、DV-S757A側であらかじめ「SACD STEREO」に設定してから分解する必要があります。これを忘れると悲惨なことになります。

とにかく、この基板を付けたままだと、DV-S757Aに限ってはデシメーション基板を押し込むのは難しそうではあります。

 

基板には特に問題はなさそうです。基板へのパラメータ設定はディップSWなどでセットの外へ引き出して行うのが便利です。とりあえず設定項目は88.2kHz、176.4kHzの切り替えのみですが・・・。

SACDの音は柔らかいですね。PCMに変換してもそれは十分感じられます。春先まではカラヤンのCDをよく聴いていましたが、最近ではSACDばかりかけています。