TI中文支持网
TI专业的中文技术问题搜集分享网站

OMAPL138 SD卡不能识别的问题。@Tony Tang

TI专家,各位朋友:

      做了两种OMAPL138的板子,SD卡部分的电路是一样的,ARM端同样的内核,同样的驱动,Linux下A板子可以正常识别读取SD卡,B板子全部不行。

SD卡的原理图如下:


SD卡的四根数据线(SD0_D0~SD0_D3)、SD0_CLK、SD0_CMD都是直接和OMAPL138相连的,我感觉没什么可调试的。

疑惑#1:SD卡部分的电路,PCB设计以及制版的时候需要做什么阻抗匹配吗,或者布线的时候需要进行其他的考虑吗?

疑惑#2:插槽的引脚C/D不是用来检测SD看是否插拔的吗?SD卡控制器却没有相应的引脚,OMAPL138是怎么检测SD是否插拔的呢?

最后,请Tony Tang以及各位朋友,帮忙分析下问题可能出在哪里,现在没有什么调试思路了,谢谢!

 

Tony Tang:

Wei,

#1. B板子试了几块?

#2. SD卡的检测一般是将C/D脚接到GPIO,通过检测GPIO的中断或者状态来判断卡的拨插。

#3. 有示波器的话,测量一下信号是否正常。

#4. 用BSL里的裸跑程序跟踪调试一下,看问题出在哪。

wei lee1:

回复 Tony Tang:

Tony Tang,

#1:B板子试了5块,全部不行。

#2:SD卡插进去将C/D和地短接,通过电平的变化可以触发一个GPIO中断来判断插拔,但是我电路上和驱动都没对这个做处理,A板卡依然是可以识别到插拔的,经测试发现,SD卡插入瞬间,DAT3引脚的电平有变化,是不是通过DAT3引脚也可以识别SD卡的插拔?

#3:正常的A板卡,SD卡插入前CLK=150M/0xFF,大约292.9K Hz,测试SD卡的控制器的分频系数应该是最大的0xFF,插入SD卡后,CLK变为37.5M Hz,同时DAT3引脚电平有变化。        不正常的B板卡, SD卡插入前CLK=150M/0xFF,大约292.9K Hz,插入SD卡后,CLK时钟没变,DAT3引脚电平没变化。

#4:在DSP下使用BSL中的裸跑例程, 问题很大,在Linux能正常使用SD卡的板子,裸跑就不行,且不说自己做的板子,就是SEED的板子,用裸跑也测试不过。

wei lee1:

回复 Tony Tang:

关于#3中的分频我描述的有点错误,应该是SD0_CLK=150M*1000/2*(0xFF+1)=292.96K Hz

Tony Tang:

回复 wei lee1:

wei lee1#4:在DSP下使用BSL中的裸跑例程, 问题很大,在Linux能正常使用SD卡的板子,裸跑就不行,且不说自己做的板子,就是SEED的板子,用裸跑也测试不过。

裸跑不行,应该是PINMUX设的不对。而且L138有两个SD接口,注意有没有弄错口。

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138 SD卡不能识别的问题。@Tony Tang
分享到: 更多 (0)