![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SD卡与FPGA的学习
文章平均质量分 55
Tequila_zeze
这个作者很懒,什么都没留下…
展开
-
SD卡学习笔记(6)
分享一些SD卡传输的时序图: 1. 2. SD模式里面数据的传输不需要令牌,,SPI模式的数据传输需要延时,Data response没找到SD总线的该响应的描述,找到了SPI模式里面的叙述,叙述如下:原创 2021-06-01 12:10:19 · 261 阅读 · 1 评论 -
SD卡学习笔记(5)
数据读,没有数据传输,数据总线是高电平,一个传输块包括四个低电平的bit,然后是持续的数据流,数据流结束位是四位高电平,数据传输和时钟是同步的,面向块的数据传输由1位或4位的CRC校验和保护,CRC被附加在块的末尾,单块传输不需要停止命令,多块CMD18需要CMD12停止,停止有延迟,在停止命令的结束位结束, 多块写命令应使用,而不是连续单写命令,以提高写操作的速度。 如果主机使用的部分块的累计长度没有块对齐且不允许块对齐(CSD参数WRITE_ blk_不对齐),则在第一个不对齐的块开始之前,卡应..原创 2021-06-01 12:06:28 · 444 阅读 · 0 评论 -
SD卡学习笔记(4)
分析一下目前的结果和问题 结果:目前能够完整的跑完整个程序,初始化、读和写的状态机都能运行到最后,代码的整体逻辑理论上没有问题,完整运行的示意图如下: 目前的结果中,能够看到写入数据的过程,但是目前没有读数据的过程,读程序的状态能够顺利运行,但是运行的时候读数据的四根总线一直处于高电平状态,与写数据的过程不一致。所以目前的结果就是程序能够顺利跑通,但是没有实现读的功能。 写入数据的过程具体标识如下: 在一个时钟上升沿有4bit的数据写入,时钟频率是25Mhz,所以写入速率是12.5MB/s,我使用一个信原创 2021-06-01 12:03:02 · 272 阅读 · 0 评论 -
SD卡学习笔记(3)
1.SD模块功能模块划分:命令收发模块,数据收发模块,状态控制模块和校验模块 2.命令收发模块:命令接收和响应都在命令线CMD上传输,该端口是一个三态门,由输出使能信号En控制是否输出,命令接收时,首先检测命令起始位,检测到起始位后开始工作 接受完一个完整命令后 发出接收完成信号end,分别得到移位寄存器中对应的命令索引,命令参数,命令校验.命令接收过程中,同时将数据传给CRC7校验模块,用于生成校验数据.响应发送时,模块根据状态控制模块给出的响应类型产生对应的响应内容,当接收到发送使能信号start后,给原创 2021-06-01 11:55:29 · 262 阅读 · 0 评论 -
SD卡学习笔记(2)
1.总线速度模式如上:UHS-1表示支持UHS(Ultra High Speed,超高速)接口,其带宽达到104Mb/s。 2. SD卡定义了三种通信协议,SD,SPI,UHS-II。收到reset命令后,SD卡通过主机的信息来决定使用何种模式。SD总线,上电后默认使用DATA0来传输数据,初始化之后可以使用主机来改变总线长度,即数据线数目。当data1-3没有使用的时候,相应的主机DAT应该被设置为输入模式 3. SPI的通用特点是字节传输,所有的数据都是字节(8bit)的整数倍,并且直接总是对齐CS原创 2021-04-26 18:33:03 · 837 阅读 · 0 评论 -
SD卡学习笔记(1)
最近在做SD卡的相关学习和使用,在此整理一下学习过程中的收获和进展。 1.SD卡选择:2.0标准的SD卡,常见的HC卡 2.与FPGA连接有SD模式和SPI模式,前者需要6条线,后者需要四条线,上电之后默认是SD模式,需要发送命令进入SPI模式 3.SD卡的协议是简单的命令响应协议,主机发送命令,是一个6字节的命令包,第一个字节的高位7bit和6bit是01,其余六个是命令号,2到5字节是命令参数,6字节是7bitCRC校验和1bit的结束位,最低位是1。 4.有三种响应格式,R1,R2,R3,响应格式与命原创 2021-04-07 11:40:00 · 650 阅读 · 2 评论