AVRのテストボードを作ったので、ATTINY2313を使ってDDSコントローラーのプログラムを開発しました。
テストボードです。
ATTINY2313のほかにATTINY26とATMEGA168の開発ができるようにするため、ソケットだけ実装しています。
右下のソケットにはRS-232Cのレベル変換のICが入ります。
クロックは周波数カウンタ用に25.17MHzのCXOを用意しました。
(今回は内蔵8MHzなので使用していません。)
![](https://blogimg.goo.ne.jp/user_image/71/3a/f420788190d1d06847a80dcf65c152bd.jpg)
DDSと接続した様子です。
ロータリーエンコーダーが無かったので、UP/DOWNスイッチでオーソドックに制御します。
真ん中のモードSWで周波数とステップのモードを切り替えます。
10倍や1/10の処理ですむように、ステップは10Hz~100KHzの5段階としました。
ソフトはBASCOMで開発しました。
下の1行でPD4のクロックに従いPD3に26ビットの周波数データ(Freqdata)を出力できます。
Shiftout Portd.3 , Portd.4 , Freqdata , 3 , 26 , 10
![](https://blogimg.goo.ne.jp/user_image/60/f1/cc70544b9214ec9672649dcbf851989e.jpg)
表示は上段がUP/DOWNスイッチで制御するモード(F:周波数 S:ステップ)とステップです。下段は周波数です。
操作性はもう一歩ですが、なんとか実用レベルに達しました。
ロータリーエンコーダーもいいですが、AD変換を使ってポテンショとスプレッド+バーニアなんていう構成も面白いかもしれません。
![](https://blogimg.goo.ne.jp/user_image/74/88/c9160839f1fc0692a63b2cb7cc886855.jpg)
周波数カウンタ(未校正)の表示です。
![](https://blogimg.goo.ne.jp/user_image/15/93/28a7bb1fc87c7cad2f17d2557d99dd7a.jpg)
テストボードです。
ATTINY2313のほかにATTINY26とATMEGA168の開発ができるようにするため、ソケットだけ実装しています。
右下のソケットにはRS-232Cのレベル変換のICが入ります。
クロックは周波数カウンタ用に25.17MHzのCXOを用意しました。
(今回は内蔵8MHzなので使用していません。)
![](https://blogimg.goo.ne.jp/user_image/71/3a/f420788190d1d06847a80dcf65c152bd.jpg)
DDSと接続した様子です。
ロータリーエンコーダーが無かったので、UP/DOWNスイッチでオーソドックに制御します。
真ん中のモードSWで周波数とステップのモードを切り替えます。
10倍や1/10の処理ですむように、ステップは10Hz~100KHzの5段階としました。
ソフトはBASCOMで開発しました。
下の1行でPD4のクロックに従いPD3に26ビットの周波数データ(Freqdata)を出力できます。
Shiftout Portd.3 , Portd.4 , Freqdata , 3 , 26 , 10
![](https://blogimg.goo.ne.jp/user_image/60/f1/cc70544b9214ec9672649dcbf851989e.jpg)
表示は上段がUP/DOWNスイッチで制御するモード(F:周波数 S:ステップ)とステップです。下段は周波数です。
操作性はもう一歩ですが、なんとか実用レベルに達しました。
ロータリーエンコーダーもいいですが、AD変換を使ってポテンショとスプレッド+バーニアなんていう構成も面白いかもしれません。
![](https://blogimg.goo.ne.jp/user_image/74/88/c9160839f1fc0692a63b2cb7cc886855.jpg)
周波数カウンタ(未校正)の表示です。
![](https://blogimg.goo.ne.jp/user_image/15/93/28a7bb1fc87c7cad2f17d2557d99dd7a.jpg)