コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

PCと簡易ロジアナ基板との間でシリアル通信する際のコマンドについて考えてみた。

・コマンドプロンプト
ロジアナが行頭に > を出力してきたら、それはコマンドプロンプトでコマンド受付可能を意味する。

・空改行
コマンド受付時に改行のみが入力されたら、再度コマンドプロンプトを送信してコマンド受付状態となる。
PC側がコマンドプロンプトを読み落として、同期が必要となったときに用いられる。

・T – サンプル周期の設定
書式: T xxxxxx
サンプルクロックとして使用する PWM のカウント数を指定する。
1MHz をベースに何分周したものがサンプル周期となるかの設定。
パラメータは HEX 3Byte、24Bit値。

・S – SRAMへのサンプリング実行
書式: S xxxx
指定個数分のサンプリングを行い SRAM にストアする。
即座にコマンドプロンプトが表示されるが、サンプリングは続いている。
サンプリング中は赤LEDが点灯している。
パラメータは HEX 2Byte、16Bit値。8000H が上限でそれ以上を指定しても 8000H 以上サンプルはされてない(最上位データが上書きされているだけ)。

・W – サンプリング中であることの確認
書式: W
現在サンプリング中であるならば、目的サンプル数と現在の進捗数を返す。
戻り値: xxxx/xxxx
サンプリング停止しているなら FFFF/FFFF が返る。

・B – サンプリングの中断
書式: B
現在サンプリング中であるならば、そのサンプリングを中断する。
サンプリング中でない場合は特に何も起こらない。

・C – 信号のダイレクトキャプチャ
書式: C
SRAM を介せず現在の入力信号を直接読み取り、1Byte の値として返す。
戻り値: xx
シリアルの時間やマイコンの動作などでサンプルタイミングは厳密にできない。
簡易入力。

・R – SRAMからのデータ転送
書式: R xxxx
SRAM の先頭アドレスから指定個数分のデータを読みこみ表示する。
パラメータは HEX 2Byte、16Bit値。8000H が上限でそれ以上を指定しても同じデータが続くだけとなる。
戻り値: xx
HEX値+改行、が指定個数分続く。中断はできない。
コマンドプロンプトが表示されたら終了。

・G – トリガーサンプリングの実行開始
書式: G x xx xxxx
信号のトリガー待ちをして、トリガーが来た後サンプリングを開始する。
引数は 1つめが Rising Triger か否か、1で L->H、0で H->L。
2つめがトリガー待ちする信号線のマスクを 8bit 値で指定する。
3つめがサンプリング時間。

T で指定するサンプリング周期はちとややこしいのだけれども、それはまた後で説明。
取り敢えず、このプロトコルに沿って実装していくのです。
—–

Leave a Reply