AVRのコントロール
今回PLLのコントロール、エンコーダー、液晶表示及びスイッチの取り込みをPLLでおこなった。
PLLについてはすでに(2)で解説しているので、ここではそれ以外を中心に解説する。
(1)AVRの種類
コンパイラにBASCOM-AVRを使用しているため4KBまでのプログラムが可能であるが、あまり複雑なプログラムにはまだ慣れていないので、安く入手できる「ATTiny2313-20」を採用した。これは2KBまでである。
(2)プログラムの流れ
1)イニシャルセット
初期設定で変数の宣言、IN、OUTのポート等の設定などを行う。
初めて電源を立ち上げた場合、前回OFF時のデータが保存されていないため、でたらめとなっ てしまう。そのため、初めて電源立ち上げる時はメインスイッチONで立ち上げることによりすべてメインチャンネル周波数が書き込まれる。まあリセットスイッチのような役目である。
PC9256のデータシートを読むと電源ON時の書き込みは不安定のようで2回同じ操作をするように書いてあったのでCall Pllwを2回行っている。
2)メインルーチン
メインCHスイッチの割り込みを許可し、割り込みがあればメイン設定サブルーチンにいく。
ロータリーエンコーダの入力判定を行う。
以後この繰り返し
(3)サブルーチン
繰り返し命令は、サブルーチンとしている。
1)Mainch
メインCHスイッチをONにしたときの処理でPLL周波数を29.3MHzに設定し液晶に表示する
2)Mainch1
メインスイッチをウォッチしOFFとなったら、以前の周波数に設定してメインに戻る
3)encod
エンコーダ処理サブルーチンでエンコーダをまわした時に周波数をUP,DOWN
10KHzステップ
液晶表示処理が遅いためか、早回しで取りこぼしがある。実用上は問題ないが。
4)Pllw
PLL周波数書込みサブルーチン
この部分は以前に説明したので省略
5)Lcdw
液晶書込み
もう少し凝った表示にしたいが、メモリ不足
以上AVRのプログラムを解説したが、作りっぱなしなのでおかしなところがあるかもしれない。
まあはじめてのPLLとしてはどうにか実用となった。
課題として、OFFバンド判定が必要である。これが無いと認定が通らない。
BASICでは、このAVRではメモリが不足。mega48にする必要がある。
以上29MHzFMトランシーバーの製作記録でした。
次は29MHzと50MHzの2バンドトランシーバーを目指し、要望のあるローカルが作成できるレベルに標準化したいと思っている。
いつごろになるか・・・・・・・・・
ご質問等は、コメントまたは、ホームページの掲示板等でお願いします。
今回PLLのコントロール、エンコーダー、液晶表示及びスイッチの取り込みをPLLでおこなった。
PLLについてはすでに(2)で解説しているので、ここではそれ以外を中心に解説する。
(1)AVRの種類
コンパイラにBASCOM-AVRを使用しているため4KBまでのプログラムが可能であるが、あまり複雑なプログラムにはまだ慣れていないので、安く入手できる「ATTiny2313-20」を採用した。これは2KBまでである。
(2)プログラムの流れ
1)イニシャルセット
初期設定で変数の宣言、IN、OUTのポート等の設定などを行う。
初めて電源を立ち上げた場合、前回OFF時のデータが保存されていないため、でたらめとなっ てしまう。そのため、初めて電源立ち上げる時はメインスイッチONで立ち上げることによりすべてメインチャンネル周波数が書き込まれる。まあリセットスイッチのような役目である。
PC9256のデータシートを読むと電源ON時の書き込みは不安定のようで2回同じ操作をするように書いてあったのでCall Pllwを2回行っている。
2)メインルーチン
メインCHスイッチの割り込みを許可し、割り込みがあればメイン設定サブルーチンにいく。
ロータリーエンコーダの入力判定を行う。
以後この繰り返し
(3)サブルーチン
繰り返し命令は、サブルーチンとしている。
1)Mainch
メインCHスイッチをONにしたときの処理でPLL周波数を29.3MHzに設定し液晶に表示する
2)Mainch1
メインスイッチをウォッチしOFFとなったら、以前の周波数に設定してメインに戻る
3)encod
エンコーダ処理サブルーチンでエンコーダをまわした時に周波数をUP,DOWN
10KHzステップ
液晶表示処理が遅いためか、早回しで取りこぼしがある。実用上は問題ないが。
4)Pllw
PLL周波数書込みサブルーチン
この部分は以前に説明したので省略
5)Lcdw
液晶書込み
もう少し凝った表示にしたいが、メモリ不足
以上AVRのプログラムを解説したが、作りっぱなしなのでおかしなところがあるかもしれない。
まあはじめてのPLLとしてはどうにか実用となった。
課題として、OFFバンド判定が必要である。これが無いと認定が通らない。
BASICでは、このAVRではメモリが不足。mega48にする必要がある。
以上29MHzFMトランシーバーの製作記録でした。
次は29MHzと50MHzの2バンドトランシーバーを目指し、要望のあるローカルが作成できるレベルに標準化したいと思っている。
いつごろになるか・・・・・・・・・
ご質問等は、コメントまたは、ホームページの掲示板等でお願いします。
1 件のコメント:
Can you share for firmware?
Thanks
コメントを投稿