📄 sd_wr_state.vhd
字号:
package sd_wr_state is
type SD_WR_STAT is
(
SD_WR_INIT, -- initialize
SD_WR_IDLE, -- ready to process any command
-- init card
SD_WR_PRE_WAIT_PWRUP, -- load 80 into counter
SD_WR_WAIT_PWRUP, -- wait 80 cycle for power up of the card
SD_WR_SEND_CMD0, -- send cmd0 to reset the card
-- init loop
SD_WR_PRE_WAIT_READY, -- load 127 into counter
SD_WR_WAIT_READY, -- wait 127 cycle
SD_WR_SEND_CMD55, -- indicates that the next command is an app_cmmd
SD_WR_RECV_R1_TO_CMD55, -- receive R1 to cmd55
SD_WR_SEND_ACMD41, -- asks card to send its OCR
SD_WR_RECV_R3_TO_ACMD41, -- receive OCR
-- continue init
SD_WR_SEND_CMD2, -- asks card to send CID
SD_WR_RECV_R2_TO_CMD2, -- receive CID
SD_WR_SEND_CMD3, -- asks the card to publish a new RCA
SD_WR_RECV_R6_TO_CMD3, -- receive RCA
SD_WR_RECORD_RCA, -- record RCA
SD_WR_SEND_CMD9, -- Addressed card sends its CSD
SD_WR_RECV_R2_TO_CMD9, -- receive CSD
SD_WR_SEND_CMD7, -- select the card
SD_WR_RECV_R1_TO_CMD7, -- receive R1 to cmd7
-- set 4 line mode
SD_WR_SEND_CMD55_2, -- indicates that the next command is an app_cmmd
SD_WR_RECV_R1_TO_CMD55_2, -- receive R1 to cmd55
SD_WR_SEND_ACMD6, -- set 4 line mode
SD_WR_RECV_R1_TO_ACMD6, -- receive R1 to acmd6
-- set block length
SD_WR_SEND_CMD16, -- Selects a block length
SD_WR_RECV_R1_TO_CMD16, -- receive R1 to cmd16
-- init finished
SD_WR_INIT_FAILED, -- initialize failed
SD_WR_INIT_SUCCESS, -- initialize success
-- start read
SD_WR_CLEAR_BUFFER, -- discard received data
-- read single block
SD_WR_SEND_CMD17, -- read a block
SD_WR_RECV_DATA, -- receive the block
-- read multiple block
SD_WR_REC_ADDR, -- record section address
SD_WR_SEND_CMD18, -- start streaming read
SD_WR_STRRECV_DATA, -- receive stream
SD_WR_INC_ADDR, -- increase section address
SD_WR_SEND_CMD12, -- stop streaming read
SD_WR_RECV_R1b_TO_CMD12, -- receive R1b to cmd12
SD_WR_STRRECV_PAUSE -- streaming read was paused
);
end sd_wr_state;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -