インテルのみ表示可能 — 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. デバッグのリセット
インテルのみ表示可能 — Ixiasoft
16.4.3.2.3. 自動停止
cmdレジスターのsend_auto_stopビットが1に設定されている場合、コントローラーは内部でSD/SDIO STOPコマンドを生成し、コマンドパスにロードします。AUTO_STOPコマンドは、MMCにおけるストリーム読み出しまたは書き込み、およびSDカードにおけるSDメモリー転送の複数ブロック読み出しまたは書き込みを使用して、正確な数のデータバイトを送信する場合に役立ちます。ソフトウェアでは、以下の詳細に従いsend_auto_stopビットを設定する必要があります。†
次のリストは、AUTO_STOPコマンドの条件を示しています。†
- バイトカウントが0より大きいMMCのストリーム読み出し - コントローラーは内部のSTOPコマンドを生成し、コマンドパスにロードします。それにより、データの最後のバイトがカードから読み出された際にSTOPコマンドのエンドビットが送信され、データバイトをそれ以上受信しないようにします。バイトカウントが6 (48ビット) 未満の場合は、STOPコマンドのエンドビットが送信される前に、いくつかの余分なデータバイトをカードから受信します。†
- バイトカウントが0より大きいMMCのストリーム書き込み - コントローラーは内部のSTOPコマンドを生成し、コマンドパスにロードします。それにより、データの最後のバイトがカードバスで送信された際にSTOPコマンドのエンドビットが送信され、データバイトがそれ以上送信されないようにします。バイトカウントが6 (48ビット) 未満の場合は、データパスはデータを最後に送信し、これらの条件を満たします。†
- バイトカウントが0より大きいSDカードの複数ブロック読み出しメモリー - ブロックサイズが4 (シングルビット・データ・バス)、16 (4ビット・データ・バス)、または32 (8ビット・データ・バス) 未満の場合、すべてのバイトが読み出された後に、AUTO_STOPコマンドがコマンドパスにロードされます。それ以外の場合はSTOPコマンドがコマンドパスにロードされるため、最後のデータブロックの受信後に、STOPコマンドのエンドビットが送信されます。†
- バイトカウントが0より大きいSDカードの複数ブロック書き込みメモリー - ブロックサイズが3 (シングルビット・データ・バス)、12 (4ビット・データ・バス)、または24 (8ビット・データ・バス) 未満の場合、すべてのデータブロックが送信された後に、AUTO_STOPコマンドがコマンドパスにロードされます。それ以外の場合はSTOPコマンドがコマンドパスにロードされるため、CRCステータスのエンドビットの受信後に、STOPコマンドのエンドビットが送信されます。†
- 自動停止時におけるホスト・ソフトウェアに向けた注意事項 - AUTO_STOPコマンドが発行されている場合、ホスト・ソフトウェアでは、AUTO_STOPコマンドがコントローラーによって送信されてデータ転送が完了するまで、コントローラーに新しいコマンドを発行してはなりません。AUTO_STOPコマンドを伴うデータ転送の進行中にホストが新しいコマンドを発行した場合、AUTO_STOPコマンドは、新しいコマンドが送信されてその応答を受信した後に送信されることがあります。これにより、STOPコマンドの送信が遅延し、余分なデータバイトが転送されることになります。ストリーム書き込みでは、余分なデータバイトは不正なデータであり、カードデータが破損する場合があります。データの転送が完了する前にホストによってデータ転送を終了させる場合は、SD/SDIO STOPコマンドまたはSTOP_TRANSMISSION (CMD12) コマンドを発行することができます。この場合、コントローラーはAUTO_STOPコマンドを生成しません。†
MMCカードに対する自動停止の生成
転送タイプ | バイトカウント | send_auto_stopビットが設定されている | 備考 |
---|---|---|---|
ストリーム読み出し | 0 | いいえ | オープンエンドのストリーム |
ストリーム読み出し | >0 | はい | すべてのバイト転送後に自動停止 |
ストリーム書き込み | 0 | いいえ | オープンエンドのストリーム |
ストリーム書き込み | >0 | はい | すべてのバイト転送後に自動停止 |
単一ブロック読み出し | >0 | いいえ | バイトカウントが0の場合は不正 |
単一ブロック書き込み | >0 | いいえ | バイトカウントが0の場合は不正 |
複数ブロック読み出し | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック読み出し | >0 | はい 37 † | 事前に定義された複数ブロック |
複数ブロック書き込み | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック書き込み | >0 | はい37 † | 事前に定義された複数ブロック |
SDカードに対する自動停止の生成
転送タイプ | バイトカウント | send_auto_stopビットが設定されている | 備考 |
---|---|---|---|
単一ブロック読み出し | >0 | いいえ | バイトカウントが0の場合は不正 |
単一ブロック書き込み | >0 | いいえ | バイトカウントが0の場合は不正 |
複数ブロック読み出し | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック読み出し | >0 | はい | すべてのバイト転送後に自動停止 |
複数ブロック書き込み | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック書き込み | >0 | はい | すべてのバイト転送後に自動停止 |
SDIOカードに対する自動停止の生成
転送タイプ | バイトカウント | send_auto_stopビットが設定されている | 備考 |
---|---|---|---|
単一ブロック読み出し | >0 | いいえ | バイトカウントが0の場合は不正 |
単一ブロック書き込み | >0 | いいえ | バイトカウントが0の場合は不正 |
複数ブロック読み出し | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック読み出し | >0 | いいえ | 事前に定義された複数ブロック |
複数ブロック書き込み | 0 | いいえ | オープンエンドの複数ブロック |
複数ブロック書き込み | >0 | いいえ | 事前に定義された複数ブロック |
37 転送モードがブロック転送に設定され、byte_countがブロックサイズに等しい場合は、MMCカードとSDカードの両方において、単一ブロックのデータ転送コマンドとして扱われます。byte_count = n*block_size (n = 2、3など) の場合は、事前定義された複数ブロックのデータ転送コマンドとして扱われます。MMCカードの場合、ホスト・ソフトウェアは、事前定義されたデータ転送を2つの方法で実行することができます。1つ目の方法では、CMD18またはCMD25コマンドをカードに発行する前に、CMD23コマンドを発行します。この場合、CMD18およびCMD25コマンドは、send_auto_stopビットを設定せずに発行します。2つ目の方法では、カードにCMD23コマンドを発行せずに、send_auto_stopビットを設定したCMD18またはCMD25コマンドを発行します。この場合、複数ブロックのデータ転送は、プログラムされているバイトカウント後に、内部で生成された自動停止コマンドによって終了します。†