DDS_VFOコントロールソフト
                 戻る

ソフトはとりあえずスイッチMの論理反転
とコールサインを書き換えました  →DDS_ASM.lzhr(JR6END局公開版変更)
これで動作確認をしました

次に創作版      そのソフト→DDS_QYM.lzh(JA2QYM版)
                     Ver 0.0 : 2003.01.11

*** 以下がJA2QYM版操作説明です ***

まだデバッグ中ですがメモリが足りなくて苦労しています
でも一番おもしろいところでも有ります
さあ昔とったきねづかでアセンブラーでコツコツト
でも昔とは雲泥の差で便利なツールが有ります
 1.エンコーダーの1パルス分の繰り返しでのカウントミスをなくす
   高速回転より低速の±の繰り返しカウントミス対策の方が難しかった
 2.エンコーダーの種類選択 4逓倍 と 1〜255分周
 3.ダイアルロック機能有り
 4.メモリは0〜3CH M.W.2秒で書込 CH2→CH3 CH1→CH2 CH0→CH1 現在周波数→CH0
 5.スプリット機能はTX、RX別々に表示可変可能 TX=RXの機能有り
 6.QUITはメニュー、スプリットの解除
 7.M.R.2秒で詠み出し 押しながらダイアルセレクト
 8.操作スイッチはシンプルな対話式にした
   メニュー形式によるダイアル選択(マウス感覚) これが一番の売り!!
   ・POWER DIAL  SELECT
   ・      LOCK  MENU  SPLIT  QUIT  MOX
   ・      M.W.  SET   SET    M.R.
    │     │     │     │      │     │
    │     │     │     │      │     │
    └電源   ├ロック  ├メニュー ├スプリット ├解除   ├送信時点灯
          │     │     │      │     │
          └メモリ書込└セット  └セット   └メモリ読出└押すと点灯
     交互    2秒    2秒    2秒     2秒    モーメンタリ
                       TX=RX  +同時押早送+
JR6END局対応SW   SW−D    SW−S    SW−U     SW−Q   SW−M
QUIT解除はネストの順番に解除される
下図は上下がメニュー項目で左右がメニューネストである
          ↑
          DIAL    MENU←→QUIT
          ↓

     設定メニュー                LCD表示
     │
     ├┬00:コールサインの設定1桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬01:コールサインの設定2桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬02:コールサインの設定3桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬03:コールサインの設定4桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬04:コールサインの設定5桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬05:コールサインの設定6桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬06:コールサインの設定7桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     ├┬07:コールサインの設定8桁目 CALL フリッカー
     │├文字をダイアル選択             アンダーバー
     │└2秒以上押されれば文字確定       フリッカー
     │  コールサインに限らずLCDで表示可能な文字を8文字設定できます
     │
     ├┬08:1Hz当たりのパルス数   P/Hz フリッカー
     │├数値をダイアル選択             アンダーバー
     │└2秒以上押されれば数値確定       フリッカー
     │  この設定がダイアル操作性全てに影響しますので
     │  確実に設定してください   *** ダイアル設定例参照 ***
     │  「0」をセットしないでください(エンコーダ読みとりができなくなります)
     │  高分解能エンコーダーや「0」をセットした時の対策として
     │  QUITを押しながら電源をいれると255がセットされます
     │  右回しをすれば255の次は0,1,2、3 ...となります
     │
     ├┬09:VFO  比率 0〜 255   VFO# フリッカー
     │├数値をダイアル選択             アンダーバー
     │└2秒以上押されれば数値確定       フリッカー
     │  通常は1ですが メリゴPSNの時は4にしますつまり乗算されます
     │  「1」「4」以外の使い道が見あたりません
     │
     ├┬0A:DDS比率 +127〜-127  DDS+ フリッカー (DDS−)
     │├数値をダイアル選択             アンダーバー
     │└2秒以上押されれば数値確定       フリッカー
     │  数値は逓倍数で符号は変化量の符号ですつまり符号付除算です
     │  せいぜい逓倍は1〜5倍位以外の使い道が見あたりません
     │
     ├┬0B:VFO DDS基準周波数 #DDS  フリッカー
     │├数値をダイアル選択             #発振周波数
     │├2秒以上押されれば数値確定       フリッカー(上段VFO記号横)
     │├VFO基準周波数は現在周波数がセットされる  注・上段周波数ではないので要再確認
     │└DDS基準周波数は下段周波数がセットされる    事前にVFO表示周波数を準備しておく
     │  VFO表示周波数とDDS発信周波数の変化がモニタできます
     │  MOX、QUIT早送りは先にMOXを押しあとからQUITを押してください
     │  早送りは解除は先にQUITを離してください
     │  逆に送信中はQUITはできません
     │  DDS比率が+1、−1以外は基準周波数の上側のみ対応 バグ?
     │  のため基準周波数は下限値を設定のこと
     │
     ├┬0C:溜まりパルスのモニタ   PPS=
     │└加速パルス数モニタができます
     │
     └┬0D:VFOのAからHの選択  A_H   フリッカー
       ├0E:VFOのAからHの選択  A_H   フリッカー
       ├0F:VFOのAからHの選択  A_H   フリッカー
       ├VFO記号をダイアル選択          アンダーバー
       └2秒以上押されれば確定          フリッカー
        選択しやすいように選択幅が3ポジション有ります

