2020年12月30日水曜日

【回路】AD9833 DDS Module , Plus

AD9833をオーバー・クロックで使う

abstract
I will now attempt to overclock the DDS-IC AD9833. According to the datasheet, the upper clock limit of the AD9833 is 25MHz. My guess is that 25MHz is too low.
In my tests, the AD9833 worked fine even with a clock of over 100MHz. I will get a clean 30MHz signal from the AD9833 DDS module.Now the $2 DDS module has a new value. (2020.12.30 de JA9TTT/1 Takahiro Kato)

クロック上限25MHzは低すぎ?
 前回のBlog(←リンク)のようにAD9833は波形の発生機能やコマンドの与え方のような使い方から見てAD9834の簡略版(サブセット)に違いないようです。

 そのAD9834にはクロック上限が50MHzのAD9834BRUZと75MHzの同CRUZの2種類あって、AD9833の25MHzよりもずっと高くなっています。

 上限周波数をわざわざ低く作るような設計もあるかも知れませんが、他の機能はそっくりなのにそこだけ大幅に違うと言うのも何だか不思議な感じがしませんか。 私の読みとしては、実際にはもっと高いクロック周波数まで使えるのではないかと思うのです。これはAD9833搭載のDDSモジュールの評価を進めていてずっと気になっていたことです。でも、モジュール(基板)には既に25MHzのクロック・オシレータがハンダ付けされています。これを交換しなくてはテストできませんから疑問解消はペンディングにしていたのです。

                   ☆

 大したことでは無くとも気になったまま年越しするのも何ですから、ここはハッキリさせておきたいと思います。・・・と言うことで、このBlogは自身の疑問を解消してスッキリ年越しするためのものです。(笑) 特にお勧めもしませんが、新しい年にAD9833のDDSモジュールのフル活用を計画するなら参考にでもして下さい。

搭載クロックを剥がす
 モジュールには25MHzのクロック・オシレータが搭載されています。3.2×2.5mmサイズの表面実装型発振器です。オーバー・クロックを試みるには邪魔ですから除去することにします。たぶんもう一度基板に戻す可能性は低いとは思いますが、再利用できるよう綺麗にはずしたいと思います。

 部品や基板そのものにダメージを与えずに実装された部品を外すためのツールが出回っています。手軽に使えるものとしては低温ハンダを使った面実装部品の取り外しキットがあります。

 ハンダとは言っても接合を目的としたものではありません。 比較的低い温度で溶融しますので部品と基板が暖かいうちはハンダは「液状」のままです。その溶けているうちにピンセットで摘んでダメージを与えすに引き剥がすことが出来るわけです。あとは残存した「低温ハンダ」を吸い取りリボンや吸引器で清掃すればOKです。

端子の配置は?
 写真はクロック・オシレータを除去したDDSモジュールの様子です。残っていた低温ハンダも清掃してあります。低温ハンダは本来の意味でのハンダ付けには適していないようですから、除去した方が良いでしょう。その上で必要に応じて正規のハンダ付けを行ないます。

 搭載されていたオシレータはごく標準的なものです。規格品のようですから端子配置も規格化されているでしょう。現物の基板パターンと合わせて確認したところ、写真に書き込んだような端子配置になっていました。あとはこのハンダ付け用パッドを利用して外部からクロックを与えてオーバー・クロックを試みれば良いでしょう。その結果次第ですが3.2×2.5mmサイズの発振器でもっと高い周波数の物に載せ換えると言った改造も可能です。

トランスを介して与える
 外部の発振器からクロックを与えます。機器間の電位差など考慮してRFトランスを介してクロックを与えるようにします。これはAD9834のオーバー・クロックを試みた時と同じ方法です。+2VのDCバイアスが掛かっており、クロック信号はそれに重畳する形でDDS-ICに加えられます。AD9833は9834に類似と考えられますが、同じ方法で試すことで比較することができます。

 具体的なテスト方法はAD9834のオーバー・ドライブ実験と同じです。回路図や詳しい写真は後ほどリンクがあるので必要に応じて参照して頂けたらと思います。
 当然ですが外部からクロックを与えるための端子は設けられていません。AD9833 DDSモジュールの該当パターン・ランドの所から細いポリウレタン電線で引き出しておきました。

