インテルのみ表示可能 — GUID: ppb1481130264577
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: ppb1481130264577
Ixiasoft
17.6.2.6. 受信
受信機能では、受信記述子を使用します。次のステップは、受信DMAエンジンの受信シーケンスです。
- ホストは受信記述子 (RDES0からRDES3) を設定し、Ownビット (RDES0[31]) を設定します。†
- レジスター6 (Operation Mode Register) のビット1 (SR) が設定されると、DMAはRun状態に入ります。Run状態の間、DMAは受信記述子リストをポーリングし、空いている記述子の取得を試みます。フェッチされた記述子が解放されていない (ホストに所有されている) 場合、DMAはSuspend状態に入り、9 に進みます。†
- DMAは、取得した記述子から受信データ・バッファー・アドレスをデコードします。†
- 着信フレームが処理され、取得した記述子のデータバッファーに配置されます。†
- バッファーがフルになる、もしくはフレームの転送が完了すると、受信エンジンは次の記述子をフェッチします。†
- 現在のフレーム転送が完了すると、DMAは7 に進みます。DMAが次にフェッチされる記述子を所有しておらず、フレーム転送が完了していない (EOFがまだ転送されていない) 場合、DMAはRDES0のDescriptor Errorビットを設定します (Operation Mode Registerであるレジスター6のビット24でフラッシュが無効になっていない限り)。DMAは現在の記述子を閉じ (Ownビットをクリアする)、RDES0のLast Segment (LS) ビットの値をクリアして中間としてマーク (フラッシュが無効になっていない場合はLast Descriptorとしてマーク) 後、8 に進みます。DMAが次の記述子を所有しており、現在のフレーム転送が完了していない場合、DMAは現在の記述子を中間として閉じ、4 に戻ります。†
- IEEE 1588のタイムスタンプが有効になっている場合、DMAはタイムスタンプ (利用可能な場合) を現在の記述子のRDES2およびRDES3に書き込みます。次に、MTLから受信フレームのステータスを取得し、ステータスワードを現在の記述子のRDES0に書き込みます。この際、Ownビットはクリアされ、Last Segmentビットが設定されます。†
- 受信エンジンは、最新の記述子のOwnビットを確認します。ホストが記述子を所有している (Ownビットが0である) 場合、レジスター5 (Status Register) のビット7 (Receive Buffer Unavailable) が設定され、DMA受信エンジンがSuspended状態に入ります (ステップ9)。DMAが記述子を所有している場合、受信エンジンは4 に戻り、次のフレームを待機します。
- 受信エンジンがSuspend状態に入る前に、部分的なフレームが受信FIFOバッファーからフラッシュされます。フラッシュは、レジスター6 (Operation Mode Register) のビット24を使用して制御することができます。†
- 受信DMAは、Receive Poll要求が提供される、もしくは次のフレームの開始がMTLの受信FIFOバッファーから利用可能になると、Suspend状態を終了します。エンジンは2 に進み、次の記述子を再フェッチします。†
図 70. 受信DMAの動作
ソフトウェアで、レジスター448 (Timestamp Control Register) のtsenaビットを介してタイムスタンプを有効にしている場合に、有効なタイムスタンプ値がフレームで利用できない (例えば、タイムスタンプが書き込まれる前に受信FIFOバッファーがフルになった) 場合、DMAは、RDES2記述子とRDES3記述子にすべて1を書き込みます。それ以外の場合 (つまり、タイムスタンプが有効になっていない場合) は、RDES2記述子とRDES3記述子は変更されません。