EDA365电子工程师网

标题: 关于SD卡的一个奇怪问题 [打印本页]

作者: xiaoyu19890210    时间: 2016-7-23 22:43
标题: 关于SD卡的一个奇怪问题
一个新项目中使用的SD卡出现数据写入出错的问题,出现的概率很低,写入几百M数据大概会出现一次。/ y# T6 p( a6 r/ @) p

: e1 T$ N7 L9 }0 b) cSD 时钟为50M,单边采样,对比之前图纸发现SD卡CLK线上增加了一个10pF电容,EMC工程师为了防止EMI超标,建议增加的,所以怀疑CLK信号有问题,测量发现CLK信号除了上升沿较缓外,无其他问题,上升时间大概为5ns,但是建立、保持时间完全满足SD卡协议要求。- D" s+ R1 n8 d' |8 N

9 S9 p2 P- r- x' c然后怀疑会不会是时钟抖动较大,导致某些数据建立保持时间不满足,而在单次波形测量中没有抓到,所以进行时钟抖动测试,测试发现时钟DJ抖动较大,为2ns,到此以为找到了问题原因,但是不放心,还是再确认一把,将CLK频率将为25M,这样就算有抖动,就算时间上升时间较大,建立保持时间也是够够的,但是测试发现写入数据还是会出错。3 U: y8 a  Q4 O

% r; L9 M* I4 L. x" \到此,彻底没有了方向,翻看SD卡协议,发现高速卡对时钟上升时间有要求,要求不能大于3ns,难道是这个原因导致数据写入出错?将10pF电容删除,测试发现CLK上升时间提升至2.8ns,输入写入发现没有再出现之前的错误,测试n遍,写入了几个GB的数据还是没有出现错误。
! A& F- h% H& ~5 Y% B0 e5 A; Y% h' x& K/ B% r$ _4 m3 }
问题来了,难道真的是上升时间不满足导致SD卡数据写入出错??实在是不能理解,建立、保持时间完全满足,单单这个上升时间不满足会导致数据出错??实在不能相信最后的结论,一直认为很多总线中对上升时间做规定,只是为了要满足建立、保持时间,难道CMOS电路内部锁存器神马的对这个时钟上升时间有什么特殊要求?
7 t9 ^# q( ?- ?3 |" H5 }
6 U) T6 X' w. M/ c7 J' W$ l, D恳请大神帮忙解答一下小弟的困惑,万分感谢。@超级狗
- A. m4 W! ]  v4 t' C& \9 [, |. m) ~$ y9 M
( V$ r  O, q- e( N  Q+ X+ u" y
, K0 U: R  _* e' }+ M. |: [9 ~( g
9 i9 N# h8 i/ A

作者: 超級狗    时间: 2016-7-25 21:39
狗然素一位用功的工程師,很常見的問題、但很少人會去深究原因。5 u- h% m; s9 }. y$ U

- w8 l3 \0 v9 Z& n' ^前座的工程師幾個禮拜前剛好也遇到這問題,後來是改主控端 SD 總線的驅動能力Driving Strength )解決。
7 F8 N* j' P- U8 U( n1 c: F
, r. W3 b7 R0 N5 s: w: B1 c( p+ K這個問題的說法有很多,各有其支持的擁護者。講時鐘的上升時間Rising Time)及下降時間Falling Time)造成的也不算錯,嗯插屁NXP)的技術文檔,或許可以給我們一些啟發。
' I  v4 o+ I* w, x/ R
. J  l$ S* D2 R; v9 v/ G6 r& A' a8 Q' L; `

/ _  V( d8 k* e8 x
5 v( l; _, R# d
' A3 o: a9 q1 v5 _/ q) M; b% Y, c6 p4 o

Effect of EMI Filter for SD Card Interface.jpg (72.51 KB, 下载次数: 4)

Effect of EMI Filter for SD Card Interface.jpg

Output and Input Threshold Voltage of SD Card Interface.jpg (50.65 KB, 下载次数: 0)

Output and Input Threshold Voltage of SD Card Interface.jpg

作者: xiaoyu19890210    时间: 2016-7-26 21:00
超級狗 发表于 2016-7-25 21:39+ p+ r$ R* y5 q- }, S1 I2 ?( C
狗然素一位用功的工程師,很常見的問題、但很少人會去深究原因。
9 U( ^1 r/ C3 z7 _4 p! l' B" A# p5 m+ @7 C
前座的工程師幾個禮拜前剛好也遇到這問 ...

- o, s1 ~$ p) ?- T( P狗版主的意思是SD卡端信号幅值不满足SD卡的最小输入阈值要求?. }* w$ U/ d  M, N% U7 R

作者: myl593799546    时间: 2016-7-28 17:33
也遇到这个问题过,但不是说读不了数据,而是上升时间超标,后来也是通过修改驱动能力解决的
作者: liaotingkang1    时间: 2016-7-30 00:38
以前也见这样的问题,后来排查发现SD 的数据线和CLK 的ESD (体电容太大)贴错啦。
作者: CLT988    时间: 2016-8-4 16:40

作者: sinky    时间: 2016-8-8 19:55
没见过这样的问题,收藏一下。
作者: jibuzhuw2012    时间: 2016-8-10 18:53
楼主问题解决了请反馈一下解决办法哟
作者: liangjiatian    时间: 2016-8-27 10:21
写入错误 我也遇到过 CLK 并接电容 不能放  还有走线距离长度 也有影响      
1 {+ H; Q9 j6 l最后想问问 @超级狗   SD卡走线 到底要不要走等长之类的
作者: newcomsky    时间: 2016-9-15 23:20
mark
作者: xiaodun123    时间: 2017-10-25 09:31
和CLK的时序确实有很大的关系




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2