まずは50MHzから
 配線が済んだら25MHzの外部クロックで基本的な確認を行なっておきます。配線やクロックの与え方に問題がないことがわかったので、さっそくオーバー・クロックを試みました。

 最初は50MHzからです。AD9833の25MHzというのはどう考えても低すぎるように感じます。そこでさっそく2倍の50MHzでやってみました。いくら2倍のクロック周波数で動作しても、スペクトラムが汚くては使い物にはなりません。でも、写真のように綺麗ですからあっさり合格です。

やはり25MHzというのは余裕がありすぎる上限周波数だったのですね。想像に過ぎませんが営業上の戦略から上位のチップ:AD9834と規格上の差を設けているのではないでしょうか?

70MHzではどうか?
 70MHzで入念にテストしたのは、大きな理由があります。 あわよくば67.108864MHzのクロックで動作できないだろうか?・・と思ったからです。もし可能なら0.25Hz刻みの端数のないステップで信号発生ができるようになるからです。制御ソフトの上からも扱いが容易になって有利でしょう。

 70MHzのクロックで写真のように綺麗なスペクトラムが得られましたから問題なく使えそうでした。念のため少し低い67.108864MHzのクロックでも確認していますが、もちろんOKです。

参考:67.108864MHzは1×2^26(Hz)です。AD9833やAD9834のアキュムレータが28ビットなので、端数のない周波数ステップを得るのに有利です。ちょうど半分の33.554432MHzも悪くありませんが、なるべく高い周波数のクロックを与えた方が実用可能な周波数範囲は広くなります。 さらに67.108864MHzの2倍の134.217728MHzで動作すればFBなのですがAD9833や9834では無理なようです。

限界は115MHzあたり
 ではオーバー・クロックの限界はどの辺りなのでしょうか? どうやら115MHzくらいのようでした。

 何個か試さないとバラツキまではわかりませんが、100MHzを少し超えたあたりなのは間違いないように思います。この辺りの特性もどうやらAD9834と同じということのようですね。ICチップ製造のC-MOSプロセスは同じなのでしょうか?

スペクトラムもきれい
 写真のように115MHzのクロックではきれいな信号が得られています。写真は示しませんが、広帯域に見たスプリアスも問題はありませんでした。

 ただし115MHzというのは限界に近いためここまで使えるとは思わない方が良いでしょう。マージンがなさ過ぎます。何かの条件が少し変わっただけで破綻する可能性があるでしょう。入念に観測したところ、もう少し上の117MHzでは周期的に周波数をスイープして行く幽霊のような妙なスプリアスが見えました。115MHzは本当の限界と言えるでしょう。個体差もあるはずです。

 実際に使うには十分なマージンを見込みたいと思います。用途次第ですが50MHz、75MHzあたりが無難なように思います。もちろん67.108864MHzも良いでしょう。さらに十分な確認を行なった上で90 or 100MHzが実用的な上限周波数ではないでしょうか。これらの周波数は3rdあるいは5thのオーバートーン水晶発振で得やすい周波数なのも好都合です。

クロックが120MHzだと
 実は、与えるクロックをどう加減しても出力が出てこなくなる「上限周波数」はもっと高いのです。115MHzを越えたらAD9833の動作がピタッと止まる訳ではありません。

 115MHz以上は使えない周波数だと思うので、深く追求はしていませんが恐らく150MHz以上でも何らかの「動作」はする筈です。
 しかし写真の120MHzは既に使えない周波数なのです。お空で恥をかかないためにも無線機には使おうと思わない方が良いでしょう。(下記)

(参考)テストに使った外部発振器(SSG)に問題はないのでしょうか? スペクトラムが115MHzより上で急激に劣化しているかもしれません。もしそうならDDS出力も劣化するでしょう。 以前の評価では大丈夫だった筈ですが、改めて調べなおしました。 それによると使ったSSGは120MHz以上でも信号の品質に何ら違いはありませんでした。このSSGはPLL形式ですがまずまず綺麗なスペクトラムです。従ってクロック信号源としてSSGに問題はありません。以前のAD9834も含め、今回調べたAD9833のクロック上限周波数も正しく評価できていると思います。

