SDRAM_DAI for TDA1541A その3 動いた!

シミュレーション上で動作していたSDRAM_DAI for TDA1541AのFPGA設計データを、実際に現物のFPGAに移植して動かしてみました。

予定通り信号が出てきました。サポートするすべてのサンプリング周波数のS/PDIFを入力し、無事に信号が出てくることが確認できました(メモリーバッファーのスルーモードはまだインプリメントしていない)。

SDRAM_DAI基板のボードチェッカーを一時拝借して昔作った1541基板を繋いでみました。

 

ケース内手前の基板はPCM1798が載ったテスト用ボード。

とりあえずまだ差動にはしていないが、すぐにできる。

 

 

 

信号ソースとしていつものようにPS3を使ってみました。下の機械はPCM1794AのSDRAM_DAIシステムです(今は関係ない)。

 

 

PS3の設定でテストCDを44.1kHz, 88.2kHz, そして176.4kHzで再生し、S/PDIFを手前のテストシステムに入力する。

 

 

 まずはfs=44.1kHzにおける、1kHz, 20kHzの各正弦波と、インパルス応答を3枚続けてどうぞ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 FPGAの4倍オーバーサンプリング・デジタルフィルタはシャープロールオフタイプの設計としているが、SAA7220Pよりは緩やかにしている。 

 

 

 

 次はfs=88.2kHzにおける、1kHz, 20kHzの各正弦波と、インパルス応答を3枚続けてどうぞ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PS3の2倍アップサンプラー処理+本FPGAの2倍オーバーサンプリング処理の合成になる。44.1k(本FPGAの4倍オーバーサンプリング処理)にくらべて収束まで時間がかかっている?

 

 

 そしてfs=176.4kHzにおける、1kHz, 20kHzの各正弦波と、インパルス応答を3枚続けてどうぞ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fs=176.4kHzの場合、FPGAはNOS動作になるので、フィルタ処理はPS3の仕事になる。SDRAM_DAIではfsに応じて自動的にフィルタ処理を切り替え出来ている

 

 

 

 あとはPCからfs=32kHz, 48kHz, 96kHzのS/PDIFをSDRAM_DAIに入れてみましたが、特に問題なく動作しているようです。

ということで、まだ試聴の段階ではないとはいえ、早速音楽を聴いています。少し古い、あまり録音の良くないDISKをかけてみました。PCM1794Aですと、録音の良くないDISKがあまり楽しめない傾向がありますが、TDA1541AはそういうDISKでも聴かせてくれるところがあります。重心の低い深々とした低音はやっぱりイイです!

DSD2S/PDIF デシメーション・フィルタ 遅れてます その5

パルストランスを実装したデシメーション・フィルタをSCD-XE600に搭載してみました。

写真は176.4kHz出力を、75オーム終端器を介してオシロ・スコープへ入力してみたところです。S/PDIFジャックのコールド側はXE600の回路Gndからは絶縁しました。

 

クリックすると大きな画像に遷移します

デシメーション・フィルタ基板とXE600とのGnd接続は、UNREG5Vのフィルタコンデンサ両極をP5に繋いだだけだけとなりました。

 

 

 

 

クリックすると大きな画像に遷移します

 

 パルス・トランスを付ける場合はC341をオープンにしておいて、S/PDIFのジャックのコールド側を回路Gndから切り離します(写真ではショートされているのでコテ先を当てて溶かして切り離します)。

 

 

 さて、音は?・・・
今のところは違いがまだよくわからない・・・・。

DSD2S/PDIF デシメーション・フィルタ 遅れてます その4

今後この基板をお届けする際には「パルストランスを使用しない」をデフォルトとして下記の「①標準実装状態」で発送します。

 

①標準出荷状態

C8をショートしてあります。これによってS/PDIFのコールド側を回路GNDに落としております。

お手持ちのリード線で図の2点のランド間を繋いでください。これによってドライバ直結のS/PDIF出力となります。

 

 

 

②パルストランスを付ける場合

C8を半田コテの先でオープンにして下さい。これによってS/PDIFのコールド側を回路GNDから絶縁します。

パルストランスの実装には、矢印のランドを使ってください。

 

パルストランスはこの記事のように実装してください。フェライト・トロイダルコアはトヨムラのFT-50-77, あるいはFT-50-43あたりをお使い下さい。トヨムラ(太田)というのはアミドンの代理店です。

基板Rev. 1.1の回路図

DSD2S/PDIF デシメーション・フィルタ 遅れてます その3

 

クリックすると大きな画像に遷移します。

問題なく176.4kHzにロックしています。

 

 

 

 

それで、音の優位性は?というと、「まだよくわからない」というのが本当のところです。絶縁した方が良いのか?というと、するに越したことはないと思いますが、少なくとも個人で自作して使う分にはEMIの規制うんぬんに神経質になる必要はありませんし、難しいところです。もっとも、いろいろな環境で使用し始めると、思わぬところで絶縁しといてよかった、という場面に出くわすことになるのかもしれません。

念のためですが、パルストランスで絶縁したあと、トランスポート側ではS/PDIFのコールド側は通常回路のGNDには接続しませんので、XE600への取り付けは出口の部分が少し変更になります。この辺の組込み追試験は「その5」で実施しております。

デジタル出力がTOS-LINKでも、SDRAM_DAIがあればジッタに神経質にならなくて済みますので、TOTX142が生産中止にならなければ、パルストランスについては正直言って真剣に考えなかったところです。

DSD2S/PDIF デシメーション・フィルタ 遅れてます その2

 

クリックすると大きな画像に遷移します。

88.2kHzの絶縁出力

振幅は、DAC側にて75V終端時で0.8V程度

 

 

 

クリックすると大きな画像に遷移します。

176.4kHzの絶縁出力

振幅は88.2kHzと同じ

 

 

 ドライバ直結に比べてやや丸くなってはいますが、そこそこきれいな信号だと思います。オシロの帯域不足で丸くなっているのではありません。コアのf特だと思います。

肝心のコアですが、定番のFT-50-77を使いました。トヨムラさんから購入したので間違いはないはずです。最初は秋葉のある店の店舗で調達しましたが、全然話にならず、10年くらい昔に柴崎さんがMJに書かれていた記事を思い出しました。

FT-50-77が調達できない場合にはFT-50-43でも同等の波形が得られます。その他はたぶんダメでしょう。

巻き方は前回記事の写真の通りで、1次側を10ターン、2次側を5ターンとします。CMOSインバータの出力が3.3Vですので、巻線比2:1でトランス出力が1.6V程度、約75オーム送り出しの受け側75オーム終端で0.8Vとなります。

1次側を10ターン、2次側を5ターンとしたのは振幅の調整のためだけではありません。2次側も10ターンとすると、176.4kHzではインピーダンスが高すぎるのと(S/PDIFは22.5792MHzになる)磁気歪みの影響で(と勝手に解釈していますが、この方面は不案内で・・・)、波形なまりが心理的許容限度を超えます

続く・・・。

DSD2S/PDIF デシメーション・フィルタ 遅れてます

再リリースが遅れている訳ですが、前回のリリースで基板が払底し(夏頃には基板がなくなり次第終了しようと思っていたのですが、ありがたいことに助命嘆願が殺到しまして・・・)、ある事情で今までの基板データが使用できなくなったためにアートワークをやり直していたのです。それで、どうせ引き直すのならばフェライト・トロイダルコアが載るスペースを追加しようと思いついたのです。

DV-S757Aといい、SCD-XE600といい、いずれも同軸デジタル出力は絶縁していません。ということで「デシメーション基板も、まあ、それでいいか」と思っていたのですが、トラポの高級機は多くの機種がしっかりと絶縁されています。せっかくパターンを引き直すのだから「コアが載るスペースでも追加しておこう」と思いついたわけです。

ゲートICとインバータをSOICから面積の小さいTSSOPに変更し(提供させて頂くのは実装済み基板なので問題はないと・・・)、少し板端方向に移動してもらったうえで長手方向に若干基板サイズを伸ばすことで面積を増やし、FT-50-#**が載るようにしました。

