タグ: LabVIEW

LabVIEWダイアグラム改善とAD9851複数台制御の準備

前回のブログにて、AD9851の動作周波数が出力可能周波数と連動している報告を記述したが、その後構成図を再確認したところ、
・12.8MHzクリスタルを使用し6逓倍制御で基準クロック生成AD9851(DDSC)を駆動
・DDSCから30MHzの波形を出力
・DDSCからの出力波形を基に波形生成用DDS(DDS1、2)を駆動
という流れであったため、クリスタルの周波数の変更は必要ないことが判明した。現時点での構成図を以下に示す。

“LabVIEWダイアグラム改善とAD9851複数台制御の準備” の続きを読む
広告

LabVIEWダイアグラムの修正とAD9851テスト回路の諸実験4

前回の実験にて、AD9851への入力周波数が間違っていたために想定した波形が出なかったことを踏まえ、LabVIEWダイアグラムの修正を行った。

現在のシステムでは、DDSCからの出力は可変となっているため、DDS1,2の基準周波数は容易に変更することが可能である。しかし、DDSCの基準クロックはダイアグラム内部に定数として与えているため、使用する発振子に合わせて複数実行ファイルを作成する必要があった。そこで、基準周波数を可変にし、Papilioとの通信を開始するタイミングで基準周波数を変数として読み込む方式に変更した。以下がそのダイアグラムである。

続きを読む

LabVIEWでのPapilio動作ダイアグラムの改良2

前回改良したLabVIEWダイアグラムの動作を確認するための実験を行った。

実験を行うにあたって、以前作成した統合システムではPapilioの構成が基準周波数用DDSの制御に対応していなかったため、修正を行った。以前のVHDL記述では、PCからのコマンド入力から制御するDDSを判定していたが、その判定対象がDDS1、DDS2のみであった。今回、この判定基準に基準発振器用のコマンドを追加し、他2つのDDSと同様の制御が可能となった。なお便宜上、今回追加する基準発振器DDSはDDSCと命名した。

出力12.8MHz_20180926
12.8MHzでの出力

出力30MHz_20180926
30MHzでの出力

想定していた周波数の出力が確認されたが、12.8MHz周辺では振幅が小さくなってしまった。今回のDDS自体の基準周波数に、以前から使用しているコンパレータ分離型の水晶発振器を使用したが、振幅の減少の原因かどうかは不明である。

Papilioからの動作が確認できたが、実際にDDSCの波形をDDS1、DDS2に入力しての実験を行っていないので、今後DDSを複数使用した実験を行うことにする。

LabVIEWでのPapilio動作ダイアグラムの改良

以前作製したPapilio動作用システムのLabVIEWダイアグラムを、使用環境に合わせて改良を行った。

前回同様、位相、周波数可変のDDS2台の制御に加えて、DDSを動作させるための基準周波数を可変にするため、基準周波数を発信させるDDSを制御するシステムを新たに追加した。
任意の周波数を入力し、更新ボタンを押すことで基準周波数が変更され、それに合わせて残り2つのDDS内部にて周波数の計算を再度行い発振させることで、基準周波数の変動に伴って出力周波数が変動することを防ぐ。

Labviewフロントパネル20180829
フロントパネル

Labviewダイアログ20180829_統合
ダイアグラム

今回の改良で、1度のボタン操作ですべてのDDSの更新命令を出す必要があった。すでにループやボタン入力のシステムが完成しているため、大幅な改変はかえってシステムの崩壊を招くと考え、改良が最小限ですむ方法を検討した。現在、1度に送信できる対象DDSは1台で、その判定は切り替えスイッチと連動している。そこで、切り替えスイッチが押された際のフラグ番号を定数とし、ボタンが押された際ループごとに別のカウンタを変動させ、それに合わせ制御するDDSを変化させる方式を採用した。また常にループが回る必要がないため、ループが一定回数に達するとループを停止させ、従来通りの切り替えスイッチでの対象切り替えが行えるようにした。

Labviewダイアログ20180829_3
ループ初期状態。ボタンが押されなければ値を変化させないため、従来通りのボタン操作に依存する。

Labviewダイアログ20180829_4
ループ中。データの更新を監視するループが回るごとにカウンタが動き、それに合わせて制御対象が変動する。

Labviewダイアログ20180829_5
ループの最後。常に回り続けないよう、ループを停止状態に戻している。

今後、このダイアグラムが動くか実験を行っていく。

汎用AD9851ボードの実験2

以前成功しなかった汎用AD9851ボードの再制作及び再実験を行った。

ユニバーサル基板を用いた実験を行ったことにより、AD9851本体の接触不良が大きく影響することが分かった。現在の基板の設計上、AD9851をそのままはんだ付けするとランドが狭くうまくはんだ付けができない。そこで、予めAD9851の足を少し短縮し、はんだ付けを行った。また、同じくユニバーサル基板の実験にて、IOUTから正弦波の出力が確認できたので、IOUTに接続されている抵抗のランドからケーブルとピンヘッダを出して波形を出力できるようにした。

s-DSC_0160
実験の様子

上図のような配線を用いて、前回と同様LabVIEWを用いて実験を行ったところ、下のような波形が確認された。

s-DSC_0159
出力波形

その後、
・基準波形信号のGND、オシロスコープのGNDをすべてボードのGND1点に集中
・VCCのジャンパも同じく集中
したところ、ノイズが除去され、下の図の波形が確認できた。

s-DSC_0161
出力波形2

ブレッドボード上にGND信号をなるべく介さずに実験を行ったところノイズが軽減できたことから、ブレッドボード上でノイズが付加されていたことが分かった。しかし、LabVIEWで100kHzの信号出力を命令したところ、実際には200kHzの信号が出力された。また、LabVIEW上で6逓倍を指示するコマンドを除いて出力させたところ、さらに周波数が異なった値になってしまった。

現時点で考えられる問題は、
・LabVIEW上での出力信号の制御を間違えている
・基準波形が違う
・AD9851の足を切断したことで影響が出てしまった
である。また、出力レベルも200mVと小さいので、アンプを介する必要がある。

引き続き実験を続けていく。

汎用AD9851ボードの制作3

外注したAD9851ボードが届いたので、制作と実験を行った。

外注はelecrowに発注した。

AD9851のフットプリントの設計をミスし、チップの足のサイズの通りに作成してしまったため、はんだ付けがしにくくなってしまった。今回は、あらかじめ足すべてにはんだをブリッジさせ、吸い取り線で余分なはんだを吸い取ることではんだ付けを行った。

s-DSC_0062
AD9851基板に実装した様子

この基板を用いて、動作試験を行った。試験には以前作成したLabViewでの操作プログラム、及びPapilioの動作モジュールを用いた。基準クロックの発振には前任の研究者が作成した12.8MHzの発振子及びコンパレーターの回路を用いた。

s-IMGP1008
配線の様子

s-IMGP1010
発振子とコンパレーターの回路

実験を行ったところ、矩形波の出力が確認された。以前別のAD9851基板で実験した際は正弦波が出力されていたので、回路設計か配線のミスが原因と思われる。また、位相を固定したまま周波数を変動させると、7kHz付近で信号が確認できなくなってしまった。矩形波でかつ高周波のため、オシロスコープでの検知限界を超えたものと思われる。

s-IMGP1009
出力波形(上)と12.8MHz基準波形(下)

以前実験に使用した回路と比較しつつ、実験を続ける。