通信データ仕様(2004/11/22版)

とにかく全てを1バイトで・・・

1バイトコード仕様
(制御符号?)数値意味
0-200数値データ
SDV239以下通信終了まで、1箇所のモータを駆動するためのデータ(分割数,モータ番号,角度)
VD240次の1バイトは、電圧のデータ(マイコン側から)。
SMD241以下通信終了まで、モーションデータ
DIV242次の1バイトは、分割数(前のポーズからの時間)
SLO243ループ開始(次の1バイトはループ回数)
ELO244ループ終了
CSM245次の1バイトは、チェックサム(保存データからは削除)
MEX246マイコン上にあるモーションを実行
RTM247EEPROMのモーションをマイコンへ読み出し
MTR248マイコン上にあるモーションをEEPROMへ書き込み
SSD249以下通信終了まで、1箇所のモータを駆動するためのデータ(モータ番号,角度のみ)
SPWM250PWM開始
EPWM251PWM停止
ACK252肯定応答(マイコン側から)
NAK253再送信要求(マイコン側から)
SOH254通信開始
EOT255通信終了

ASCIIコードを送るなどということは考えず、全てを1バイトのデータとして送ることにします。 制御コードも自分勝手に決めます(笑)。

0-200までをデータとし、201-255までを制御コードに割り振ります。

今回は、モータの角度データも、0-200までで指定することにしておきます (複数バイトへの拡張は、それほど難しくは無いと思います。たぶん・・・)。

現時点では、マイコン側のデータをパソコンに取り込むことは考えていません (マイコン側のデータとの比較や整合性を考えだすと、頭が痛くなってくるので・・・)。

マイコン起動時のポーズは、EEPROMの最初のページから読み出すことにします。

ループは、1モーションに1回のみ利用可能とします。

1モーションは256X4=1024バイト以下で・・・

1モーションはできるだけ小さくてすむように努力してみたいと思います。

1モータをスライダで動かす場合(分割数無し)

1モータをスライダで動かす場合は、チェックサムなどは送らない。

1モータをスライダで動かす場合(分割数有り)

SDVで始まるデータは、分割数を含む。 分割数は0-199までで指定する (20ms単位)。 199は3.98sに相当する。

分割数に200を指定した場合には、 目的の値まで、 ONパルスの幅を20mSごとに12.5usずつ変更する。

1モーションを転送する場合

最初の「全モータのデータ」は、モータ番号無しで角度データをモータ番号順に送る。

チェックサムには、データ部をすべて加算して256で割った余りを入れる。

単独で実行される制御コードの場合

EEPROM関連の制御コードの場合

アドレスは、128X4(?)で指定。

since 2004/11/22(Mon)

「意信電信」トップページへ

トップページへ

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送