S3C6410的SD卡问题,不能从SD卡启动???

时间:2023-01-10 12:23:59
请教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本身要求高?适应性不好?还是其他问题?

请教高手,感激不尽!!!

21 个解决方案

#1


通讯信号超过10M的就完全可以算高频了。这类信号我们一般要求相差在100mil之内,大概2mm左右,布板时会优先走这类信号。


既然从NAND启动,那就正式加载系统,在系统内看一下是否能识别T卡。如果系统中也无法识别,而SD的驱动确保无误的话,那就是怀疑走线问题被证实了。
如果系统能识别T卡,那证明电路没问题,查找方向就重定。

#2


既然从NAND启动,那就正式加载系统,在系统内看一下是否能识别T卡。如果系统中也无法识别,而SD的驱动确保无误的话,那就是怀疑走线问题被证实了。 
如果系统能识别T卡,那证明电路没问题,查找方向就重定。


从NAND启动后,进入系统,能够识别T卡,这个识别是通过DET脚侦测到的吧!而且能够点击看到T卡里面的内容,不过有些T卡无法读到,有些可以看到里面的数据,但是在T卡中无法正常复制,建文件,读数据等,只能看到T卡里面的内容而无法操作,而且插了T卡了速度变得异常的慢。

对比第一次打的正常的板子,是没有这种问题的。

我觉得这样只能证明电路设计没有问题,不能排除走线问题吧!

#3


T卡是什么卡?

#4


引用 3 楼 xqhrs232 的回复:
T卡是什么卡?


TF卡吧

#5


T卡就是TF卡,MicroSD卡。

“从NAND启动后,进入系统,能够识别T卡,这个识别是通过DET脚侦测到的吧”,T卡因体积小,卡座一般不带侦测脚,除非支持热插拔。
能否识别T卡,跟是否有侦测脚DET无关的。

之前所谓的“识别SD卡”是指能加载SD卡驱动,并识别SD卡,能读写SD卡内的文件。

看你的描述应该是可以支持识别了。说明电路是没问题的,或者至少没有大问题。

你又提到:有的卡能认,有的卡不能认。那就看“不能认”的卡是否是行货正品卡,如果不是,那基本可以认为是卡的问题。如果是,那就说明电路虽然没有大问题,但还是有点小问题的,比如冗余性不够好。

你的boot中用的SPI模式,是否是6410限定的?能否改成SDIO模式呢?
或者从NAND启动时,将SD卡的驱动改成SPI模式,看是否还能正确识别。

#6


我们使用的卡座确实是带侦测脚的,而且6410有个侦测IO口。

boot是先SPI初始化,此时可以量到CLK是175KHZ

然后将T卡上烧的启动代码拷到DRAM,此时也可以量到CLK是11MHZ

这两个过程都是6410里面的IROM里的程序控制的,外面无法控制。

跑系统后读T卡的数据相当的慢,而且不能正常的复制,剪切等

卡都是行货,两块板子一个就能读,能启动,一个就不能启动,电路都是一样的

#7


这个有实力加精,MARK一下!

#8


用NAND启动系统后读T卡数据相当慢?也就是说能正确读出,只是慢。

这种情况下看驱动的信息,是否有多次错误然后重新读取的纠错过程。如果都是一次性顺利读出,就不用担心电路问题了。
至于这种情况下无法复制、剪切,那应该是系统的问题了,与T卡无关。

如果有多次重复读取以纠错的现象,那就是电路的确有问题。

SPI模式使用的是CLK,CMD,DATA0,你可以尝试量这几个信号的波形看看。
用双通道示波器,看看clk和data之间的时间差。
将两个板子进行对比,看看这个时间差到底有多大差别。

只有在一切的可能性都排除的情况下,才需要怀疑PCB布线引起的问题。

#9


问题已经解决了,感谢水淹大侠的指教!
S3C6410的SD卡问题,不能从SD卡启动???
在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。
换来的是两个星期调试的惨痛教训。
大家以后在设计图纸时,最小系统在改值时一定得想清楚,能不能改,改时一定得亲自试一下!

#10


我现在的6410从NAND FLASH启动,加载EBOOT老是报MECC的错误,为什么?老是在0X86这个固定页报错.

#11


