|
EDA365欢迎您!
您需要 登录 才可以下载或查看,没有帐号?注册
x
一个新项目中使用的SD卡出现数据写入出错的问题,出现的概率很低,写入几百M数据大概会出现一次。 J1 D7 V0 K9 z+ I3 b
t. P; K5 G' t& i1 \SD 时钟为50M,单边采样,对比之前图纸发现SD卡CLK线上增加了一个10pF电容,EMC工程师为了防止EMI超标,建议增加的,所以怀疑CLK信号有问题,测量发现CLK信号除了上升沿较缓外,无其他问题,上升时间大概为5ns,但是建立、保持时间完全满足SD卡协议要求。9 \* w/ H0 d, ~
+ D* k, c1 ]0 X0 Q% N0 ]然后怀疑会不会是时钟抖动较大,导致某些数据建立保持时间不满足,而在单次波形测量中没有抓到,所以进行时钟抖动测试,测试发现时钟DJ抖动较大,为2ns,到此以为找到了问题原因,但是不放心,还是再确认一把,将CLK频率将为25M,这样就算有抖动,就算时间上升时间较大,建立保持时间也是够够的,但是测试发现写入数据还是会出错。# r- S ]$ @1 q s
( j' N0 v2 A4 Z6 r9 a/ C到此,彻底没有了方向,翻看SD卡协议,发现高速卡对时钟上升时间有要求,要求不能大于3ns,难道是这个原因导致数据写入出错?将10pF电容删除,测试发现CLK上升时间提升至2.8ns,输入写入发现没有再出现之前的错误,测试n遍,写入了几个GB的数据还是没有出现错误。6 V! e0 Z) l5 E" k6 \& Z
3 C. W* k5 R. I9 ]8 X问题来了,难道真的是上升时间不满足导致SD卡数据写入出错??实在是不能理解,建立、保持时间完全满足,单单这个上升时间不满足会导致数据出错??实在不能相信最后的结论,一直认为很多总线中对上升时间做规定,只是为了要满足建立、保持时间,难道CMOS电路内部锁存器神马的对这个时钟上升时间有什么特殊要求?
& Q* J5 |$ n) C/ o7 v& W+ e: C4 \9 q+ R1 H1 T0 X- b" f
恳请大神帮忙解答一下小弟的困惑,万分感谢。@超级狗
' t: @# I+ k. B. Y3 ^3 Y9 I/ d9 q: Z% F% _: d
1 U( S: K* e1 E# f, Y
0 Y* P9 r/ L0 s* Y% e
) Q: o5 F9 A3 n$ ^0 ]. F, P |
|