スペクトラムが汚い
 写真は120MHzのクロックを与えた時の出力スペクトラムです。 周波数カウンタやオシロスコープだけで観測していると異常な動作はわからないのでしょう。この周波数では与えるクロックの大きさをどう加減してみても綺麗なスペクトラムにはなりませんでした。

 しかも実際に周波数カウンタで観るとちゃんと設定値の「33.6MHz」を示すのです。大元のクロックさえフラついていなければ、周波数カウンタの表示も安定したままを示します。これでは使えると勘違いしてしまいそうですが、もはや使えないことはこのスペクトラムを見たらわかるでしょう。少なくとも通信機のようなデリケートな用途に使ったらダメです。限界を極めるのならこの辺は十分に確認した方が良さそうです。

 30MHzから120MHz以上まで、適宜クロック周波数を上げながら、正常に動作するクロック信号の大きさを観測しました。その数値データもあるのですが、纏めてみて基本的にAD9834でオーバー・クロックを試みた時と同じようなグラフになりました。実際の使い方としては、正常な動作が可能な周波数範囲内でおおよそ2Vppくらいの振幅で与えれば十分です。波形は矩形波でも正弦波でも大丈夫です。

 種々の考察を含め、AD9833のオーバーク・ロック検討はそのままAD9834の例が適用できます。したがってこれらに適した自作のクロック発振器もまったく同じものが使えることになります。水晶発振子とFETを1石使ったオーバートーン発振回路が良いでしょう。 あるいは3225サイズの水晶発振器は入手容易なので75MHzなどへ置き換えるのも良いでしょう。

もし興味があれば諸々のことは過去の関連Blogを参照してください。
(1)DDSをHAM用無線機に使うコンセプトは:AD9834編・・・ここ(←リンク)
(2)さらにAD9834を使った新DDS-VFOの企画・設計編・・・・ここ
(3)AD9834 DDS-ICを少々オーバー・ドライブで使ってみる・・・ここ
(4)ではAD9834のオーバー・クロックはどこまで行けるのか?・・・ここ
(5)さらなるAD9834のオーバー・クロックは可能なのか?・・・ここ
(6)まだでしたらAD9833の基本的な使い方(前回のBlog)・・・ここ
(7)実際にこのAD9833で作ったDDS-VFOの製作例は・・・ここ

◎お正月がヒマ過ぎるのなら過去に遡って読み返すのもFBかもしれませんね。

                   ☆

 仕様の範囲を大幅に超えた使い方は邪道だと言われそうです。それはそうなのですが、25MHzと100MHzではあまりに違いがあり過ぎます。そこまで使えるのならDDSモジュールの価値はずっと高くなるでしょう。アマチュアが自家用の製作に使って楽しむ分には何もはばかられることはありません。せいぜい10MHzがやっとだったのが、30MHz以上まで実用になればHF帯をフルカバーできることになります。非常に意味があると思いました。無理のない範囲で十分活用したいものだと思います。 基本は買ったまま25MHzのクロックで使うのが良いでしょう。しかしそれ以上の可能性が明らかになったのは年末の収穫でした。(笑)

 出掛けることがはばかられた1年でした。電子工作も何か「ネタ」がなければ進みません。国内外を含めた通販が発展したお陰で、なんとか楽しむことができたのは幸いでした。家人からはゴミの山と邪魔者扱いされつつも、溜め込んだジャンクも様々に役立ってくれました。この先はワクチンの効果で少しずつでも緩和されることを祈りたいと思います。楽しいお正月を! de JA9TTT/1

(おわり)fm

2020年12月15日火曜日

【回路】AD9833 DDS Module Control

DDS:AD9833を使ったDDSモジュールのススメ

abstract
Try the DDS module using the AD9833. I bought this DDS module from a mail order company in China. It is very inexpensive, but the performance is good. The signal obtained by this DDS module has good frequency accuracy and the spectrum of the signal is clean. I would like to explore the basic use of the DDS module first. (2020.12.15 de JA9TTT/1 Takahiro Kato)