楼主你好!
    我想问下6410从TF卡启动,需要修改那些内容啊,能否指点一下啊,老大逼得急!!!!
    如果方便可以发送你修改的部分到我邮箱: lh806732@163.com
先谢谢了啊!!!!

#12


宝贵经验

#13


做个记号。我的6410也不能从SD卡启动,不知道是不是LZ的这个原因。

#14


问题已经解决了,感谢水淹大侠的指教! 
 
在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。 
换来的是两个星期调试的惨痛教训。 
大家以后在设计图纸时,最小系统在改值时一定得想清楚,能不能改,改时一定得亲自试一下! 


LZ,我现在也遇到了与你一样的问题,只是我的CPU是2450。

[color=#FF0000]在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。 [/color]

LZ这句话我不明白,你是改成10k以后就行了,还是改成多少K才行的。我现在下拉电阻为100k,起来来,请指教!

#15


好帖子~

#16


楼主好,我现在也是用SD卡烧写不成功,楼主能说清楚点吗?R19是哪个电阻?TF卡不是只有几个上拉电阻吗?应该用多少阻值的?谢谢~~

#17


我也想知道是哪个电阻啊~~~~

#18


曾经出现过楼主所遇到的问题,用楼主的方法解决了。
注:我是按三星那个硬件设计的参加手册把XEFFVDD参加10K电阻接地,这说明参考手册也是有问题的。

不过,现在又遇到了这个问题,现象跟楼主碰到的是一样的。
我的XEFFVDD是通过0欧电阻接地的,原来是好的,只是为了证明XEFFVDD悬空是否会出现问题,我曾经把0欧电阻去掉,结果再焊回去,系统不能从SD卡引导了,中间我只是用万用表测量了一下XEFFVDD的对的电阻,大约为48k,并且上电,结果就导致了这样严重的后果,不知道有没有大侠碰到这样奇怪的问题?

#19


同样问题,求证一下!是哪个电阻???下拉多少?10K?0?

#20


楼主的意思是XEFFVDD管脚不能用10K电阻下拉,要通过0欧电阻直接接地。就是楼主所说的R19!我是用100K下拉也启动不了,用0欧姆电阻就可以了。

#21


看看该咋个处理呢

#1


通讯信号超过10M的就完全可以算高频了。这类信号我们一般要求相差在100mil之内,大概2mm左右,布板时会优先走这类信号。


既然从NAND启动,那就正式加载系统,在系统内看一下是否能识别T卡。如果系统中也无法识别,而SD的驱动确保无误的话,那就是怀疑走线问题被证实了。
如果系统能识别T卡,那证明电路没问题,查找方向就重定。

#2


既然从NAND启动,那就正式加载系统,在系统内看一下是否能识别T卡。如果系统中也无法识别,而SD的驱动确保无误的话,那就是怀疑走线问题被证实了。 
如果系统能识别T卡,那证明电路没问题,查找方向就重定。


从NAND启动后,进入系统,能够识别T卡,这个识别是通过DET脚侦测到的吧!而且能够点击看到T卡里面的内容,不过有些T卡无法读到,有些可以看到里面的数据,但是在T卡中无法正常复制,建文件,读数据等,只能看到T卡里面的内容而无法操作,而且插了T卡了速度变得异常的慢。

对比第一次打的正常的板子,是没有这种问题的。

我觉得这样只能证明电路设计没有问题,不能排除走线问题吧!

#3


T卡是什么卡?

#4


引用 3 楼 xqhrs232 的回复:
T卡是什么卡?


TF卡吧

#5


T卡就是TF卡,MicroSD卡。

“从NAND启动后,进入系统,能够识别T卡,这个识别是通过DET脚侦测到的吧”,T卡因体积小,卡座一般不带侦测脚,除非支持热插拔。
能否识别T卡,跟是否有侦测脚DET无关的。

之前所谓的“识别SD卡”是指能加载SD卡驱动,并识别SD卡,能读写SD卡内的文件。

看你的描述应该是可以支持识别了。说明电路是没问题的,或者至少没有大问题。

你又提到:有的卡能认,有的卡不能认。那就看“不能认”的卡是否是行货正品卡,如果不是,那基本可以认为是卡的问题。如果是,那就说明电路虽然没有大问题,但还是有点小问题的,比如冗余性不够好。

你的boot中用的SPI模式,是否是6410限定的?能否改成SDIO模式呢?
或者从NAND启动时,将SD卡的驱动改成SPI模式,看是否还能正确识别。

#6


我们使用的卡座确实是带侦测脚的,而且6410有个侦测IO口。

boot是先SPI初始化,此时可以量到CLK是175KHZ

然后将T卡上烧的启动代码拷到DRAM,此时也可以量到CLK是11MHZ

这两个过程都是6410里面的IROM里的程序控制的,外面无法控制。

跑系统后读T卡的数据相当的慢,而且不能正常的复制,剪切等

卡都是行货,两块板子一个就能读,能启动,一个就不能启动,电路都是一样的

#7


这个有实力加精,MARK一下!

#8


用NAND启动系统后读T卡数据相当慢?也就是说能正确读出,只是慢。

这种情况下看驱动的信息,是否有多次错误然后重新读取的纠错过程。如果都是一次性顺利读出,就不用担心电路问题了。
至于这种情况下无法复制、剪切,那应该是系统的问题了,与T卡无关。

如果有多次重复读取以纠错的现象,那就是电路的确有问题。

SPI模式使用的是CLK,CMD,DATA0,你可以尝试量这几个信号的波形看看。
用双通道示波器,看看clk和data之间的时间差。
将两个板子进行对比,看看这个时间差到底有多大差别。

只有在一切的可能性都排除的情况下,才需要怀疑PCB布线引起的问题。

#9


问题已经解决了,感谢水淹大侠的指教!
S3C6410的SD卡问题,不能从SD卡启动???
在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。
换来的是两个星期调试的惨痛教训。
大家以后在设计图纸时,最小系统在改值时一定得想清楚,能不能改,改时一定得亲自试一下!

#10


我现在的6410从NAND FLASH启动,加载EBOOT老是报MECC的错误,为什么?老是在0X86这个固定页报错.

#11


楼主你好!
    我想问下6410从TF卡启动,需要修改那些内容啊,能否指点一下啊,老大逼得急!!!!
    如果方便可以发送你修改的部分到我邮箱: lh806732@163.com
先谢谢了啊!!!!

#12


宝贵经验

#13


做个记号。我的6410也不能从SD卡启动,不知道是不是LZ的这个原因。

#14


问题已经解决了,感谢水淹大侠的指教! 
 
在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。 
换来的是两个星期调试的惨痛教训。 
大家以后在设计图纸时,最小系统在改值时一定得想清楚,能不能改,改时一定得亲自试一下! 


LZ,我现在也遇到了与你一样的问题,只是我的CPU是2450。

[color=#FF0000]在设计原理图时考虑到省电,将这里的R19(下拉)换成10K电阻了。 [/color]

LZ这句话我不明白,你是改成10k以后就行了,还是改成多少K才行的。我现在下拉电阻为100k,起来来,请指教!

#15


好帖子~

#16


楼主好,我现在也是用SD卡烧写不成功,楼主能说清楚点吗?R19是哪个电阻?TF卡不是只有几个上拉电阻吗?应该用多少阻值的?谢谢~~

#17


我也想知道是哪个电阻啊~~~~

#18


曾经出现过楼主所遇到的问题,用楼主的方法解决了。
注:我是按三星那个硬件设计的参加手册把XEFFVDD参加10K电阻接地,这说明参考手册也是有问题的。

不过,现在又遇到了这个问题,现象跟楼主碰到的是一样的。
我的XEFFVDD是通过0欧电阻接地的,原来是好的,只是为了证明XEFFVDD悬空是否会出现问题,我曾经把0欧电阻去掉,结果再焊回去,系统不能从SD卡引导了,中间我只是用万用表测量了一下XEFFVDD的对的电阻,大约为48k,并且上电,结果就导致了这样严重的后果,不知道有没有大侠碰到这样奇怪的问题?

#19


同样问题,求证一下!是哪个电阻???下拉多少?10K?0?

#20


楼主的意思是XEFFVDD管脚不能用10K电阻下拉,要通过0欧电阻直接接地。就是楼主所说的R19!我是用100K下拉也启动不了,用0欧姆电阻就可以了。

#21


看看该咋个处理呢