データフラッシュしてみる
0. VFO時の、ダイアルの感触を、改善するには、
ロータリーエンコーダの中を開けて、クリックの爪を、取っ払いますと、快適です。
一方、function決定時は、クリックが、ある方が、よいので、
クリックの爪を取っ払ったものと、クリックを残したものを、並列接続すると、快適操作が、できそうです。
1.データフラッシュと、DDS制御プログラムの合体
いよいよ、データフラッシュプログラムと、DDS制御プログラムを合体して、試してみました。(このプログラム)修正済みです。
まだ、一回も、データフラッシュされていない時、
データフラッシュ領域の初期化を、行います。(電源onの時、up_sw、down_sw両方を、押しておく)
ボタンを離すと、今度は、こんな画面です。
ここで、multiボタン(up_sw)を押すと、初期画面に変わります。
尚、このメッセージは、データフラッシュが、1回でも、行われたら、今度は、表示されません。
2回も、messageを、表示する必要は、なかった...
以下のように、プログラムを変更して、自動で、FLASH領域を、初期化する事に、しました。
if( read_write_record_search() == 1) //FLASH data が、書き込まれてない時
{
set_terminals();
lcd_clr();
locate(1,2);
lcd_write_str("initialize FLASH");
locate(2,2);
lcd_write_str("push multi button");
while(up);
write_record_init();
}
初期画面
ここで、down_swを押すと、モードの選択が、表示されます。
ロータリーエンコーダーで、メモリー呼び出しを選択し、down_swで、決定します。(up_swは、FLASH以外は、周波数の桁の変化のみに、使います。)
VFOモードを選択すると、offsetの決定画面に、変わります。
up_Sw(桁選択)と、ロータリーエンコーダで、周波数を決めます。(455KHzがdefaultなので、ロータリーエンコーダのワンクリックで、455KHzになる)
down_swで、決定。すると、VFOモードの画面に、変わります。
メイン周波数は、offsetがマイナスの場合、2倍に、設定してます。
データフラッシュするには、
up_swを、まず押し、押したままで、down_swを押し、(”FLASH”と表示される)次に、up_Swを離し、down_swを離します。("ok"と、表示される)
ああ、しんど。
尚、データフラッシュ時の、 エラー処理は、行っておりません。
次に、リセットスイッチを押すと、
と、
データフラッシュした、最後の画面が、再現されます。(メイン周波数が、変わってる! ちょっとミス、修正せねば...)修正しました。
メモリーの位置を動かしても、リセットすると、
データフラッシュした時の、最後の画面が、表示されます、ちょっと、難あり。
でも、電源を切る時の、最後の状態を再現するには、データフラッシュせなあかん....
電源を切るタイミングは、わkらないから、最後に、手動で、データフラッシュせな、あかん。それやったら、おんなじやで....
別のメモリーで、offsetをプラス(今ん所、リセット時にup_swを押しておく)に採っても、この、no.15のメモリーは、offsetは、マイナスで表示されます
当たり前か....
2.周波数の精度は?
秋月の、24MHz( +-30 p.p.m )の、水晶発振器を使ってますので、そのあたりが、心配です。
発振周波数40MHzで、調べてみました。
SG電源on後20分で、調べてみました。(周波数カウンターは、GPSにロックした、基準周波数を使用)
まあ、大目に見て、+- 4Hzには、収まっているようです。
これで、良しとするか、否かは、難しい所です....
TCXO 30MHz付近、買おうかな....止めとこかな................... うーん、今ん所、これで、良しです。
低い周波数では、もっと、精度が、上がりますので。
例えば、このDDS SGで、14MHZでは、変動は1Hz以内です。(勿論、電源投入後、1時間位、してからの話です。)
次は、2トーンモードを、試してみましょうか....
考えてみたら、これは、アカン、無理や....短い時間を見たら、シングルトーンやから、相互変調、起こらん... (^_^;;
この後の、アンプなんですが、「高周波技術センスアップ101 広畑先生 CQ出版」で、勉強させて、いただいてます。
H.17.12.27