版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用Verilog 做的SD卡控制器-SD 卡-II 2011-12-02 15:53/SD命令CMDS送控制/1.发送8个时钟脉冲/ 2. SD 卡片选CSS低,即片选有效/ 3. 连续发送6个字节命令/ 4. 接收1个字节响应数据/ 5. SD 卡片选CS拉高,即关闭SDK/*发送总共6个字节命令格式:0 - start bit1 - hostbit5-0 - commandbit31-0 - argumentbit6-0 - CRC71 - end bit*/发送sd命令状态机控制reg5:0 cmd;/发送命令寄存器reg31:0 arg;/发送参数寄存器reg7:0 crc;/ 发送
2、CRCK验码reg spi_cs_nr;/SPI 从设备使能信号,由主设备控制reg spi_tx_enr;/SPI 数据发送使能信号,高有效reg spi_rx_enr;/SPI 数据接收使能信号,高有效reg7:0 spi_tx_dbr;/SPI 数据发送寄存器reg7:0 spi_rx_dbr;/SPI 数据接收寄存器reg3:0 nclk_cnt;/74+CLK发送周期计数器reg7:0 wait_cnt8;/命令操作间隔等待计数器reg9:0 cnt512;/ 读取 512B 计数器reg7:0 retry_rep;/重复读取 respone 计数器reg7:0 retry_cmd;
3、/重复当前命令计数器assign spi_cs_n = spi_cs_nr;assign spi_tx_en = spi_tx_enr;assign spi_rx_en = spi_rx_enr;assign spi_tx_db = spi_tx_dbr;assign sd_dout = spi_rx_dbr;/每接收一个字节数据,该位置高一个时钟周期,共 512Bassign sd_fifowr = (spi_rx_rdy & spi_rx_enr & (cmd_cstate = CMD_RD) & (cnt512 < 10'd513);wire cmd
4、_clk = (sdinit_cstate = SDINIT_CLK);/ 进入上电初始化时的 74+CLK 产生状态标志位wire cmd_en = (sdinit_cstate = SDINIT_CMD0) | (sdinit_cstate = SDINIT_CMD55) | (sdinit_cstate = SDINIT_ACMD41)/(sdinit_cstate = SDINIT_CMD1)| (sdinit_cstate = SDINIT_CMD16);/命令发送使能标志位,高有效wire cmd_rdboot_en = (sdinit_cstate = SD_RD_BPB) |
5、(sdinit_cstate =SD_RD_PT);/读愈SD启动if血能信号,高"效wire cmd_rdy = (cmd_nstate = CMD_CLKE) & spi_tx_rdy & spi_tx_enr);/命令发送完成标志位,高有效reg3:0 cmd_cstate;/发送命令当前状态寄存器reg3:0 cmd_nstate;/发送命令下一状态寄存器parameterCMD_IDLE= 4'd0,/无命令发送,等待状态CMD_NCLK= 4'd1,/上电初始化时需要产生74+CLK犬态CMD_CLKS= 4'd2,/产生 8 个
6、CLK状态CMD_STAR= 4'd3,/发送起始字节状态CMD_ARG1= 4'd4,/发送 arg31:24状态CMD_ARG2= 4'd5,/发送 arg23:16状态CMD_ARG3= 4'd6,/发送 arg15:8状态CMD_ARG4= 4'd7,/发送 arg7:0状态CMD_END= 4'd8,/发送结束字节状态CMD_RES= 4'd9,/接收口向应字节CMD_CLKE= 4'd10,/产生 8 个 CLK状态CMD_RD= 4'd11,/读 512Byte 状态CMD_DELAY= 4'd12;
7、/读写操作完成延时等待状态/状态转移always (posedge clk or negedge rst_n) if(!rst_n) cmd_cstate <= CMD_IDLE; else cmd_cstate <= cmd_nstate;/状态控制always (cmd_cstate or wait_cnt8 or cmd_clk or cmd_en or spi_tx_rdy or spi_rx_rdy or nclk_cnt or retry_repor sdinit_cstate or spi_tx_enr or spi_rx_enr or cmd_rdboot_en o
8、r cnt512or spi_rx_dbr) begincase(cmd_cstate)CMD_IDLE: beginif(wait_cnt8 = 8'hff)if(cmd_clk) cmd_nstate <= CMD_NCLK;else if(cmd_en | cmd_rdboot_en) cmd_nstate <= CMD_STAR;else cmd_nstate <= CMD_IDLE;else cmd_nstate <= CMD_IDLE;endCMD_NCLK: beginif(spi_tx_rdy && (nclk_cnt = 4
9、39;d11) && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_CLKE;else cmd_nstate <= CMD_NCLK;endCMD_CLKS: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_STAR;else cmd_nstate <= CMD_CLKS;endCMD_STAR: begin if(spi_tx_rdy && (!spi_tx_enr &am
10、p; !spi_rx_enr) cmd_nstate <= CMD_ARG1;else cmd_nstate <= CMD_STAR;endCMD_ARG1: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_ARG2;else cmd_nstate <= CMD_ARG1;endCMD_ARG2: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD
11、_ARG3;else cmd_nstate <= CMD_ARG2;endCMD_ARG3: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_ARG4;else cmd_nstate <= CMD_ARG3;endCMD_ARG4: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_END;else cmd_nstate <= CMD_ARG4;
12、endCMD_END: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_RES;else cmd_nstate <= CMD_END;endCMD_RES: beginif(retry_rep = 8'hff) cmd_nstate <= CMD_IDLE;/响应超时,返回 IDLE 重新发起命令if(spi_rx_rdy && (!spi_tx_enr & !spi_rx_enr) begincase(sdinit_cstate)S
13、D_RD_PT,SD_RD_BPB:if(spi_rx_dbr = 8'hfe) cmd_nstate <= CMD_RD;/ 接收到 RD命令的起始字节 8'hfe,立即读取后面的512Belse cmd_nstate <= CMD_RES;SDINIT_CMD0,SDINIT_CMD55,SDINIT_ACMD41,SDINIT_CMD16:if(spi_rx_dbr = 8'hff) cmd_nstate <= CMD_RES;else cmd_nstate <= CMD_CLKE;/产生正确响应,结束当前命令default: cmd_nstate <= CMD_CLKE;endcaseendelse cmd_nstate <= CMD_RES;endCMD_CLKE: beginif(spi_tx_rdy && (!spi_tx_enr & !spi_rx_enr) cmd_nstate <= CMD_IDLE;else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026全国卫生健康系统职业技能竞赛(传染病防治监督)历年参考题库含答案详解
- 2026住院医师规培-新疆-新疆住院医师规培(外科)历年参考题库含答案详解
- 2026云南卫生系统招聘考试(眼科)历年参考题库含答案详解
- 2026事业单位笔试-贵州-贵州临床医学工程技术(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-新疆-新疆卫生事业管理(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-内蒙古-内蒙古眼科(医疗招聘)历年参考题库含答案详解
- 2026事业单位工勤技能-黑龙江-黑龙江不动产测绘员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-重庆-重庆计量检定工三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-贵州-贵州计量检定工四级(中级工)历年参考题库含答案详解
- 2026年秋高二年级团委书记专题培训课件:主题班会的设计与实施
- 2025秋大象版(2024)科学二年级上册教学设计(附目录)
- 苏科版四年级上册劳动全册教学设计教案
- ui设计考试试题库及答案详解
- 第二章人的行为表现和局限性南通航运课件
- 《工业战略性新兴产业分类目录(2023)》
- 口腔黏膜炎的个案护理
- 《机械臂人机交互》课件
- 电线电路改造合同模板
- 处方点评知识与技能课件
- 电气气动控制回路介绍电气气动控制回路介绍
- 洁净空调负荷计算表格
评论
0/150
提交评论