前バージョンを入手された方はゴメンナサイ(FPGAの中身は変わっていません)。従来の基板でも出力ジャックにしがみつくような形でコアを取り付けて頂くことは可能だと思いますので、どうしても絶縁したいという方は、そのような方法でご対処をお願いします。基板を台湾製(写真は試作基板で韓国製。ちなみに前バージョンは中国製)に変更したこともあって、コアは添付しませんが基板価格を1,000円程度値上げをさせて頂こうと考えています。

クリックすると大きな画像に遷移します。

 

 

 

 

 

 

パルストランスを巻いて176.4kHzでまともな信号を出すのに大変手間取ってしまいました。176.4kHz対応のトスリンクが製造中止にならなければ、おそらく同軸出力を絶縁できるようにしようとは考えなかったと思います。

続く・・・。

SDRAM_DAI for TDA1541A その2

現段階でのデジタル・フィルタの性能について公表させていただきます。

このページのスペックがSAA7220PBのスペックだと思ってください。

以下は、今回の4倍オーバーサンプリング時のインパルス応答と20kHz正弦波の処理結果です。例によって、FPGAのソースコードでのシミュレーション結果をWAVEファイルに変換してWaveSpectraに読み込ませました。

 

クリックすると大きな画像に遷移します。

通過帯域はSAA7220PBに比べてフラットではないかと思います。SAA7220PBは20kHzに近づくにつれてレベルが少し上がっている?

 クリックすると大きな画像に遷移します。

 (22.05-20)+22.05=24.55kHzの折り返しが-60dBまで抑え込まれています。それ以上のスペクトラムは完全になくなっています。確かSAA7220PBの阻止領域の減衰特性は-50dB程度だったように記憶しています(実際そのように読み取れます)が、本フィルタでは完全に落としきれています。

フィルタ係数自体の算出では、ソフトウェアによって倍精度浮動小数点精度で-150dBをはるかに超える性能をもつTAP係数が得られ、それを32bitに量子化して本フィルタの係数としています(32bitに量子化する時点で量子化誤差により性能は悪くなりますが・・・)。

好ましい音として感じられるかどうかは別として、スペック的にはSAA7220PBよりも良いかと思います。

 

SDRAM_DAI for TDA1541A その1

何とか1番やっかいなデジタル・フィルタ部分のプロトタイプを書きあげました。ロジック設計は(も)ちまちました作業の連続で気が滅入ってしまうこともしばしばですが、とりあえずホッとしました。

デジタル・フィルタの仕様は、4倍オーバーサンプリング時が256TAP、2倍オーバーサンプリング時が128TAPのシャープ・ロールオフタイプです。

入力が32kHz/44.1kHz/48kHzなら自動的に4倍モードのフィルタ処理を、88.2kHz/96kHzなら2倍モードのフィルタ処理を、そして176.4kHz/192kHzならNOSで出力します。176.4kHz/192kHzも1サンプルあたりビットクロック32発分(16発/ch)で出力しますので、TDA1541AのI2S入力でも問題ないはずです。

その昔、CS8414では(CS8416でも同じ)176.4kHz/192kHzも1サンプルあたりビットクロック64発分(32発/ch)で出力されるのでTDA1541Aでは再生できなかったことを考えると、これも前進ではないかと・・・。

また、SAA7220PをTDA1541Aの前に置くと、32kHz/44.1kHz/48kHzより高いサンプリング周波数の信号を入れるとSAA7220Pが動かないという状況で、TDA1541AはCD専用と割り切らざるを得ない局面が多かったと思いますが、今回のSDRAM_DAI for TDA1541AならばTDA1541Aを実用的に使えるようになります。

88.1kHz以上の高音質ソースでTDA1541Aを鳴らしても性能が出せるのか?という疑問は置いておいて・・・。

さて、メインのモードが差動出しとなるので、出力はI2S(DATA)が2線になります。そして、内蔵するデジタル・フィルタはオリジナル設計とします。

