2016年07月31日

量子ビット制御装置 5 「DA変換器」

後輩の実験が上手く行っているとのことで、早く波形を出す装置を作らないとなりません。

先週はD/A変換器実装をやっておりました。4DSP社のFMC150というボードを制御しています。本当はもう少し性能のいいものが欲しいのですが、安いのでこれを使っています。D/Aコンバータはテキサスインスツルメント社のDAC3283です。

このDACは800MSa/sを謳っているのですが、実はインタポレーションによって成しうるサンプリング速度で、そのときの波形のアップデート周波数は200MSa/sと使い物にならないんですよね。この場合、x4のインタポレーションが行われています。

私はx2のインタポレーションで、400MSa/sの波形更新速度で、800MSa/sのDACを作ります。本当はメーカのデータシートによると、630MSa/aが上限となっていたのですが、無理くりオーバークロックさせます。発熱がひどいのがちょっと心配です(温度センサが内臓してあります)。

入力のインターフェイスは8wiresのDDR転送です。一つのICに2chのD/A変換器が内臓されており、垂直分解能が16ビットですので、波形の1サンプルポイントあたり32ビットを転送します(つまり32bits x 400MSa/s)。1wireあたり1.6Gbit/sのDDR転送となりまして、データシートには上限1.25Gbit/sという数字が書いてありましたが、気にしない気にしない。ユーザインタフェース部はソース同期のクロックですので、あまり遅延を気にせず実装できるようです。

私たちはこのD/Aコンバータの波形を2GHzまでアップコンバートし、そこから10GHzまで再度アップコンバートします。2GHz回りの不要波を抑圧するフィルタはminicircuitsの安価なもの、10GHz回りの不要波カットの為には昨年ウチで後輩が開発したマイクロ波フィルタを使います(これは6段共振器型BPF)です。後輩君とminicircuitsの安価な2GHzのBPFフィルタの性能を測ったところ、オフバンドの抑圧比を50dB程度とろうとすると、D/A変換器から出す波形を150MHz程度とするのが良いことが分かりました。本当はこの2GHz帯のフィルタも高性能なものを自作すると、もう少し要件が楽になるのですが…。

VHDLのコードをバリッとかいて、D/Aコンバータが動くようにしました。出力側のBRAMはとりあえず10us程度用意しました。e-trees社製のライブラリのおかげでパソコンからパケットを送りつけるだけで波形が書き込まれます。適当な波形を打ち込んでとりあえず動いています。

バグがあって、なぜか100MHz以上の波形がでません。101MHzは99MHzになるような折り返しの関係になっています。どうやら書き込んでいるデータの順番に問題がありそうです。バス幅の変換をしているところで、前後がひっくり返っているのでしょう。また来週チェックですね。




<余談>

このDAC3283には実は変調機能があって、有効帯域幅の範囲を選ぶことができます。というのも、波形の更新速度が400MSa/s、DACのサンプリング周波数が800MSa/sですので、途中でアップサンプラが入るんですね。そこのアップサンプラの動作を変更すると、次のようなことができます。

更新速度400MHzのナイキスト周波数200MHzに対して、0〜200MHzまでを(i) 0〜200MHzに割り当てる (ii) 200MHzから400MHzに割り当てる。という選択肢があります。私の目的だと、(ii)の方が便利ですよね。この場合周波数関係は反転してしまうので要注意です。例えばデータとして20MHzを入力すると、380MHzに出力され、180MHzを入力すると、220MHzに出力されるからです。これで300MHzを中心周波数とすると、帯域幅200MHzをフルに使うことができそうです。





jjq303dev at 00:44│Comments(0)制御装置 

コメントする

名前
 
  絵文字
 
 
プロフィール
日々徒然過ごしている研究員。

趣味は星、自転車、コーヒー。