Top > EZ-USB > FX2 > DDS

広告

秋月電子通商のDDSキットをEZ-USB FX2でコントロールする。

パソコン制御のシグナルジェネレータにできる

準備

  • DDSキット買う
  • DDSキットを作る。
  • SDCCをインストール
  • CycFX2Progをインストール
    • CycFX2Progのサイトからサンプルファイルを取ってきてその中にあるヘッダーファイル(fx2regs.h)を使う

接続

  • EZ-USB FX2の5V端子をDDSキットの電源端子につなぎ、GNDをDDSキットのグランドにつなぐ
  • EZ-USB FX2の出力端子とDDSキットのシリアル入力(STB、DATA、SCK)をつなぐ。
    • 下のサンプルプログラムを使うときは以下のようにつなぐ
      • STBをPB0
      • DATAをPB1
      • SCKをPB2

EZ-USB FX2用プログラム

↓このサンプルプルグラムをSDCCでコンパイルする

コンパイルは

sdcc -mmcs51 -I./include test_dds_1.c

とやる。ただし、この場合ヘッダーファイル(fx2regs.h)はソースと同じディレクトリにある「include」というディレクトリに入れておく。同じディレクトリやライブラリのパスにあるときは「-I./include」と言う部分は不要。

書き込み

コンパイルすると「test_dds_1.ihx」というファイルができるので、EZ-USB FX2をつなげた後rootになって

# cycfx2prog prg:test_dds_1.ihx

とする。

使用

rootで

# cycfx2prog reset delay:100  run sbulk:2,CMD-DATA

とする。 CMD-DATAは最初の1文字がコマンドで次の26個の0または1がデータ。データはLSBから並べる
例えば1Hzの時は

f10000000000000000000000000

となるので

# cycfx2prog reset delay:100  run sbulk:2,f10000000000000000000000000

と実行する。
3Hz時は

# cycfx2prog reset delay:100  run sbulk:2,f11000000000000000000000000

0が最後まで続く時は省略可能。つまり

# cycfx2prog reset delay:100  run sbulk:2,f11

でも3Hzが出力される。

コマンド

ほとんどの場合は上のようにfコマンドで良いと思う。

a出力をOFF。データはダミー
b出力をON。データはダミー
c4bitデータを出力
d1chにデータを書き込む
e1chのデータを出力
f1chにデータを書き込んで出力

広告

添付ファイル: filetest_dds_1.c 1256件 [詳細]

リロード   差分   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Thu, 05 Jan 2012 17:11:59 JST (4487d)