どうしてもSAA7220Pを使いたいケースを考えて、このSDRAM_DAIには差動ではない1線のI2S出力モードも設け、こちらのモードはデジタル・フィルタを通さない信号をジッタレスで出力できるようにします。NOSがお好みなら32kHzから192kHzまでOKですし、48kHzのソースまでしか聴かないよ、という場合にはSAA7220Pを繋いでもOKです。

説明だけではわかりにくいかもしれませんので、概念図を用意しました。

出力のタイムチャートも描いてみました。

デジタル・フィルタを通る差動モードと、デジタル・フィルタを通らないノーマルモードの切り替えには、基板上のチップジャンパをopen/shortすることで切り替えます(シルクはジャンパにはなってませんが)。現行のPCM179*用基板では非公開のモードへの切り替えとして使っています(有用な機能ではないので非公開のままとします)。

とりあえずシミュレーション上ではデジタル・フィルタが一通り動き始めましたので、そのうちデバッグを始めたいと考えています。設計検証等にも時間がかかるので、リリースは11月に入ってしまうと思います。

あと、設計上の制約から場合によってはメモリをバイパスするTHRU(スルー)モードでは、差動/非差動の両方のモードでデジタル・フィルタを通さないような仕様になるかもしれません。

その前に、回路が現状のFPGAよりサイズの大きいXC3S200に収まりきるかどうかという検証もまだ完全にはできていませんでした(汗)。

 

SDRAM_DAI for TDA1541A

今月いっぱい少し時間がとれそうですので、SDRAM_DAI基板のTDA1541Aバージョンの設計を始めました。単純にI2Sで出力するだけなら手間はかかりませんが、やはりデジタル・フィルタも入れ込みたいですので、まだ少し時間がかかりそうです。

基板を新規設計して44.1kHz専用のものを立ち上げるという手もありますが、インフラは1本化したいので現状のSDRAM_DAI基板を使い、FPGAはより容量の大きいタイプを使うということで実現させるつもりです。

 

デシメーション・フィルタ組込み例 2題

デシメーション・フィルタを導入された方からご報告を頂きました。いずれの方も当ブログで紹介した組み込み記事にとどまらない貴重な事例をご提供くださいました。

最初は、東京都のN様

DV-S757Aへの組み込みですが、アナログ基板を外さずにSACD基板から上面にDSD関連信号を引き出してきてデシメーション・フィルタ基板へ入力されています。

組み込み当初は音楽信号に混じってホワイトノイズが重畳していたそうです(写真1枚目)。

 

これを、

  1. 信号ケーブルを銅箔テープで包み、絶縁のためチューブをかぶせる。銅箔はシャーシ(基板取り付けネジ部)へアース線を接続する。
  2. 使用していないケーブルをコネクター根元でカット or その他のケーブルは最短にカット。
  3. SPDIF信号用のRCAコネクターのGNDは絶縁リングを取り外し、シャーシへ直接取り付ける。

といった対策を施して無事にノイズを抑えられたということです(写真2枚目)。
768fs版は33MHz超のクロックラインを引き回さなければならないため、DV-S757Aへの実装ではこれが一つの難関ですが、参考になるかと思います。N様、ありがとうございました。

 

 

次は兵庫県のY様

768fs版を、2ch専用のSACDプレーヤーであるmarantzのSA-15S1へ導入されたそうです。貴重な実装例ですね。

「たまたまプレーヤーのシャーシ側面に、M3でタップを切ってくださいといわんばかりの穴あきのタブのでっぱりがあったので、そこにネジを切ってスペーサーでとめています。まるで純正のボードのように収まっています。」とのことです。

信号線はDACチップであるシーラスのCS4397直前から引き出されているということです。CS4397であれば1.27mmピッチですから、注意深く作業すればチップの根元から信号を引き出すこともなんとかできそうです。

 

 

右側手前の基板にDACチップが載っている模様です(写真1枚目)。

 

 

引き回しも短く済みますし、取り回しも容易そうで、デシメーション・フィルタ基板の実装向きの機種といえそうです。美しい機器なので新品改造は勇気が必要そうですが・・・。

Y様、情報をありがとうございました。