SpiMaster::<MODE>
SPI Master モジュール
startはidle中に1クロックだけHighにし、同じcycleのtx_dataを保持する。
受理後はbusyとcs_nをアサートし、全bitの転送とCS High保持時間が終わるとdoneを1クロックだけHighにする。
転送はMSB-first。
CPOLはidle level、CPHAは最初のedgeがshiftかsampleかを決める。 Mode 0/2はleading edgeでsample、Mode 1/3はleading edgeでshiftする。
Generic Parameters
| MODE | SpiMode |
|---|
Parameters
| DATA_WIDTH | u16 | 通信ビット数 (8, 16, 24, 32など) |
|---|---|---|
| CLK_DIV | u16 | 分周比 (50MHz入力で50なら1MHzのSCLK) |
Ports
| clk | input | clock | System Clock (50MHz) | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rst | input | reset | Reset | ||||||||||||||||||||||||||||
| start | input | logic | 通信開始トリガー (1パルス) | ||||||||||||||||||||||||||||
| tx_data | input | logic| 送信データ
|
rx_data |
output |
logic | 受信データ
|
busy |
output |
logic |
通信中フラグ
|
done |
output |
logic |
完了フラグ (1パルス)
|
sclk |
output |
logic |
SPIクロック
|
mosi |
output |
logic |
SPI MOSI
|
miso |
input |
logic |
SPI MISO
|
cs_n |
output |
logic |
SPI Chip select (Active Low)
|
|