AD9834を使ったスイープジェネレータの実験

※「AD9834を使ったスイープジェネレータの実験その2」でAVRを使用して追加実験してみました。(2010-04-03)

 中波ラジオのIFフィルタとして一般的なセラミックフィルタの周波数特性を見てみようとSGを手動でスイープさせて、スペアナのMAXホールドで結果を表示させてみました。

 一応は測定できますが、えらく時間がかかります。SGの手動スイープは、周波数アップダウンスイッチを押しっぱなしなのでかなり面倒です。スペアナのRBWを絞るとスペアナのスイープ時間が延びるのでさらに時間がかかるようになります。

 こういった狭帯域フィルタを測定するツールとしてCYTECさんのFRMSが有名です。FRMSを作ってみたいのですが、部品代だけで10000円近くかかりそうです。FRMSは、信号発振にDDS、受信にログアンプのAD8307を使用して20MHz以下のフィルタ等の特性を測定できるようです。ただ、ここまで高度な使用は想定していないので、もう少し簡易な方法を考えます。

・・・ということで結果をスペアナで見ることとして、特定の周波数範囲をスイープするジェネレータがあればいいのではないかと実験してみました。

 シグナルソースは、スイープ範囲や可変ステップがマイコンで設定できるようにDDSが良いと思います。秋月電子のDDSユニットは、価格が高いので単品のDDSチップを調達します。digi-keyで他の部品を注文するついでにアナログ・デバイセス社のAD9834CRUZを注文しました。1個当たり994円でした。クロックは75MHzまで対応しています。

 AD9834はTSSOPをDIPに変換する基板に実装します。この基板、裏面のSOP実装スペースには電源のバイパスコンデンサなどを実装できます。

 実験の回路図です。AD9834は50MHzのクロックで動作させます。AD9834は3線式シリアルインターフェースで制御します。制御のマイコンはPIC18F14K50を使用します。高速なシリアル通信を行うために12MHzの外部クロックを使用して内部PLLで48MHz動作させます。

 いつものようにブレッドボードで実験しました。シリアル通信のプログラムは、PLLのチップを制御する方法とほぼ同じです。ただ、初めはデータシートを見ても、なかなか制御コードや周波数コード理解できなかったのですが、アナログ・デバイセス社が用意しているAD9834 Device Configuration Assistantというサイトを使うと理解できました。

 最初は、スイープ動作ではなく普通のSGとして動作確認をしました。当然、DDSなので1Hz単位の周波数設定が可能です。オシロで波形を確認するときれいな正弦波が確認できます。DDSは、供給クロックの1/3までが実用的と言われています。ということで、最高周波数は、50MHzの1/3の16.666MHzとしています。下は1Hzまで出力できます。

 スイープ動作させてAMラジオ用の455KHzセラミックフィルタとFMラジオ用10.7MHzセラミックフィルタを測定してみました。DDSの出力は1KHz~10MHzまではほぼフラットでレベルが低いことを除けばノーマライズは不要です。
測定は、手動の1/3程度の時間で完了します。・・がやはり時間がかかります。PICは最小インストラクション時間がクロックの1/4なので、これ以上の高速化は私の技量では難しいです。また、20ピンのPICなので外部クロックを接続するとスイッチや液晶などの入出力ポートが足らなくなります。

 DDSへの周波数設定は、28ビットモードで転送しています。周波数を設定するのに制御コードと周波数コードの48ビット転送で456usもかかっています。AD9834のシリアルは最小25nsのクロックで動作するので、単純計算で約380倍もかかっています。200KHzを1Hz単位でスイープさせると2分近くかかります。ただ、スペアナのRBWとスペアナのスイープ速度の関係から10Hz単位でも十分なので実際の測定では12秒程度となります。

 スイッチを追加したいのですが、PIC18F14K50には空きピンがありません。また、クロックの制限から、これ以上の高速化は難しそうです。次はもう少し高速動作が期待できるAVRをつかってAD9834を制御してみます。
 ただ、受信周波数に選択度のあるスペアナを使う限り、スペアナのスイープと同期しなければ狭帯域での測定は難しいと思います。やっぱりFRMSの仕組みをまねるのがいいかもしれません。

 参考までに16.666MHzを出力した時のスペクトラムです。かなりの高調波があります。

 カットオフ18MHzのチェビシェフLPFを作ります。コイルのインダクタンスが中途半端なのでトロイダルコアを使用してコイルを作成しました。

 LPFの特性をGigastで確認します。こういった広帯域のフィルタの特性の測定にはGigastは便利です。

 高調波は減衰できました。このまま長波から短波までのVFOとして利用できそうです。


 参考にならない未完成のソースプログラムです。^^;
スイープ動作の実装が適当です。PICはあきらめてAVRで進めることにしたので途中で投げ出しました。スイープ部分を除けばDDSを使ったVFOにそのまま利用できると思います。

アイコン

pic18f_ddw_sweep_generator.c 8.55 KB 142 downloads

...

1件のピンバック

コメントは現在停止中です。