インテルのみ表示可能 — GUID: xey1481130505487
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: xey1481130505487
Ixiasoft
19.5.1. マスターにおけるSPIおよびSSPシリアル転送
図 93. マスターにおけるSPIまたはSSPシリアル転送でのソフトウェア・フロー
SPIマスターからのSPIまたはSSPシリアル転送を完了するには、次の手順に従います。
- SPIマスターが有効になっている場合は、SPI Enable Register (SPIENR) に0を書き込み、無効にします。
- 転送に対してSPIマスターのコントロール・レジスターをセットアップします。これらのレジスターは任意の順序で設定することができます。
- Control Register 0 (CTRLR0) に書き込みます。SPI転送では、シリアルクロック極性パラメーターおよびシリアルクロック位相パラメーターがターゲットのスレーブデバイスと同じになるように設定する必要があります。
- 転送モードが受信専用の場合、転送におけるフレーム数から1を引いた値をControl Register 1 (CTRLR1) に書き込みます。例えば、4つのデータフレームを受信する場合は、このレジスターに3を書き込みます。
- Baud Rate Select Register (BAUDR) に書き込み、転送のボーレートを設定します。
- Transmit FIFO Threshold Level Resisger (TXFTLR) およびReceive FIFO Threshold Level Register (RXFTLR) に書き込み、FIFOバッファーのしきい値レベルを設定します。
- IMRレジスターに書き込み、割り込みマスクを設定します。
- Slave Enable Register (SER) に書き込み、選択するターゲットスレーブを有効にします。この時点でスレーブが有効になっている場合は、送信FIFOバッファーに有効なデータエントリーが1つ提供されると、転送はすぐに開始します。Data Register (DR) に書き込みを行う前にスレーブが有効になっていない場合は、スレーブが有効になるまで転送は開始されません。
- SPIENRレジスターに1を書き込み、SPIマスターを有効にします。
- ターゲットスレーブに送信するデータを送信FIFOバッファーに書き込みます (DRに書き込む)。この時点においてSERレジスターでスレーブが有効になっていない場合は、スレーブを有効にすることで転送を開始します。
- BUSYステータスをポーリングし、転送の完了を待機します。Transmit FIFO Empty Interrupt要求が行われた場合は、送信FIFOバッファーに書き込みを行います (DRに書き込む)。Receive FIFO Full Interrupt要求が行われた場合は、受信FIFOバッファーを読み出します (DRを読み出す)。
- 送信FIFOバッファーが空になると、シフト制御ロジックは転送を停止します。転送モードが受信専用 (TMOD = 2) の場合は、指定されているフレーム数が受信されると、シフト制御ロジックは転送を停止します。転送が完了すると、BUSYステータスは0にリセットされます。
- 転送モードが送信専用ではない (TMODが1ではない) 場合、受信FIFOバッファーが空になるまで読み出しを行います。
- SPIENRに0を書き込み、SPIマスターを無効にします。