SD330の自動チューニング その4 ― 2016年04月01日 13:31
はじめにお読みください。→当サイトのリンクと免責事項
このシステムのソフトウエアーですが、ハード的にはシリアル通信の入出力しかないのでホストからのコマンドで返事を返すシステムです。ホストとのやり取りを規定し簡易なプロトコルが必要になります。
ホストからのコマンドは英字1文字としコマンドに対しOKまたはNGを返します。またホストに対して周波数を要求する場合も英字1文字で返します。
コマンド一覧です。
PCから受信するコマンド | ||||||
コマンド | 機能 | |||||
A | メモリデータ送信 | |||||
B | 現在の同調周波数送信 Bコマンドは未使用 | |||||
C | 指定周波数まで自動同調 | |||||
C | 指定周波数の手動同調(SWR連続計測 ) | |||||
D | 全域のSWRデータ測定後メモリ | |||||
E | 指定周波数から1MHzSWR測定後メモリ | |||||
F | モーター停止 | |||||
G | Cコマンド停止 | |||||
H、h、L、l | モーター移動開始 | |||||
H;高速fアップ | ||||||
h;高速fダウン | ||||||
L;低速fアップ | ||||||
l;低速fダウン | ||||||
A | 自動チューニングモード 'F'返信の応答周波数4BYTEに続く1BYTE | |||||
M | 手動チューニングモード 'F'返信の応答周波数4BYTEに続く1BYTE | |||||
PCへ送出する返信 | ||||||
コマンド | 機能 | |||||
O | OK送信 | |||||
N | NG送信 コマンド実行中はN送出後次のコマンド拒否 | |||||
F | C,Eコマンドで周波数データ(4バイト)要求 | |||||
S | Cコマンドで一旦停止を知らせる | |||||
R | Cコマンド移動完了を知らせる | |||||
T | Cコマンド再スタートを知らせる | |||||
V | 'H,h,L,l'コマンドでタイムアウト時間 要求 | |||||
X | モータがタイムアウト停止を知らせる | |||||
内部コマンド | ||||||
コマンド | 機能 | |||||
Z | 起動後に全域のSWR値測定後メモリ | |||||
0x00 | 現在アイドリング中コマンド待ち |
プログラム的には特段変わったことはありません。DDSの制御も多くのサイトで記されている通りです。
コードをそのまま提示してもMPUも開発環境も違うのであまり意味がありません。
参考までにフローチャートなどを置いておきます。ここ
ホスト側はWindowsパソコンです。私はVB.NETしか知らないのでそれで開発しました。VB.NETはイベントドリブンなので機能ごとに書けばいいので楽です。ただしSerialPortには苦労しました。
こちらも参考程度のものを置いておきます。ここ