AD9833 DDS モジュール
 AD9833を使ったDDSモジュールはお買い得です。写真のこれは昨年(2019年)の2月頃購入したものです。いまでも同じように手に入るでしょう。 DDS-ICのAD9833と25MHzのクロック・オシレータが搭載された切手大の基板モジュールが一つ100円台で手に入ります。 中華通販で購入しますがコロナ禍の影響も徐々に緩和しつつあるようです。最近ではだいたい以前のような日数で手に入ります。

 自作好きでしたら「DDS」はご存知と思いますがDirect Digital Synthesizerの略称です。簡単に言えばデジタル回路の技術を使った発振器です。任意の発振周波数(*1)が得られしかも周波数安定度は極めて良好です。1990年代末に専用のLSIが登場してから一般化しました。HAMの自作では送信機や受信機の周波数とその安定度を決める重要な発振器として使われます。AD9833は米アナログ・デバイセズ社のDDS-ICチップです。

 AD9833のモジュールは手軽なのは良いのですが、自作HAMの人気はいま一つのようです。たぶん高い周波数の発生ができないからでしょう。 通販業者の能書きでは12.5MHzまで可能なように書いてありますが、これは現実的ではありません。だいたいクロック周波数(25MHz)の1/3の約8MHz、あるいは工夫して10MHzあたりが実用的な上限周波数だと思います。 それでも良好な周波数安定度を持った発振器・・・例えばVFOの様な用途には重宝する筈です。

*1:厳密に言うと飛び飛びの周波数なので、完全な「任意の周波数」ではありません。ただし刻みは約0.0931Hzです。感覚的には「連続に任意の周波数が設定できる」と言えます。

                   ☆

 中華通販で良さそうな物が目に止まるとついついポチってしまいます。そんな購入品がだいぶ溜まっています。 いつか役立つとは思いますが開封さえしていないのではもったいないですね。
 たまたま、周波数可変できる発振器が欲しくなったのですが普通に作ったLC発振器では周波数安定度が足りません。 そこで簡単に使えそうなAD9833 DDSモジュールを思い出しました。 着手してはじめは少し迷ったのですがデータシートを良く眺めたら簡単に行けそうなことに気付きました。こんなことならもっと前に・・・届いた時にでもテストしておけば良かったくらいです。
 自作好きには既知のデバイスでしょう。使いこなしている人も多いと思いますが、簡単に纏めておくことにしました。いつものように自家用の纏めです。もし興味でもあればこの先もお読みください。使い方の基本がまとめてあります。

AD9833はどんなDDSチップか?
 AD9833はシンプルで低消費電流のDDSチップです。簡単に言ってしまうと、このBlogではすでにお馴染みになっているAD9834(←リンク)の簡略版(サブセット)と言えます。
 DDSチップとして得られる機能は概ね同等ですが、AD9834の20ピンに対してAD9833は半分の10ピンに削減されているため、ハードウエア的な機能はだいぶ省略されています。また、クロックの上限周波数が半分の25MHzと低いのも大きな違いと言って良いでしょう。そのため発生可能な上限周波数も半分になっています。

 それでも、あまり高い周波数は必要とせず、ハードウエア的な制御機能も要しない簡易なファンクション・ジェネレータのような発振器を作るのでしたらシンプルで良いかもしれません。 HAMの用途を考えたとき、出力波形としては正弦波があれば十分です。その場合はAD9834とまったく同じような使い方になるわけです。古すぎるかも知れませんが、例えばFT-101やTS-520と言ったアナログ名機の周波数安定度を向上させる外付けVFOにも最適でしょう。

 AD9833は上限周波数が低いという欠点はありますが消費電流も少ないため電池動作のRigに適しています。 簡単な無線機のVFOといえば従来は主にVXOが使われてきましたが、それを置き換えられるでしょう。上限周波数が低いとは言っても旨く使えば10MHzあたりまで行けます。コンパクトで消費電流が少なくデジタル読み取りできるVFOを内蔵したポータブルなRigが実現でます。(参考:実際にはもっと高い周波数の発生も可能です。詳しくは続編(←リンク)の参照を)

ごく簡単な使い方
 一言で言うと、AD9834と同じ方法で使えます。様々な機能を使おうとすればそれだけ複雑になります。 しかしHAMがDDSをVFO・・・「周波数が可変できて安定度の良い発振器」・・・のように使いたいだけならAD9834との違いはないのです。

 コントロールの方法ですが、データシートを眺めるとAD9834とは何となく違うように感じました。 しかし、左の説明を良く読んだらAD9834とそっくり同じで良いようです。これに気付くまでは、フローチャートを眺めたり、複雑そうに見える設定表を見てどうしようか・・・と思案してしまいました。 確かに、すべての機能を使いたいなら精読して使いこなさねばなりません。

 ここでは周波数が可変できる簡単な発振器がさしあたっての目標です。従ってその機能に限って使えれば良いので、とても簡単に・・・AD9834と同じに使えば良いわけです。

