[Armadillo:07133] Re: [Armadillo-440] I2C通信で失敗する
Takenoshita Koyo
email@hidden
2011年 4月 21日 (木) 16:52:16 JST
竹之下です。
> 起動時のダミークロックについて、もう少し詳しくご教授いただけませんでしょうか。
> 128個のダミークロックとは、I2C-1に繋がるであろうスレーブデバイス1〜128に
> クロックを出力しているということでしょうか。
I2Cは、バスにつながっている全てのデバイスで、クロック線(SCL)とデータ線(SDA)
を共有するので、どれか一つのデバイスだけにクロックを送るということはできません。
単に、SCLを High->Low->High->Low... と128回変化させているだけです。
> ダミーと記載されておりますが、実際にI2Cデバイスが接続されていた場合
> ダミークロックを受け取ったスレーブデバイスはどのよな挙動を期待されて
> おりますでしょうか。
以下のような状況を想定しています。
I2Cマスタデバイス=i.MX25、I2Cスレーブデバイス=RTC の場合
1. RTCに対してリードを行う
2. リード中にi.MX25がリセットされる => RTCはリード状態のまま
3. i.MX25再起動
4. 起動時にダミークロックが発行される => RTCのリード状態が解除される
> このダミークロックを出力する処理を削った場合、何か弊害が発生しますでしょうか。
上記のように、リード中にリセットが発生すると、RTCがバスを掴んだままとなります。
--
Koyo Takenoshita
armadillo メーリングリストの案内