アクノロジビット
アドレスを8ビット送りだした後マスターは最後のビットを送りだしクロックを’L’に して、データラインを非駆動します。 これによりデータラインは一時的に’H’になります。 アドレスにより選択されたアドレスに適合したスレーブがあればスレーブはここで一ビット時間’L’を出力して応答することになります。 アクノロジビットを返送するタイミングは厳しくマスターがアクノリジビットの為のクロック’H’エッジを出力する前にデータラインを’L’にすることが必要です。 マスターは待ってくれません。 ここが一番時間的に厳しいところですが、とっておきの手はずがあります。 スレーブはアクノロジビットの為のクロック’L’のタイミングで自分もクロックを’L’にドライブします。 通信ラインはワイアードORになっていますので、これでマスターがクロックを’H’にしても実際のラインは’L’に保持されたままになります。 この手法でクロックの立ち上がりエッジのタイミングをスレーブのタイミングで制御できることになります。 スレーブは内部処理が未完了であればいつまでも’L’にすることが出切ることになります。 もちろんマスターも自分が’H’にしても実際のラインもモニタしていますのでクロックが’H’なるのを待つことになります。 やがてクロックが’H’になりマスターはこの時のレベルを検出して、’L’なら指定したスレーブが通信ライン上に存在しているし、’H’なら指定した番号のスレーブが無いと判断します。 マスタはこのビットの為に’H’にしたクロックを再び’L’にしてこのフェースを終了します。
データバイトの切れ目
ここで1ワードのやり取りが終わったことになりますが、選択されたスレーブは内部事情で応答に答えるためやその他の処理の為に時間を必要としますのでアクノロジビットの時同様、マスタがクロックを’L’にしている時にスレーブがクロックラインを’L’に固定して都合の良い時間だけマスタを待たせることができます。
|