お試しプログラム
 手に入れたAD9833 DDSモジュールには25MHzのクロック・オシレータが搭載されています。買ったものが正常に動作するか否かは左図のようなプログラムで確かめられます。AD9833を初期化してから7MHzを発生するように数値データを送っているだけです。 とりあえず、これで7MHzの発振器になるので周波数カウンタや受信機で動作確認ができるわけです。

 プログラムはBASCOM AVRで書いてあります。昨今はArduinoの方がポピュラーなようですが、テストに使う手元ツールの都合でBASCOM AVRにしました。 Arduinoだとあらためて作らなくてはなりません。まあ、ブレッドボードなら簡単なんですけれど・・・。なお、 Arduino用には既成の「スケッチ」(プログラムのことをこう呼ぶ)がネット上に出回っているようなので、他に何もない環境でも簡単に試せるようです。興味があれば検索で探してみてはいかが?

 左図リストのもう少し詳しい説明はリンク先(→ここ)にありますので、参照してください。 リンク先のプログラムはクロック周波数が67MHzのAD9834用です。 左図のプログラムは25MHzのクロック発振器が搭載されたAD9833 DDSモジュールで7MHzが得られるように変更してあります。 働きそのものはまったく同じです。

制御はマイコンで
 AD9833 DDSモジュールは単独で通電しても使いものになりません。必ずマイコンやパソコンでで制御します。もっとも、所定のビット列をハードウエア的に与えても動作はしますので、マイコンが絶対に必要というわけでもありません。しかし遥かに苦労が多いでしょう。

 ここではAVRマイコンのATmega 8と言う少々旧式のチップを使いました。 プログラムを書き込む際に初期設定をちょっと変えてやれば、同じMEGA X8シリーズのAVRマイコンならどれでも使えます。 出力ポートの設定を変更すればさらに幅広いAVRマイコンが使えるはずです。 例えばATtiny13Aのような8ピンのチップでも可能でしょう。(ただしLCD表示器は付けられませんけど) 文末にAVRマイコンを使ったテスト回路例があります。上記のお試しプログラムに適したものです。

参考:写真のLCD表示は上記のテストプログラムとは異なっています。これは、各種DDSチップのテストに使うための汎用プログラムをAD9833用に改造して流用しているからです。

簡単に試す
 DDSチップのAD9833はICチップ単独でも売られています。ここでは実装ずみのモジュール状態で入手したので、AD9833は基板に搭載済みです。 さらに基板にはクロック・オシレータほかバイパスコンデンサなど動作に必要な最低限の部品が載っています。従ってすぐに試すことができます。

 なお、ブレッドボードに載せるためのピンヘッダ(10ピンのうち7ピン分使用)が付属してきますのでハンダ付けしておきます。ライトアングルなピンヘッダを付けると、基板などへ垂直に搭載できて扱い易いかもしれません。

 配線は7本です。必要な引き出し線はデータ関係に4本、電源系に2本、出力系に2本です。データと電源のGNDピンは共通です。アナログGNDは出力の引き出しに使うと良いでしょう。

7MHzの出力波形
 さっそく出力波形を観測してみました。だいぶ酷い波形ですが、目的信号以外に非高調波のスプリアス(不要信号)が含まれるためです。ローパス・フィルタ(LPF)なしのDDS出力を観測した際に見られる波形です。
 このDDSモジュールにはきちんとしたLPFが載っていません。 DDS-ICの内部インピーダンス:200Ωと基板に載っている22pFによる気休め程度のRC型ローパス・フィルタがあるだけです。(計算上のカットオフは約36MHz)

 そのため、DDS発振器特有の折り返し信号や他のスプリアス信号もほぼそっくりそのまま出てきます。それで写真のような汚い波形になっています。 実際に何かの機器に使用するには必ずLPFを付けなくてはなりません。 後ほどスペクトラムの観測結果もあるので参照を。
 適切な遮断周波数のLPFを付加すれば、出力はきれいな正弦波になるので心配はありません。 モジュール内部には一切手を付けず、搭載されている25MHzのクロック・オシレータをそのまま使うとすれば、π型2段程度の簡易でなだらかなLPFなら8MHzくらいのカットオフ(遮断周波数)で設計します。もっと良く切れるフィルタ・・・例えば有極型の急峻な遮断特性を持ったフィルタならカットオフ周波数は10MHzが良いでしょう。(後述)

