请教基于NIOS的sd卡sd模式 的一些问题
近期正在做sd卡的部分,先前用的spi模式,但是写的速度很慢,只有100多kb/s,现在正在做sd模式,暂时用的是1线模式,一开始能够单块的写一个扇区,但是连续的写却写不成功,后来看sd的协议发现每写一个扇区之后都要等待一个busy时间来让sd卡将数据写入sd卡内部flash,可以通过发送cmd13来看是否不忙,这就带来了一个问题,nios必须一直的询问sd卡是否不忙,这里就花了很多的时间,初步的测试下来,差不多也是100kb/s,希望做过这方面的能给些指导。另外sd模式每次发送命令和写数据都要进行crc校验,这也占用了很多的时间,这样1线的sd模式相对于spi模式几乎没有优势, 1线制SDIO模式仅是时钟不停?
都串行的,理论上不会有什么大的提高。
NIOS里面实现CRC肯定要由硬件去完成,而不会用软核,CRC的开销可以不计了吧?
可以实现4bit模式? 本帖最后由 keepburning89 于 2012-5-6 19:52 编辑
aozima 发表于 2012-5-6 19:38 static/image/common/back.gif
1线制SDIO模式仅是时钟不停?
都串行的,理论上不会有什么大的提高。
NIOS里面实现CRC肯定要由硬件去完成, ...
CRC如果用软件实现的话肯定会花不少时间啊,比如每次写入512个字节,都要对这个512个字节进行crc校验,用spi的好处就是不需要crc校验
或许可以考虑实施能不能用verilog做个crc校验,然后外挂在总线上,然后nios要用crc的时候再用,硬件实现的crc肯定比软件快很多,不知道这样的想法是否可行?
暂时还么有做到4线的,打算先把1线的做好
不校验数据出错了都不知道。我现在SD时钟跑到37.5M,有个布得差的板频繁CRC出错。
CRC肯定要硬件做,不然要NIOS做什么。 硬件CRC基本可以认为时间上是0开销。
我不会FPGA,没有写过HDL。
纯帮顶,勿怪。 aozima 发表于 2012-5-6 20:01 static/image/common/back.gif
不校验数据出错了都不知道。我现在SD时钟跑到37.5M,有个布得差的板频繁CRC出错。
CRC肯定要硬件做,不然 ...
恩,先谢谢了,请问你是用什么做的呢?现在速度能够达到多少? SPI傻等模式带PFATFS上300KB/S. 红果果480KB/S (16MHZ) 90999 发表于 2012-5-6 21:31 static/image/common/back.gif
SPI傻等模式带PFATFS上300KB/S. 红果果480KB/S (16MHZ)
请问你这个16Mhz是什么?sd的时钟吗?我是用nios做的,通过管脚来模拟的时钟,只能达到5MHZ啊 keepburning89 发表于 2012-5-7 21:16 static/image/common/back.gif
请问你这个16Mhz是什么?sd的时钟吗?我是用nios做的,通过管脚来模拟的时钟,只能达到5MHZ啊 ...
我用CM0的,是SD的时钟, 5MHZ跑SD有点难度,除非开4bit了.... 楼主你好,你现在速度能达到多少了?是sd1线模式还是sd 4线模式。 急求{:smile:}
页:
[1]