広告
パソコン制御のシグナルジェネレータにできる
準備
- DDSキット買う
- DDSキットを作る。
- SDCCをインストール
- CycFX2Progをインストール
- CycFX2Progのサイトからサンプルファイルを取ってきてその中にあるヘッダーファイル(fx2regs.h)を使う
接続
- EZ-USB FX2の5V端子をDDSキットの電源端子につなぎ、GNDをDDSキットのグランドにつなぐ
- EZ-USB FX2の出力端子とDDSキットのシリアル入力(STB、DATA、SCK)をつなぐ。
- 下のサンプルプログラムを使うときは以下のようにつなぐ
↓このサンプルプルグラムを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。データはダミー |
c | 4bitデータを出力 |
d | 1chにデータを書き込む |
e | 1chのデータを出力 |
f | 1chにデータを書き込んで出力 |
広告