発生周波数の確認
 さっそく出力周波数を確認してみました。プログラムで設定したのは7MHzちょうどです。このように7MHzにたいへん良く合っていますが、実は写真のこれはデータ的に補正してあるからです。

 上記のテスト・プログラムのように25MHzのクロックには誤差がないとして算出したデータをセットしてみたら、約4.8Hzほど高い周波数を発生しました。この周波数誤差の4.8Hzには個体差があって、別のモジュールでは異なった値になります。しかし、3つ調べたら周波数誤差はどれも1ppm以下(±7Hz以下 )でしたから意外に良い精度です。もっとも、中国製の常でロットが変われば様子が違う可能性はありますが。

 たぶん、クロック発振器には温度変動があるので神経質に周波数合わせしても長く維持はできないでしょう。とりあえず初期誤差も少ないので、あまり難しく考えずに使うのが良いのかもしれません。 WSPRの送受信のように高い周波数安定度を要する用途では幾らか心配もありますが、普通のCWやSSBと言ったモードでしたらまったく支障のない安定度です。LC発振のVFOやVXOでは上手に作ってもなかなか得られない性能です。

モジュールの回路は?
 ネット上を丹念に探すと回路図が見つかるようですが、現品をざっと見ただけでメーカーのテスト回路と大差なさそうでした。従って左図のようなものだと思えば良いようです。

 左の回路図にはバスバッファ(U2:74HCT244)が載っていますが、このモジュールには載っていません。これはなくても支障はないでしょう。あとはほぼ同じでしょう。従って、非常にシンプルな回路のように思います。

 左図のC4が簡易なLPFの働きをするコンデンサ(22pF)です。このように、LPFは無いに等しいのですからきちんとしたフィルタの外付けが必要なわけです。外付けのLPFを構成する際には、モジュール上のC4を除去するか、その分だけ補正すると良さそうです。出力インピーダンスは概略200Ωになっています。

 なお、内部にある電流型DAコンバータの負荷抵抗器:200Ωは切り離すことができません。従って出力インピーダンスは200Ωです。AD9834のように外付けで任意に設定できませんが支障はないでしょう。ピン数が少ない関係か平衡出力ではないのが残念なところです。

追記:購入したDDSモジュールの回路図があったので追加しておきます。 基本的にメーカーの推奨回路と同じになっています。回路図の「CON7」というのが引き出されている端子です。
 AVRマイコン基板とのインターフェースでは、ATmega X8のPortC.0をDDS基板のFSYNC(CON7の5番)、PortC.1はSDATA(3番)、PortC.2がSCLK(4番)へ配線されます。GND(2番)とVcc(1番)の配線も忘れないでください。
 DDSモジュールからの出力取り出しは、OUT端子(7番)とAGND(6番)から行ないます。出力インピーダンスは200Ωです。

 モジュールの消費電流は実測で7〜9mAでした。(電源電圧=5V、fo=7MHz、5個測定) データシートによるとAD9833単独の消費電流は約5.5mAです。従ってモジュールに搭載されている25MHzクロック発振器の消費電流は概ね2〜3mAとなります。消費電流の少ない発振器なのは良いことです。

ピン接続についての詳細は後ほど登場するマイコンとLCD表示器を含んだ回路図を参照してください。

100MHzまでのスプリアス
 出力のスペクトラムを観測してみましょう。まず初めは、100MHzまでに含まれている全スペクトラムを示しました。

 上でも書きましたが、このモジュールにはちゃんとしたLPFは載っていません。そのため出力にはたくさんのスプリアスが含まれています。このように比較的大きなスプリアスが含まれていますから、LPFの付加が必須なことがわかります。それぞれのスプリアスには発生している理由があります。周波数を記入しておいたので興味があれば検討してみてください。周波数の設定を変えるとそれぞれ上や下へ動いて行きます。意外に少なかったのは25MHz(クロック周波数)の漏れで、ほとんど見えません。

 ここで問題になるのは目的周波数の直上にある大きなスプリアスで、これは折り返しによるものです。(左図では18MHzのもの) これは目的信号の周波数を上げると逆に下がってきます。目的信号にどんどん接近してきて12.5MHzにセットするとついに一致してしまいまったく分離できなくなるのです。
 例えば、出力を10MHzに設定するとスプリアスの方は15MHzに下がってきます。これを分離しなくてはならず、従ってかなり急峻なローパス・フィルタが必要になる訳です。

