このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
インテルのみ表示可能 — GUID: sgz1481130601746
Ixiasoft
インテルのみ表示可能 — GUID: sgz1481130601746
Ixiasoft
20.5.2.1. 初期のコンフィグレーション
マスターモードの動作では、ターゲットアドレスおよびアドレス形式は、I2Cコントローラーを無効にすることなく動的に変更することが可能です。この機能は、I2Cコントローラーがマスターとして機能している場合にのみ適用されます。スレーブでは、アドレスに変更を加える前にコンポーネントを無効にする必要があります。I2Cコントローラーをマスターとして使用するには、次の手順を実行します。†
複数のI2C転送の場合は、Tx FIFOに追加で書き込みを行い、I2Cトランザクション時にTx FIFOが空にならないようにします。いずれかの段階でTx FIFOが完全に空になった場合は、ストップビットでSTOPを発行するように示されていないため、マスターはSCLラインをLowに保持して転送をストールします。マスターは、ストップビットでタグ付けされたTx FIFOエントリーを認識すると転送を完了します。
- IC_ENABLEレジスターのビット0に0を書き込み、I2Cコントローラーを無効にします。†
- IC_CONレジスターに書き込み、スレーブの動作でサポートされる最大速度モードを設定します (ビット2:1)。また、デバイスがスレーブの場合に、I2Cコントローラーが7ビットもしくは10ビットのアドレス指定モードのどちらで転送を開始するかを指定します (ビット3)。†
- IC_TARレジスターに、アドレス指定するI2Cデバイスのアドレスを書き込みます。また、これは、I2CがGeneral CallまたはSTART BYTEコマンドのどちらを実行するのかを示します。I2Cコントローラーのマスターが開始する転送に必要な速度 (7ビットまたは10ビットのアドレス指定) は、IC_10BITADDR_MASTERビット・フィールド (ビット12) で制御されます。†
- IC_ENABLEレジスターのビット0に1を書き込み、I2Cコントローラーを有効にします。†
- 次に、転送の方向と送信するデータをIC_DATA_CMDレジスターに書き込みます。I2Cコントローラーが有効になる前にIC_DATA_CMDレジスターが書き込まれた場合、データとコマンドは損失します。I2Cコントローラーが有効になっていない際に、バッファーはクリアされた状態で維持されます。†