Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SpiMaster

SPI マスタ (mode 0,バイト単位転送,MSB first)

TF カード用: SCK idle Low,立上りでサンプル,立下りでシフト. バイト転送は valid/ready で受け付け,受信バイトは o_valid の 1 サイクルパルスで確定する.CS# は上位 (シーケンサ) が管理する. 分周比は転送開始時の i_fast で選択する (初期化 337.5 kHz / データ 13.5 MHz, docs/tfcard.md「クロック・SCK」).

Parameters


InitDivider u32 初期化クロック分周比 (SCK = i_clk / InitDivider).2 以上の偶数
FastDivider u32 データ転送クロック分周比.2 以上の偶数かつ InitDivider 以下

Ports


i_clk input clock クロック (27 MHz)
i_rst input reset リセット
i_fast input logic 1 で FastDivider を選択 (転送開始時に参照)
i_valid input logic 送信バイト有効
i_data input logic<8> 送信バイト
o_ready output logic 送信バイト受付可能
o_valid output logic 受信バイト確定 (1 サイクルパルス)
o_data output logic<8> 受信バイト
o_sclk output logic SPI SCK (idle Low)
o_mosi output logic SPI MOSI (idle High)
i_miso input logic SPI MISO