7MHz周辺のスプリアスは?
 特に重要なのは目的信号の近傍に発生するスプリアスです。これは簡単なフィルタを付けたくらいでは取り除けないからです。目的信号である7MHz近傍のスプリアスを観測してみました。まずは7MHzを中心に±50kHz、全体で100kHz幅を観測しています。

 このようにスプリアスはまったく観測されません。これなら心配はいらないでしょう。モジュール搭載のクロック・オシレータ(25MHz)が良くないとスプリアスが現れることがあります。このモジュールに載っているオシレータはなかなか良さそうです。
 ノイズ・フロアも低いようですからローノイズなVFOが作れるでしょう。もう少し大きなレベルまで増幅したいなら、なるべく少ない段数のアンプで済むように設計するのが上手いやり方です。何段もアンプを通せばそれだけノイズ・フロアも上昇しますので。

ごく近傍のスプリアスは?
 目的信号の上下5kHzの範囲といった、ごく近傍のスプリアスを観測しています。少しだけスプリアスと思われる信号が見られますが、目的信号の-80dB以下ですから殆ど問題ない筈です。

 受信機の局発(VFO)に使った場合、ごく近傍にノイズやスプリアスがあると、それによって目的信号が変調されてIF帯域に現れることがあります。高性能な受信機の実現にとって厄介な問題になるわけです。

 このAD9833 DDSモジュールはチープなものですから、高級なRigに使う可能性は低いかも知れません。しかしきれいなスペクトラムが得られていますので上手に使えばかなりの高性能リグでも満足できるでしょう。ここまで観測してコスパの良いモジュールだと思いました。

参考:実用的な発振周波数の上限が低めなのは与えているクロック・オシレータの周波数が低いからです。過去に実験したAD9834やAD9850の例にならい「オーバー・クロック」を試みるのも面白いと思います。 おそらく30MHzを超えるようなクロックでも動作するでしょう。もし33.554432MHzまでアップできたらVY-FBですね。
 しかし、このAD9833 DDSモジュールはそのまま使うのがベストではないでしょうか? より高い周波数は別のDDSチップに任せ、これはそのままシンプルに使うのが良さそうです。 すでに搭載されている25MHzのクロック・オシレータはスペクトラムが綺麗で周波数精度もまずまず、更に消費電流も少ないですから。

                 ☆ ☆


10kHzを発生してみる
 これはオマケです。 このDDSモジュールの出力端子はDDSチップ:AD9833の出力ピンに直結です。従って、設定すれば非常に低い周波数まで取り出すことができます。

 25MHzのクロックですから、1ステップが約0.0931Hzです。周波数の設定データを「1」に設定すれば、そこまで出力可能なはずです。無線の用途ではまず必要はありませんが、オーディオや機械制御のような用途には有用かもしれませんね。
 プログラムを変更して試しに10kHzを発生させてみました。データは10進で言えば「107374」で28bitのバイナリ(2進数)で表すと「&B0000 0000 0001 1010 0011 0110 1110」です。これをMSBとLSBに分けて周波数レジスタへ設定すればOKです。(上記プログラム参照)

 他の周波数が必要なら、目的周波数をf(Hz)として設定値をXとすれば、Xは以下の計算から求められます。 X=(f/(25×10^6))×2^28・・・・です。なお、25×10^6というのはクロック周波数:25MHzの意味です。クロックを変更したらそれに合わせます。また2^28と言うのはAD9833のアキュムレータが28ビット長だからです。これはAD9833を使う限り不変です。計算値に小数点以下の端数が付く場合、それが設定の誤差になります。その小数点以下の部分を四捨五入して設定すると周波数精度が上がります。こうして得られたXを周波数レジスタに対して純2進数に変換し設定します。(注:周波数レジスタは2つあって切り替えて使用が可能)


