MyFPGA Forum

标题: sd模式sd卡读写成功经验分享 [打印本页]

作者: wushicu    时间: 2010-7-24 17:02
标题: sd模式sd卡读写成功经验分享
sd卡sd模式读写中,初始化和读的部分可以只接用友晶提供的源代码,而写的部分友晶没有提供,
我们必须自己写。写sd卡的函数可以根据友晶提供的read_block()和send_cmd()函数的模式进行编程。
我的写sd卡程序都快一个星期了,今天终于测试成功了。我的写时序严格遵守了,只是,SD_DAT_OUT;置得太早了,我在发送cmd24之前dat0就已经置成由主机向sd卡方向。
那样在发送命令时,也要发送时钟周期,发送数据时,sd卡同时从dat0线上接收数据,那样sd卡crc16校验就会出错。数据就无法写入。
因此SD_DAT_OUT;的位置非常重要,不能早,也不能晚,必须严格按照sd卡接口规范上的
时序一步一步写。肯定会成功!!!
作者: WPZAC    时间: 2010-7-25 09:09
回复 1# wushicu


    你好,请问你是用DE0做的sd卡吗?初始化和读的部分都是友晶提供的源代码吗??
作者: withoutwing    时间: 2010-7-25 11:38
我的写程序里,一开始就是写SD_DAT_OUT,能跑通的。
作者: wushicu    时间: 2010-7-25 11:44
回复 2# WPZAC


   我是用de0做的,部分用了友晶提供的源代码。。。
作者: wushicu    时间: 2010-7-25 11:52
回复 3# withoutwing


    我的不行。我根据sd卡规范的时序分析,觉得SD_DAT_OUT;在发送命令之前的话,在发送命令时同时会有时钟过去,因此DAT0线上也会有数据发送过去,这样sd卡就无法识别你发送的数据是从哪里开始的,接收时就有可能发生校验错误或者块长度不对齐。最后导致数据无法写入。。。
   我是这样分析的,如果你的能跑通的话,我就不清楚了!
作者: fzp0412    时间: 2010-7-28 19:38
能不能提供一些源代码呀
作者: cqums    时间: 2013-12-13 08:20
本帖最后由 Frank 于 2015-6-1 09:39 编辑

我喜欢啊,请继续 支持你





欢迎光临 MyFPGA Forum (http://www.myfpga.org/discuz/) Powered by Discuz! X3