I2C-COM仕様 第2版(内容が古くなりましたが記録として残します)

2018.11現在、第3版になっています。こちらからどうぞ。

===
第1版から変更した箇所は下線で示す
===
1.名称:
I2C-COM

2.文字:
0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|S|P|R|W|T|K|N|a|b|c|d|e|f|s|p|r|w|t|k|n
の36文字。その他は全て区切り記号として使われる。

3.数値文字:
0|1|2|3|4|5|6|7|8|9|A|B|C|D|E|F|a|b|c|d|e|f
の22文字。

4.バイト:
数値文字2桁で表す。範囲は0x00~0xFFである。

5.スレーブアドレス:
7bitを数値文字2桁で表す。範囲は0x00~0x7Fである。

6.制御文字:
S|P|R|W|T|K|N|s|p|r|w|t|k|n
の14文字。以下にそれぞれの機能を説明する。

前提として、1つのトランザクション(ひとまとまりの流れ)はS|sで始まりP|pで終わる。その途中に再度S|sがあってもよい。

S|s
・I2C信号線上にSTART条件を出す。リプライはない。エラーもない。

P|p
・I2C信号線上にSTOP条件を出す。リプライはない。エラーもない。

K|k
・I2C信号線上でslaveから8bit受信した後ACK条件を出す。8bit受信できなかったらタイムアウトエラーになる。(タイムアウトになる条件は後日)

N|k
・I2C信号線上でslaveから8bit受信した後NACK条件を出す。8bit受信できなかったらタイムアウトエラーになる。(タイムアウトになる条件は後日)

R|r
・スレーブアドレスが後に続く。Pを出すまでデータの向きはslave -> masterである。slaveからACKが返らないとタイムアウトエラーになる。(タイムアウトになる条件は後日)
例)R29

W|w
・スレーブアドレスが後に続く。Pを出すまでデータの向きはmaster -> slaveである。slaveからACKが返らないとタイムアウトエラーになる。(タイムアウトになる条件は後日)
例)W29

T|t
・バイトが後に続く。Pを出すまでデータの向きはmaster -> slaveである。slaveからACKが返らないとタイムアウトエラーになる。(タイムアウトになる条件は後日)
例)T8A

※以上の1文字、もしくは後に続く数値2文字を含む3文字、のコマンドは、後に続く区切り文字が入力された時点で実行する。





コメント

このブログの人気の投稿

I2C-COM仕様 第3版 (保存版)

開発しようとしているもの、開発環境としてイメージしているもの