Renesas Synergy™

FAQ 1006766 : その他の仕様や仕様外の注意事項は?

(1) アドレス
スレーブのアドレスを指定するためのアドレス・フィールドは 7ビットありますが、 そのすべてが自由に使える訳ではありません。
アドレスの最初の 4ビットが 0000 と 1111 は用途が規定されています。

0000 で始まるアドレスはジェネラル・コール・アドレス (0000 000) のような目的で使用します。
1111 で始まるアドレスの内で、 1111 0xx はこの xx の 2ビットとその後に続く 1バイトの合計10ビットでスレーブのアドレスを指定できます。
ただし、通常のマイコンでの使用では 10ビットのアドレスを使う可能性は低いと考えられます。

(2) バスの初期状態
I2Cバスに途中からマスタとして参加するような場合にはバスが使用中かどうかが完全には判断できません。
通常は SCLや SDAがハイの状態を保持していればバスは開放状態と考えられますが、 SCLのハイ期間については上限の規定がないので、どの程度待てばバスが開放状態と断定できません。
従って、この部分はコントローラではなく、上位のプログラムで判断する必要があります。

(3) 動作中のリセット
通信中にリセットがかかるような場合、バス上の全てのデバイスがリセットを認識できればいいのですが、 EEPROMのようにリセット信号をもたないデバイスも存在します。

この場合、もし EEPROMが SDAにロウを出力した状態であれば、 そのままではスタート・コンディションもストップ・コンディションも発行できないため、 バスは使用できなくなります。
これはコントローラでは対応できません。

この場合には、SCLを出力ポートでドライブし、出力ポートから SCLパルスを出力します。
これにより EEPROMは 1バイトの残りのデータ出力を継続します。

EEPROMがハイを出力するか、出力が終わってアクノリッジが戻らないので次の出力を止めることで SDAがハイ状態となります。
この状態になると、スタート・コンディションもストップ・コンディションも発行できますから、 バスを使用できるようになります。

適用製品

RL78 ファミリ
78K ファミリ
他にご質問がございましたら、リクエストを送信してください