« 地下鉄の駅でミューオンを測ってきた | トップページ | 歓迎会と歓送会 »

2015.07.28

Cosmo-Zの16bit版を作ってみた

ZYNQ搭載のADCボード「Cosmo-Z」を16bit化しようとしています。

16bit 8ch 125MHzサンプリングのADCデータロガーになるわけです。

ノーマルのCosmo-ZはAD9633という125MHz 12bit 4chのADCを使っていますが、16bit版ではAD9653を使います。AD9633とピン配置互換ですのでそのまま置き換えられます。Digikeyでも1個 45,273円

これで作ってみました。

Csz16


まず、入力を50Ω終端にして、無信号時のヒストグラムを見てみます。

Csz16_2

結構、揺れています。33540あたりを中心に±20LSBほどは変動しています。1LSBは約31μVですので、±0.6V程度の揺れがあるようです。

時系列で見ていてもわからないので、ヒストグラムを取ってみましょう。

Csz16_1

正規分布よりは三角形に近い感じがしますが、半値幅で12LSBあるので、0.3mVくらいの誤差があると言えるでしょう。12bit版では1LSB≒0.5Vだったので、見えなかったのです。

一方、AD9653のデータシートによれば、入力のノイズは、

Csz16_3

このくらいなので、半値幅で7~8LSBです。AD9653の最高の性能の2倍くらいのノイズが出ていることになります。

原因を切り分けるために、Cosmo-ZのアナログフロントエンドのOPアンプの出力を切り離して、ADCの入力を0Ω抵抗でショートしてみます。すると・・

Csz16_4

半値幅=8となったので、AD9633の生の性能が出せているということになります。

つまり、悪いのはアナログフロントエンドのOPアンプ回路ということです。

さて、アナログフロントエンドを元に戻して、無信号時のスペクトラムを見てみます。

Csz16_5

横軸はkHzですから、DC~40MHzまでのスペクトラムが見えています。
5MHz以下で盛り上がっているのがわかります。

ここで、オーディオアナライザで作った正弦波を入れてみましょう。発振させている周波数は100kHzです。

Csz16_8


スペクトルを見てみると・・

Csz16_6

100kHzのピークのほか、2MHzのあたりに山がありますが、この山は周囲の環境のノイズを拾っているので、Cosmo-Zの性能ではありません。

80MHzでサンプリングしてもよくわからないので、5MHzでサンプリングしてみます。FFTの前に使った窓関数はハニング窓です。

Csz16_7

やっぱり歪が見えていますね。歪率は-70dB~-80dBといったところでしょうか。ただ、このオーディオアナライザも発生させる信号の周波数が高くなると歪率が悪くので、実力はそれ以上はあると思いますが。

アナログ回路で使用しているOPアンプは、100kHzでの歪率は-110dBc以下なので、歪の原因は発振器によるものなのでしょう。

ああ、100kHz~1MHzが出せる、-100dBクラスの低歪発振器がほしい。

なお、1~2MHzあたりの山は周囲の環境から発するノイズを同軸ケーブルが拾っているので、Cosmo-Zで生み出されたノイズではありません。

ADコンバータも16bitクラスになると、もはや「ぴたっ」と値が止まることはなくて、8~10LSBくらいの幅で揺れます。これは回路の作り方の問題ではなく、もともと高速ADコンバータがそういうものだからです。

市販の16bitディジタイザでは「下4ビットは意味がない」と代理店が言い切ってしまうものもありますので、Cosmo-Zではそういうディジタイザよりははるかに低ノイズなのでしょうが、まだまだ改善の余地があると言えそうです。

|

« 地下鉄の駅でミューオンを測ってきた | トップページ | 歓迎会と歓送会 »

コメント

コメントを書く



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




« 地下鉄の駅でミューオンを測ってきた | トップページ | 歓迎会と歓送会 »