TMP139 は、I2C および I3C インターフェイス互換デバイスです。図 6-1~図 6-3 では、バスでサポートされるさまざまなバス条件について説明します。 以下に、バス条件の定義を示します。
- バス・アイドル:ストップ・コンディションの後、SDA ラインと SCL ラインは両方とも HIGH に維持されます。
- スタート (S) コンディション:SCL ラインが HIGH のとき、SDA ラインの状態が HIGH から LOW に変化することが、スタート・コンディションの定義です。スタート・コンディションの前にバス・アイドルが発生します。
- ストップ (P) コンディション:SCL ラインが HIGH のとき、SDA ラインの状態が LOW から HIGH に変化することが、ストップ・コンディションの定義です。
- リピート・スタート (SR) コンディション:データ転送転送の後で、SCL ラインが HIGH のとき、SDA ラインの状態が HIGH から LOW に変化することが、リピート・スタート・コンディションの定義です。
- データ転送:いくつかのデータ・バイトがスタート・コンディションとストップ・コンディションの間に転送されます。その数は、ホストまたはデバイスによって決定されます。
- アクノリッジ:アドレス指定された各受信デバイスは、デバイス・アドレスおよびホストからデバイスへの書き込み転送中に、ACK (アクノリッジ) ビットを生成する義務があります。アクノリッジを行うデバイスは、アクノリッジ・クロック・パルスが HIGH の間、SDA ラインが安定して LOW を維持するように、SDA ラインをプルダウンする必要があります。ホストが受信を行うとき、ターゲット・デバイスから送信された最後のバイトに対してNACK (否定応答) を生成することで、ホストはデータ転送の終了を通知できます。この動作は、I2C モードの動作と同じです。
I3C モードで動作しているとき、 各受信デバイスは、自身のデバイス・アドレスに対してのみアクノリッジ応答します。さらに、ホストは IBI アドレスの調停が成功したときに、デバイス・アドレスをアクノリッジします。
- T ビット:T ビットは、I3C モードの動作時、またはホストが I2Cモードの動作中に共通コマンド・コード (CCC) を送信する場合にのみ適用されます。T ビットには、ホストがターゲット・デバイスに書き込むときのパリティ情報が含まれます。読み取り時、9 番目のクロックの立ち上がりエッジで T ビットが 1 としてサンプリングされた場合、このビットは、デバイスによる読み取りの継続を示しています。ホストが読み取りを終了しようとする場合、図 6-2 に示すように、デバイスがラインを HIGH に駆動している間に、ホストはプルアップをアクティブにできます。デバイスがラインの駆動を停止して出力をトライステートにしたとき、プルアップによってラインが一時的に HIGH に維持されます。その後、ホストがバスの制御を獲得してリピート・スタートとストップを生成し、読み取りを終了します。ホストがデバイスから引き続きデータを受信できる場合、ホストはラインを駆動してはいけません。デバイスは 9 番目のクロックの立ち下がりエッジで SDA をサンプリングし、T ビットが 1 としてサンプリングされると、デバイスは次のバイトの SDA の駆動を再開します。読み取り時、9 番目のクロックの立ち上がりエッジで T ビットが 0 としてサンプリングされた場合、図 6-3 に示すように、このビットは、読み取りの終了を示すためにデバイスが使用しています。ホストも SDA を LOW に駆動します。これにより、デバイスがラインの駆動を停止して出力をトライステートにしたとき、ホストがバスの制御を獲得してストップを生成し、読み取りを終了します。