« 別々の波形を出しながらひずみ率が-90dBを達成した | トップページ | DACボードのLCフィルタ »

2022.08.05

DACのノイズを減らすための長い闘い

DACのノイズを減らすための長い闘いもだんだん勝利が見えてきました。

まず、非常に小さい正弦波を出して(0x1fffと0x2000を繰り返す)、全データバスが激しく同時に遷移する波形を与えます。

そのときに出力のようすはこちら。

Normalclock

XDCファイルにLVCMOSの出力電流の制約を書いて、DACに与えているクロックの電流を減らしてみたのがこちら。

Reducedclock

劇的に減りましたね。

クロックはデータが遷移していなくても常に125MHzとか100MHzがDACに与え続けられているので、非常に大きなノイズ源になっているようでした。

次に、周期が異なる2つの正弦波をDACから出力して、クロストークを見ます。

Crosstalk_20220807011401

Cosmo-ZのDACから出して、Cosmo-ZのADCでサンプリングしてFFTしてみると、

Crosstalk2

干渉があるんだかないんだかわからない結果になりました。今、緑のスペクトラムは100kHzで、茶色が約68kHzすが、ここで緑だけを消して見て見ましょう。

Ch1_20220807011601

100kHzや200kHzのところに何もないので、クロストークが測定できないほど小さいことがわかります。

次に茶色を消して緑のチャネルだけみると、

Ch5_20220807011801

わずかに、-100dBあたりのところにちょこっとだけいるのが見えます。クロストークは-90dBは達成できているといえます。

これで、「DACのAD9717はIとQチャネルが分離できていないのではないか」という不安は払拭できました。AD9717は2つのチャネルが混ざっているということはなく、7月20日ごろに実験していてうまくいかなかったのはディジタルの遷移が出力に乗ってきているためだったと確信しました。

さて、FPGAにADCやDACをつないだ「RedPitaya」というのがありますが、こちらはどうなっているでしょう。

RedPitayaのヒートシンクを外してみると、FPGAとDACが露出します。

Rp

使われているDACはAnalog DeveicesのAD9767で、Cosmo-Z DACで使用しているAD9717とは近い関係にあります。

Ad9767

AD9767も14bitのパラレルバスをDDRでマルチプレクスして14bit 125MHz 2chを実現しているので、条件は同じです。RedPitayaのDACへのデータバスの配線は上の写真のとおりFPGAと直結です。ただし、非常に距離は短くできているようです。

RedPitayaの波形も同じようにノイズが乗っていました。

下の図はRedPitayaで1MHzの方形波を出力したときの出力コネクタを同軸ケーブルでオシロにつないで観測したものです。

Rp3_20220807012801

矩形波っぽい波形の上に発振するものが見えています。この発振は12~18MHzくらいでした。

Rp4 

ですが、たまに125MHzのクロックに起因すると思われるノイズも乗ります。

Rp2_20220807012501

RedPitayaで100kHzの正弦波を出力してTHDを測ると-55dB~-72dB程度だったので、このノイズの問題をクリアできていないのではないかと思われます。

RpthdRpthd2

 

|

« 別々の波形を出しながらひずみ率が-90dBを達成した | トップページ | DACボードのLCフィルタ »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 別々の波形を出しながらひずみ率が-90dBを達成した | トップページ | DACボードのLCフィルタ »