flycat0101
驱动小牛
驱动小牛
  • 注册日期2002-06-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望22点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:2017回复:0

sd over spi 问题请教

楼主#
更多 发布于:2009-07-06 16:09
我的开发板芯片有SPI控制器,外接一片EEPROM和一个SD/MMC插槽。
现在EEPROM能正确工作。
但是,对于SPI上的SD卡却不能正确工作,问题如下 (driver/mmc/host/mmc_spi.c驱动):
初始化时,能正确读出CIS、CSD等数据,仅仅读取8、16、64字节数据。
但是当发送命令COM18(multi-read blocks)读取分区表时(读取512字节数据),得到的第一块数据绝大部分都是正确的,但是有个别数据错误,并且这些数据错的很奇怪,
对于错误数据,总是错在最低位上,也就是bit0的数据和下一个字节的最高位(bit7)一致,比如,两个连续的数据,0x7e 0x85,那么读回来的数据却成了 0x7f 0x85,又或者两个数据,0x5f 0x75,读回来的数据却成了0x5e 0x75.

对于错误的分析:
由于相同的SPI驱动对于EEPROM能正常工作,所以,驱动本身应该没有什么大问题了。
我尝试着将系统时钟从250MHz降到80MHz,也就是CPI_CLK从1.2MHz降到416KHz,但是还是同样的错误。

请问大侠,这样的错误可能是什么原因引起的?

先谢谢了!
我思,故我在
游客

返回顶部