2012.4.30前編はこちらすこし、今回のDACのH/W構成をまとめてみることにしました。ブロック図は下記のとおりです。入力はSPDIF(4ch)、PCM、DSDの3系統。SPDIFは一旦CS8416で受けます。CS8416でデコードした信号で活用するのはBCKのみで、ES9018にはSPDIF信号をそのまま受け渡します。これはSPDIFでもBCKの逓倍のシステムクロックがつかえるようにするためです。SPDIF、PCM,DSDのデータについてはデータセレクタの74245を介してES9018Sに送られます。DSD信号についてはシフトパラ信号をつくるため、シフトレジスタの74164を通してデータセレクターに送られます。BCKからシステムクロックを生成するために逓倍器のICS570とジッタクリーナのSI5317を用います。この逓倍クロックを使用するか、あるいは100MHzの水晶をつかうかは切り替えられるようにしています。DACの構成図さて、ソフトの構成はFFDAC9018Sとサブルーチンを共有してつかっているところが多いので、よく似た構成になっています。pageにあたります。ロック状態を示します。ALL)となればES9018とジッタクリーナ(Si5317)すべてロックしています。DSD1ES9018の左チャンネルDPLLレジスターの表示(16進)です。LL**はES9018のロックとMUTE状態、LSはジッタクリーナのロックとシグナル有無を示しています。これらはDACのステータス(状態)を示します。2ES9018の右チャンネルDPLLレジスターの表示(16進)です。3DPLLのバンド幅設定です。BestNoLowestLowMed-LowMediumMed-HighHighHighest4逓倍器の使用の有無を設定します。OFFにすれば100MHzの水晶発信器のみをつかいます。SPDIFへの適用あるいはPCM,DSDへの適用、あるいはすべてへ逓倍クロックを適用するかを選択することができます。ONにすればいいでしょう。ON5ジッタクリーナ(Si5317)のバンド幅を設定します。LOWESTに設定するともっとも周期が長くなり、もっとも安定した出力を得ることができます。LOWESTLOWMIDMID-HIGHHIGH6ディジタルフィルータ応答を切り替えます。Roll-off7シリアルデータ入力(PCM)時のデータ長を指定します。Justified9出力の極性を設定します。In-phaseにすると正相、Anti-Phaseにすると逆相になります。In-PhaseAnti-Phase10差動出力の極性を設定します。Anti-Phaseにすると差動出力。In-Phaseにすると同相出力になります。同相出力にすると16パラのシングルエンドDACとして使うことも可能です。In-PhaseAnti-Phase11IIRフィルターの設定です。Filterの設定です。I2Sここまで組んだらプログラム容量が82%になってしまいました。あわせてシンプルファンクションモードも組み込みたいけど入るかな〜???ソフト作成中です。ソフト完成!2012.5.2ほぼデバッグも完了です(と思うけど・・・)。フルファンクションモードに加えて液晶表示の不要なシンプルファンクションモードもひとつのPICに入れ込みました。途中でPICの容量が100%近くなったので、プログラムを見直して重複しているところを整理したりしたら、85%まで回復したので、さらにフルファンクションモードで機能を追加しました。最終的な容量は91%になりました。lengthの切り替え、さらにES9018内部のジッタリダクションの有無の設定ができるようにしました。lengthの切り替えって、どう違うのか波形で調べてみるとかなり変形します。28がいいでしょうけど、音はどう変わるのか楽しみです。rolloff)1kHz正弦波いきなり試聴!動くことが確認できたので、やっぱり試聴したくてむずむずしてきます。OPA版)を接続して試聴です。試聴時の接続の様子DSDももちろんつなげるようにしています。ちなみに表示はこんな感じです。DSD128入力時の場合ソフト的にはDSD256の入力も対応していますが、残念ながらソースがないので確認できていません。こんなものもあります。同一演奏でDSDとWAVの聴き比べようにとファイルをいただきました。これらもも併せて聴いていきましょうDSDとWAVファイルがはいっています。表示の綴りが間違っているとご指摘いただきました。入力信号が既定の周波数からはずれるとUNKNOWNと表示するつもりが、UNKOWNになっていました。今回のDACでは既定の周波数は下記の15種類を設定しています。それぞれの周波数と動作状況をまとめてみました。SPDIF入力では32kHz未満の周波数で動作しませんでした。ES9018自体がSPDIFの低周波数領域では対応していないみたいです。CS8416自体も16kHzでは動作しないようです。PCM(I2S等)では16kHzから問題なく動作しました。いづれにしても192kHzを超える領域では、それだけ高周波数fsで送り出す機器がないので動作は確認していません。大丈夫だとおもいますが、機会があれば動作させてみたいところです。既定周波数と動作範囲範囲をまとめてみました。本格試聴!SPDIF入力ES9018でのSPDIF入力はすでに経験していますが、やはりモノラル使用だとなんとなく音の厚みが増しているような気がします。これもシステムクロックをBCK逓倍+ジッタクリーナとしているのが効いているのかもしれません。PCM(I2S)入力これも安定感のある音がで手くる感じです。ES9018をLOWEST設定、ジッタクリーナもLOWEST設定にすると、ずんと重心が下がる気がします。SPDIFもいいですが、PCM入力は16kHzから動くので、その分の安定性もあるのかもしれません。playを聴いてみましたが、滑らかな再生です。ビット臭さが消えるのかな(笑)。ビット臭さも好きだけど(爆)。こなったらプラシーボ全開です!S−DSD入力シフトDSDになると、DSDの滑らかさがさらに増した感じもします。感じだけかな?いづれにしても、なかなかいいDACに仕上がりました。難点は少し基板サイズが大きいのと、部品点数が多いところでしょうか。老眼が進むなかでの作業は、だんだん大変になってきますが、半田付けの点数が多くなると俄然楽しくなってくるのも趣味ならではですね。お出かけ用の写真をパチリいろいろいじって汚くなる前にお出かけ用の写真をとりました。お出かけ用の写真を撮っておきました。局部的なアップも撮っておきました。SPDIFのアンプ部にはCS8416をつかっています。BCK抽出に使っています。PCM、DSD入力部分です。バッファーアンプとコントロールロジックです。IOエクスパンダが写っていますが、このICだけ向きが違うので実装には注意が必要です。シルクを確認しながら実装します。4つの74245はSPDIF、PCM、DSD、S-DSDの信号切り替え器です。左右チャンネルにあります。この基板の1つの肝ともいえるシステムクロック生成用の水晶(100MHz)とクロック逓倍器(ICS570)+ジッタクリーナ(Si5317)です。制御IOが多いのでIOエキスパンダを直近に配置しています。