• Showing Page History #31183

Show page source of i2c #31184

I2C情報について:公開されたSDKのXC3S_I2C.hより[[BR]]

ベースアドレス:14〜31[[BR]]
I2Cアドレス:0〜9[[BR]]
データ:10[[BR]]
クロックあり/なし:11[[BR]]
I2C書き込み/読み込み:12(書き込み時0)[[BR]]
BUSY                   : 13[[BR]]

実際に出力される場合、
★データ及びクロックは0がHIGH, 1がLOWとなる。

FIFO(0x10)に書き込む場合、上記情報は通用せず、[[BR]]
'''I2Cのバス仕様の通りのビット列を出力しなければならない。'''[[BR]]
I2Cアドレスは順次カウントアップされるようだ。[[BR]]

ブロックwrite手順は以下の手順となる[[BR]]
ベースアドレス0:0  (多分バスフリー)[[BR]]
ベースアドレス1:8(BUSYのみON)  [[BR]]
ベースアドレス2:9(BUSY+DATA) [[BR]] Start Condition[[BR]]
ベースアドレス3〜アドレスフェーズ・データフェーズ共3ワードで構成される[[BR]]
第一ワード:BUSY ON, CLOCK ON, [[BR]]
''第二ワード:BUSY ON, CLOCK ON, データ'''''このデータの1ビットが有効'''[[BR]]
第三ワード:BUSY ON, CLOCK OFF[[BR]]
…
'''すなわち、96ビットのうち、1ビットが有効となる。'''
8ビット送信した後、ACK/NACKを受信する為、9ビット目のフレーム(96ビット)を送信する事が必須(クロック用?)[[BR]]
全て送信し終わった後は
最後にEND Conditionとなる。