10kHzの波形
 写真は10kHzが出力されるようデータをセットした時の出力波形です。このように10kHzのような低周波では10ビット分解能のDAコンバータの性能がフルに活きるため綺麗な正弦波が出力されます。簡単なローパス・フィルタを付ける程度でも十分実用になるでしょう。

 もし正弦波以外の波形を発生したいならコントロール(制御)レジスタへの設定を変更することで簡単に可能です。

 例えば、三角波を発生するには:「&B0010 0000 0000 0010」をAD9833に送ります。
 矩形波の発生も同じようにできます。 2つの種類があって、設定周波数と同じ周波数の矩形波が得られるのは:「&B0010 0000 0010 1000」です。また、設定の1/2の周波数(周期は2倍)の矩形波は:「&B0010 0000 0010 0000」で得られます。
いずれも再び正弦波に戻すには「&B0010 0000 0000 0000」を送ればOKです。
これらの切り替えを試すにはプログラムリストの行ナンバ:340のところをそれぞれ書き換えて実行すれば良いです。 なお、正弦波と三角波の振幅は写真のように約0.6Vppですが、矩形波は0から約+5Vまで振れる大きな振幅なので注意が必要です。


Aliexpressで買える
 左図は、Aliexpressで販売している例を画面キャプチャしたものです。もっと安価なショップもあったかもしれません。購入前に良く比較検討することをお勧めします。
 まったく同じモジュールをAmazonで転売している人もいるので、海外通販が苦手ならそちらが良いかもしれません。しかし中華通販で直接購入すればずっと経済的です。送料も数10円からあります。

 急がないのでしたらお勧めの購入方法でしょう。遅延気味だった納期も最近は以前に近くなってきました。 国際通販にはリスクもあるので、各自の判断と責任で購入されてください。

参考:AD9833 DDS-VFO回路図
 AD9833 DDSモジュールを使ったVFOの参考回路です。上記のテスト・プログラムを書き込んで購入したモジュールをテストするために使います。 購入したAD9833モジュールのテストには、図のオプション部分を省き必要なところだけをブレッドボード上に製作すれば十分でしょう。(もちろんVFOにはなりませんけれど)

 この回路図にはカットオフ周波数が10MHzのよく切れるローパス・フィルタの回路とその部品定数が記入してあります。 こうしたLPFはAD9833 DDSモジュールを活用する際には必須です。
 少々複雑ですが、なるべく周波数範囲を広くとるためのローパス・フィルタとして適当でしょう。リンク先(←リンク)にはこの設計で作ったLPFの周波数特性グラフがあります。必要に応じて参照してください。
 左記の回路図では出力インピーダンスが50Ωになるようにインピーダンス変換しています。もし200Ωのままで良い場合は、トランス:T2を省いてください。

 なお、目的は上記のテスト・プログラムを走らせるだけなので「OPTION」の囲み部分は不必要です。(OPTION部分を配線しても意味がありません) また、外部から5Vを供給してテストするならU1の3端子レギュレータ:μA7805ACも不要です。

 LCD表示器は以前から秋月電子通商で売られている「SC1602BSLB」を使うようになっています。現在はより消費電流が少なくて、しかも見易いタイプも売っているのでそれを使う方が良いでしょう。 大半のLCD表示器は接続ピンに互換性がありますが、Vcc(1番ピン)とGND(2番ピン)が逆になった物が多いので説明書をよく読んで使います。(実は秋月で売っているこのシリーズのLCD表示器だけが変なのです・笑)

                  ☆ ☆ ☆

 またまたの脱線でした。 ゲルトラの送信機は「コロナ禍がすっかり片付く頃でも良いかな?」なんて思ってしまったら、まったく別の方向へ行ってしまいました。 受信機も何とかしたい・・などと思ったら、今度はVFOも何とか・・・と思い始めて「そう言えばAD9833のモジュールがあったな」などと芋づる式に思い出してしまったような訳です。 挙句は去年のお題を今年の年末に片付けるような情けない話に。趣味に納期はないとは言ってもねえ。(笑)

 紹介したAD9833のモジュールはだいぶ前から出回っていました。 AD9834やAD9850でさえまだ十分には使い切れていないのに更に手を出すのも・・・と思ってペンディングにしていたのです。 しかし、思い立って手を付けて良かったと思います。 これで一通りの使い方がわかり、特徴も掴めたので何かの機会に役立ってくれるのは間違いないでしょう。 ではまた。 de JA9TTT/1

(オーバークロックを試みる続編につづく)←リンクnm