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

8 件のコメント:

T.Takahashi JE6LVE/JP3AEL さんのコメント...

加藤さん、おはようございます。
昨日から寒いです、いきなり真冬になってしまいました。
まあもう12月半ばなのですが^^;

AD9833モジュールは僕も安さに釣られてポチりましたw
自分のBlogを見ると昨年の2月にポチっていましたが、いつものように動作テストだけしてそのままになってます^^;

出力範囲は狭いですがSI5351Aより綺麗な出力が得られますのでローバンドで使用するには便利ですね、ボード付きで安いですし方形波や三角波も出せるので簡単なFGにも使えそうです。

と言いつついつものようにパーツボックスの肥やしになってますが、AD9834や昔流行ったAD9850のボードと同じく安いDDSを見るとついポチってしまいます(笑

TTT/hiro さんのコメント...

JE6LVE/JP3AEL 高橋さん、おはようございます。 今朝は寒かったですねえ! 氷点下まで下がったようです。 まあ、12月も半ばですから不思議ではないんですが・・・。

さっそくのコメントありがとうございます。
> 昨年の2月にポチっていましたが・・・
同じころ購入されたようでしたね。 Blogは拝見しておりましたが、私はそのまま未着手で1年以上過ぎてしまったような・・・。

> ローバンドで使用するには便利ですね・・・
だいたい10MHzくらいまで行けるので、結構使えそうだと思います。 あと455kHzのBFOとか、自作ラダーフィルタのキャリヤ発振器とか使い道は色々ありますね。 安いので何でも気軽に使えそうです。マイコンも安くなってますし。

> 簡単なFGにも使えそうです。
そうですね。 このお値段ですとICL8038やXR2206で作るよりも良さそうです。 波形の綺麗さも似たり寄ったりですから。 周波数安定度は抜群ですし。

> 安いDDSを見るとついポチってしまいます(笑
私もそうですよ。 DDSが高かった頃の記憶がトラウマになっているんでしょうかねえ。(笑

JA6IRK@岩永 さんのコメント...

TTT 加藤さん、おはようございます。

自分のことにかまけて、加藤さんのサイトは大変ご無沙汰してしまってました。
ツイッターでのご案内で気づき久しぶりに訪問させていただきました。

9833は、当局が秋月でボードを売ってたウェルパイン製の次に使ったDDSです。
秋月ボードは機器実装には大きいのと電流食うのとノイズも多かったと記憶しています。
色々調べていたら、当時アナデバのサンプル申し込みで入手可能と知り、入手した次第です。
そのあとに入手した9834ともに低消費電流で機器実装にうってつけで、7MHzのCW TRXには多用させていただきました。OSCも3端子の消費電流の少ないのを色々物色して購入してました。

9834ともに9833も部品箱にまだ残っていると思います。
最近の状況は知らなかったのですが、Aliあたりでボードで安く手に入るのですね!
LOWバンド用としては十分使えるDDSだと思います。消費電流が少ないのがいいです。
9850ボードが高騰したままですので、こういったものを使うのもよいかと思います。

BASCOMでのサンプルプログラムも掲載していただいてますので、試される方がいらっしゃればいいですね!

TTT/hiro さんのコメント...

JA6IRK/1 岩永さん、こんにちは。 北関東は晴天・快晴ですが寒いです。

いつもコメントありがとうございます。
> 久しぶりに訪問させていただきました。
ご訪問いただきどうも有難うございます。

> ウェルパイン製の次に使ったDDSです。
そうでしたか! パッケージが小さいので好んでお使いになっていたように思っていました。 その頃は今ほど安価ではありませんでしたね。 今はAliで買うとAD9833単体なら@50円くらいからあるみたいです。

> 低消費電流で機器実装にうってつけで・・・
消費電流が大きいのはDDSの欠点の一つのように思ってましたが、AD9833と34ならだいぶ省電流で助かります。

> Aliあたりでボードで安く手に入るのですね!
ご覧のようなお価格ですので、ボード実装済はかなりお買い得だと思ってます。

> 9850ボードが高騰したままですので、こういったものを・・・
AD9833も幾らかオーバークロックが可能だろうと思っています。 もう少し高い周波数まで使えるとAD9850を代替できる用途が広がってFBでしょう。 いずれ試したいと思っています。

> 試される方がいらっしゃればいいですね!
ご覧のお方の本音は「即座に実用的に使えるプログラム・リストが欲しい・・・」なのだろうと思っています。(笑)

セトロ/JE1HBB さんのコメント...

今日から冬本番ですかね

 以前、部品屋「Yさん」から譲って頂き、Arduino Nanoで使ってました。Yさんからかなり高い周波数まで使えるみたい、と聴いてFRMSを作ったりしてました。75MHzを加えて30MHzくらいまでは得られましたが、スペクトルはきれいとは言えなかったですね。でも7MHzあたりで使うには安価できれいな出力のため、バンバン使おうと思ってたのですが、気がつくと最近はSi5351に浮気してます。9833は出力がちょっと小さいので結局ポストアンプがいるようだし。

 でも私にとって最初のDDSなので愛着も、また手持ちも少なからずあるので用途を選んで上手に使うつもりです。そう言えば、まだPICではコントロールしてなかったので、まずはそこから…

TTT/hiro さんのコメント...

JE1HBB 瀬戸口さん、こんばんは。 今夜はだいぶ冷え込んできました。 明日の朝は一段と寒そうです。

いつもコメント有難うございます。
> 「Yさん」から譲って頂き、Arduino Nanoで・・・
Yさん了解です。 だいぶ前ですがそんな会話のやり取りをされてましたね。 Arduinoでお使いだったようですね。

> かなり高い周波数まで使えるみたい、と聴いて・・・
AD9834は50MHzがSpecでしたが約100MHzまで行けました。 AD9833は元々25MHzのようですので、流石に100MHzは無理かもしれませんが50MHzは十分に行けそうな気がしているのです。あとでやって見ましょう。(笑)

> 気がつくと最近はSi5351に浮気してます。
矩形波で問題なければ5351が良いかもしれませんね。 DDSの方は数倍の周波数範囲で正弦波が必要な時には有利だと思っています。LPFが簡単ですみます。 適材適所でしょうね。

> 、まだPICではコントロールしてなかったので、まずはそこから…
マイコンは何でも良いんでしょうね。 データをセットしてやるだけですのでPCでもAVRでも大した違いはないです。いつも使い慣れたチップが良いですね。

JG6DFK さんのコメント...

おはようございます。そこそこいい天気のようですが、新型コロナの勢いが増してきているようで、自宅でおとなしくしているのが正解かもしれません。

SPI I/Fを採用しているのは年季の入ったデバイスばかりになってしまったようですね。新しいデバイスは軒並みI2C I/Fを採用しているようです。

DDSはずいぶん前、アナデバにサンプル請求したAD9834を少々味見したくらいです。倍率にもよるでしょうが、PLLで持ち上げるのはジッターの点でうまくなく、基本波で使うのがベストらしいというところまでで検討が終わっています。

一応、I2C I/Fのデバイスも使えるように学習はしましたが、他にも課題がいろいろあり、手を出す余裕がありません。

TTT/hiro さんのコメント...

JG6DFK/1 児玉さん、おはようございます。 北関東は晴天です。このところ毎朝寒いですね。

いつもコメント有難うございます。
> 自宅でおとなしくしているのが正解かも・・・
まったく家から出ない訳にも行きませんが、なるべく混雑のない時間帯を選んで買い物するようにしています。あと半年以上こんな状況が続くんでしょうね。

> SPI I/Fを採用しているのは年季の入ったデバイスばかりに・・・
プロトコルを持ったI2Cの方が多数デバイスの制御が容易ですからね。芋づる式の2線で済むので便利です。フィリップが特許料を取らなくなったので採用が一気に進んだ感じです。

> PLLで持ち上げるのはジッターの点でうまくなく・・・
PLLの基準に使っても問題ないくらいに綺麗な信号が得られていると思うのですが・・・。問題はスプリアスをどう取るかでしょうね。

> 他にも課題がいろいろあり、手を出す余裕がありません。
どうしても必要な時に手を出せば宜しいのではないでしょうか。

I2CのデバイスもBASCOMで扱うと通信自体は容易なのですが、デバイスごとのイニシャライズ方法とかレジスタの配置のような個々の事情までは面倒を見てくれないので、結局自身で検討しないと使えません。 Arduinoで他人さまが作ってくれたようなスケッチを実行しているうちは良いのでしょうが・・・。 なんだかんだでマイコン系って面倒臭いんですよね。 DDS-ICはまだ単純な方なのですが同じことです。hi hi