******* (2003.12.3追記) *******
KWM−2(A)のVFO設定例
 A−H =A....chA
 P/Hz=8....1回転100Hz
 VFO#=1....1逓倍
 DDS−=1....逆へテロ
 #DDS=2,690,000Hz(DDS−2Aは5KHzシフトしてある)
 JA0PX氏レポート http://www.i-chubu.ne.jp/~ja2ol/4630khz-sub39.html
 表示周波数=0  (各バンドの下端周波数 etc.3.5MHz 7.0MHz 14.0MHz)
 VFO表示周波数を先に0にすると#DDSが上昇限度になったときは
 VFO表示周波数を高くしておいて#DDSを設定してからもう一度設定する。
 注.周波数関係は友人のリグ出でつじつま合わせをしたので間違っているかも?
 この設定がが面倒ならばAVRアセンブラソースに直接データを書いた方が
 計算間違いは無いかもしれない
*********************************


送信中の制限
SELECT、MENUモードに入れません(すでに入っていれば影響無し)
SPLIT表示にはなるがダイアル可変できません  調査中  送信解除後TR共に変化 気にしない?!
QUITの機能停止その代わり早送り機能になる

ダイアル設定例
ダイアルは自動加速します。1Hz〜10KHZのオーダーまで変化します
P/Hz ダイアル1回転を100Hz エンコーダーが200パルス/回  逓倍数=4(固定)
      の時200*4/100=8を設定します
      1回転100Hzに使えそうなエンコーダの例を下記に示します
        25パルス/回 *4/100=  1
        50パルス/回 *4/100=  2
        75パルス/回 *4/100=  3
       100パルス/回 *4/100=  4
       200パルス/回 *4/100=  8 .....JA2QYMはこれを使用
       300パルス/回 *4/100= 12
       400パルス/回 *4/100= 16
       500パルス/回 *4/100= 20
       600パルス/回 *4/100= 24
       800パルス/回 *4/100= 32
      1000パルス/回 *4/100= 40
      1500パルス/回 *4/100= 60
      1800パルス/回 *4/100= 72
      2000パルス/回 *4/100= 80
      2500パルス/回 *4/100=100
      3000パルス/回 *4/100=120
      4000パルス/回 *4/100=160
      5000パルス/回 *4/100=200
      6000パルス/回 *4/100=240

     10000パルス/回 *4/157≒255   157Hz/回
      8192パルス/回 *4/128≒255   128Hz/回
      4096パルス/回 *4/100≒163   100Hz/回
      2048パルス/回 *4/100≒ 82   100Hz/回
      1024パルス/回 *4/100≒ 41   100Hz/回

      手持ちのエンコーダーが200パルス/回しかないので
      確認は取れていません

      MENU操作には50Hz/回の方がいいような気もします

      理論値(たぶん)
      エンコーダパルス処理限界値は割込周期10μsecが限界です
      つまり200パルス/回のエンコーダの場合の限界回転数は
      1/(200x10e−6)=500rps(30000rpm)です
      10000パルス/回エンコーダの場合は10rps(600rpm)です
      これでも実際の処理時間は約4.3secですから余裕が有ります

メニュー選択でクリチカルな時が有る 調査中


メモリ不足
全くこれには悩まされます
メモリ増量タイプでピン配置に互換性が有れば即採用するのだが残念ながら無い
ATtiny26がかなり有力ですが配線変更がしんどい!
でも考えかたによってはメモリ節約のおかげで無駄をなくすことができるし
合理的なプログラム作りに専念できる

ちょっとガマン
上記のメモリ節約の影響でメニュー設定画面のVFO記号がちらつく
このモードはブリンクカーソルがオンのため

バグ退治
ソフトにはバグは付き物ですが、できるだけ減らしたいものです
作者本人は思いこんでいるのでなかなか発見できません
できるだけたくさんの方が使って見ていただけると
早く退治できると思います
1.電源投入直後のSPLIT受信周波数がCH0になる2回目以降はOK
  たぶん受信パルスがセットされていないためと思う




使い勝手
追加したい機能、無用な機能が有ると思いますが
これからの課題です


実用性
切り替わりの安定性(CWのフルブレークイン)
     SPLITモードで送受信の切替をスイッチングしてみた結果
     クリック音は軽快、25msの応答は十分(FSK)
電波の質 まだオンエアーしていないので解りません
操作性  自分勝手ですが今のところ まあ、まあ満足
     二昔前の100Hzステップとは雲泥の差でなめらか
     一昔前の10Hzステップも見劣りする
     1Hzステップと自動加速は快適です
安定度  JRC−NRD−525で確認しました
     相互の差でHzオーダーのドリフトが有るようです
     大昔の真空管式安定度と比べたら文句なし
     ←確認中
雑音 DDSによるデジタル雑音を心配しましたが
   それより安易に使用したスイッチングレギュレータの
   雑音の方がはるかに大きいので対策が必要だ。
    
    上記のパスコンでS9がS1になった
    但し電源アースが無いとピリピリくる(AC50V)ので注意

つくづく!思う....
アセンブラでコーディングしながらデバッグはなかなか解決しないときは
いらいらしますが、糸口が解けると嬉しくなります
できるだけコメントを書くのですが後から見て訳の分からないコメント
には文章力がないと言うか記憶力がないと言うか
つくづく年齢を感じます
昔ならもっと早くスイスイできたのに....

E-mail
                                       戻る