インテルのみ表示可能 — GUID: mvx1481130593384
Ixiasoft
1. インテル® Agilex™ ハード・プロセッサー・システムのテクニカル・リファレンス・マニュアル改訂履歴
2. ハード・プロセッサー・システムの概要
3. Cortex-A53 MPCoreプロセッサー
4. キャッシュ・コヒーレンシー・ユニット
5. システムメモリー管理ユニット
6. システム・インターコネクト
7. ブリッジ
8. DMAコントローラー
9. オンチップRAM
10. ECC (エラー検出訂正) コントローラー
11. クロック・マネージャー
12. システム・マネージャー
13. リセット・マネージャー
14. ハード・プロセッサー・システムのI/Oピンの多重化
15. NANDフラッシュ・コントローラー
16. SD/MMCコントローラー
17. イーサネット・メディア・アクセス・コントローラー
18. USB 2.0 OTGコントローラー
19. SPIコントローラー
20. I2Cコントローラー
21. UARTコントローラー
22. 汎用I/Oインターフェイス
23. タイマー
24. ウォッチドッグ・タイマー
25. CoreSightのデバッグとトレース
A. ブートとコンフィグレーション
B. HPSを介したセキュア・デバイス・マネージャーQuad SPIフラッシュ・コントローラーへのアクセス
3.5.1. 例外レベル
3.5.2. 仮想化
3.5.3. メモリー管理ユニット
3.5.4. レベル1キャッシュ
3.5.5. レベル2メモリーシステム
3.5.6. スヌープ制御ユニット
3.5.7. 暗号化による拡張
3.5.8. NEONマルチメディア・プロセッシング・エンジン
3.5.9. 浮動小数点演算装置
3.5.10. ACEバス・インターフェイス
3.5.11. アボート処理
3.5.12. キャッシュ保護
3.5.13. 汎用割り込みコントローラー
3.5.14. 汎用タイマー
3.5.15. デバッグモジュール
3.5.16. キャッシュ・コヒーレンシー・ユニット
3.5.17. クロックソース
25.4.1. デバッグ・アクセス・ポート
25.4.2. CoreSight SoC-400タイムスタンプ・ジェネレーター
25.4.3. システム・トレース・マクロセル
25.4.4. トレースファネル
25.4.5. CoreSightのトレース・メモリー・コントローラー
25.4.6. AMBAトレース・バス・レプリケーター
25.4.7. トレース・ポート・インターフェイス・ユニット
25.4.8. NoCトレースポート
25.4.9. エンベデッド・クロス・トリガー・システム
25.4.10. エンベデッド・トレース・マクロセル
25.4.11. HPSのデバッグAPBインターフェイス
25.4.12. FPGAインターフェイス
25.4.13. デバッグクロック
25.4.14. デバッグのリセット
インテルのみ表示可能 — GUID: mvx1481130593384
Ixiasoft
20.5.1.2. シングルバイトでのスレーブ送信機の動作
I2Cコントローラーは、バス上の別のI2CマスターデバイスがそのI2Cコントローラーをアドレス指定してデータを要求している場合に、スレーブ送信機として機能します。これには、次の内容が発生します。†
- 別のI2Cマスターデバイスが、I2CコントローラーのIC_SARレジスターのスレーブアドレスに一致するアドレスでI2C転送を開始します。†
- I2Cコントローラーは送信されたアドレスを確認して転送の方向を特定し、スレーブ送信機として機能することを示します。†
- I2Cコントローラーは、RD_REQ割り込み (IC_RAW_INTR_STATレジスターのビット5) をアサートし、ソフトウェアの応答を待機します。†
IC_INTR_MASKレジスターのビット5 (M_RD_REQビット・フィールド) が0に設定されていることで、RD_REQ割り込みがマスクされている場合は、CPUに定期的なIC_RAW_INTR_STATレジスターの読み出しを実行するように指示することが推奨されます。†
- 読み出しにおいて、IC_RAW_INTR_STATレジスターのビット5 (R_RD_REQビット・フィールド) が1に設定されていることが示されている場合は、RD_REQ割り込みがアサートされている場合と同等であるとして処理する必要があります。†
- ソフトウェアでは次に、I2C転送を満たすように動作する必要があります。†
- 使用するタイミング間隔は、I2Cコントローラーが処理できる最速のSCLクロック周期の10倍程度にする必要があります。例えば、400Kbpsの場合、タイミング間隔は25usです。†
注: ここでは10の値が推奨されます。これは、I2Cバスで転送されるデータの単一のバイトに必要な時間にほぼ等しい値です。†
- 読み出し要求を受信する前にTX FIFOにデータが残っている場合、I2CコントローラーはTX_ABRT割り込み (IC_RAW_INTR_STATレジスターのビット6) をアサートし、TX FIFOから古いデータをフラッシュします。†
注: I2CコントローラーのTX FIFOは、TX_ABRTイベントが発生するとかならず強制的にフラッシュ/リセット状態になるため、ソフトウェアでは、TX FIFOへの書き込みを試みる前にIC_CLR_TX_ABRTレジスターを読み出し、I2Cコントローラーをこの状態から解放する必要があります。詳細に関しては、レジスターマップのC_RAW_INTR_STATレジスターの説明を参照してください。†
IC_INTR_MASK[6]レジスター (M_TX_ABRTビット・フィールド) が0に設定されていることによりTX_ABRT割り込みがマスクされている場合、CPUでIC_RAW_INTR_STATレジスターの定期的な読み出しを行うことが推奨されます。†
- 読み出しにおいて、ビット6 (R_TX_ABRT) が1に設定されていることが示されている場合は、TX_ABRT割り込みがアサートされている場合と同等であるとして処理する必要があります。†
- ソフトウェアからの追加アクションは必要ありません。†
- 使用するタイミング間隔は、前のステップでIC_RAW_INTR_STAT[5] レジスターに対して説明されているものと同様になります。†
- ソフトウェアにより、書き込むデータをIC_DATA_CMDレジスターのDATビットに書き込み、ビット8に0を書き込みます。†
- 次に進む前に、IC_RAW_INTR_STATレジスターのRD_REQ割り込みおよびTX_ABRT割り込み (それぞれビット5と6) をソフトウェアでクリアする必要があります。†
RD_REQ割り込みまたはTX_ABRT割り込みがマスクされている場合は、R_RD_REQビットまたはR_TX_ABRTビットのいずれかが1で読み出されると、IC_RAW_INTR_STATレジスターのクリアはすでに実行されています。†
- I2Cコントローラーはバイトを送信します。†
- マスターでは、RESTART条件を発行してI2Cバスを保持する、もしくはSTOP条件を発行してバスを解放することができます。†