xlht 发表于 2014-4-1 00:13:39

关于SD卡的操作

在调试特权同学的SD卡(EP1C3T144学习板)模块时,想了解读出扇区的数据是否正确,打算在代码插入指示灯来判断。
在模块:module sd_ctr中最后面有一段连续读514个字节的状态机,请见下面注示那行插入的一行,通过winhex查看到的数据与读出的数据,就是对不上;请有调试过此开发板的朋友帮忙看看是什么原因,或是想指定扇区判断某个地址中的数值需要在哪个地方做怎样的处理可行?谢谢!

CMD_RD: begin
if(spi_tx_rdy) begin
spi_cs_nr <= 1'b0;
spi_tx_enr <= 1'b0;       
spi_rx_enr <= 1'b0;
spi_tx_dbr <= 8'hff;
spi_rx_dbr <= spi_rx_db;

if((arg == 32'h0004_0000) & (cnt512==10'd00) & (spi_rx_db==8'heb)) ledr <= 1'b0;//此行中指定arg所在扇区,并且指定了读取的是第一个字节,判断SD卡输出的字节是不是等于想要的值,如是指示灯亮

if(spi_rx_enr) cnt512 <= cnt512+1'b1;       

MamBa_24 发表于 2014-4-1 10:15:44

你有数据调试出来吗?我这调不出来,能加Q1069217225探讨下吗?

xlht 发表于 2014-4-1 12:37:38

MamBa_24 发表于 2014-4-1 10:15
你有数据调试出来吗?我这调不出来,能加Q1069217225探讨下吗?

加了Q,通过判断是可以读了8‘hfe,也就是进入扇区读时确定不了是不是读到了指定的数据

MamBa_24 发表于 2014-4-1 18:23:52

我不是特权同学的那块板,我自己扩张了SD卡的模块,不知道为什么读不出数据出来?是读卡的速度问题?我的25M驱动的
页: [1]
查看完整版本: 关于SD卡的操作