S3C6410的SD卡问题,不能从SD卡启动???
请教shuiyan专家,以及各位同行前辈高手:
最近在调三星的6410处理器,遇到一个非常怪异的问题,一个星期了仍无一个完整的结果
我们先后打了两次板,第一次算是个开发板吧,只为验证功能;
第二次打的是生产板。
两个板的SD卡电路完全相同,6410里面SD卡有两个通道,这里都选择通道1作为SD卡启动或是读写T卡内容作为外扩存储。
第一个板SD卡布线做了等长处理,第二个板没有做,量了下,CLK和SDDATA3相对较其他短10到15个MM的样子。
第一个板能够从T卡启动,6410最小系统完全正常;
第二个板不能从T卡启动,可以从NAND启动,说明DRAM和FLASH这一路是正常的。
从T卡启动的配置可以肯定是正确的,走动电流达到了100MA,6410的IROM程序已经跑起来了,
在T卡的CLK上之前有175KHZ的方波,之后跳变成11.25M的方波,这里应该说明处理器对T卡的初始化完成了(SPI模式),
随后进入到了SDIO模式,准备将T卡上烧录的启动代码拷备到DRAM中。如果启动代码已经拷过去,首先电流得再增加大概
一百个毫安,因为DRAM已经起来了,程序开始运行了,而且启动代码里面有串口打印信息,但是电流没上去仍然停留在100MA,
串口信息也没有。相比第一次打的板以及开发板,都正常启动了并有串口信息输出。
难道这第二块板不能从T卡启动是因为SD卡走线的问题?没有做等长处理?
但是SD卡速度也就十几M,算不上什么高频吧?是6410本身要求高?适应性不好?还是其他问题?
请教高手,感激不尽!!!
[解决办法]
用NAND启动系统后读T卡数据相当慢?也就是说能正确读出,只是慢。
这种情况下看驱动的信息,是否有多次错误然后重新读取的纠错过程。如果都是一次性顺利读出,就不用担心电路问题了。
至于这种情况下无法复制、剪切,那应该是系统的问题了,与T卡无关。
如果有多次重复读取以纠错的现象,那就是电路的确有问题。
SPI模式使用的是CLK,CMD,DATA0,你可以尝试量这几个信号的波形看看。
用双通道示波器,看看clk和data之间的时间差。
将两个板子进行对比,看看这个时间差到底有多大差别。
只有在一切的可能性都排除的情况下,才需要怀疑PCB布线引起的问题。
[解决办法]
问题已经解决了,感谢水淹大侠的指教!
在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。
换来的是两个星期调试的惨痛教训。
大家以后在设计图纸时,最小系统在改值时一定得想清楚,能不能改,改时一定得亲自试一下!