用fpga做的sd卡控制器,sd卡工作早sd模式,4线传输。发现数据能写进去,但是读出来的数据会很有个别丢失。换块地址后也是一样,而且丢失的数据很稳定,都是一样的。这是怎么回事???搞了很久没出来
硬件环境:Virtex-5 fpga, 1.0的sd卡1g,nicro sd卡2g,杜邦线。主机通过usb转i2c控制FPGA.
情况描述:1。初始化成功,往sd卡写数据,大小512x8。通过chipscope勾选相应信号,发现数据发送正常,sd卡回应crc效验ok,数据d0也由低变高,说明写入成功。
2.读sd卡数据,通过chipscope勾选相应信号,发现从sd卡到fpga的数据会莫名的丢失几位,但是从sd卡发给fpga的crc效验值和我发送数据时的crc值一致(说明sd卡输出的数据也没问题)。由于sd卡到fpga的数据莫明的丢失几位,fpga这边会给出crc效验错误。
其中,丢失的数据很稳定,只观察到了丢失的一位具体的数据。我换了地址也是,每次这位都会丢失。换别的fpga板子同样。换卡也一样。求原因。。。。。。
是不是线的问题?我也换过线,但都是一般的杜邦线。
搞了好几天了。。。。崩溃了。。。。与时钟有关???时钟是17mhz
|