EDA365电子工程师网

标题: SD-uboot隔夜10%不开机,1年后90%不开机的问题补充(问题已定位) [打印本页]

作者: meng110928    时间: 2017-8-7 16:31
标题: SD-uboot隔夜10%不开机,1年后90%不开机的问题补充(问题已定位)
本帖最后由 meng110928 于 2017-8-8 12:52 编辑 , e8 h- p9 L7 h1 K0 n4 R
* V$ N) _3 j, t7 q3 W
楼主大前年画了一个PCB,出现怪异情况。( P/ E& J" J5 f: @! }- K
1:程序全放在TF卡上,隔夜有10%开机困难,多次摁开机键才正常开机;放一两年后充满电90%以上不开机;) K+ ]% _  C" A5 @8 y
2:电路是  PMOS软开机电路+ARM9内核主控+SDRAM+SD卡+SPI外围+ADC按键 等;: ^8 U4 s7 [, K- W* y2 T
3:SD卡单独LDO供电,上电先于主控,纹波可控,当时怀疑此处问题,加胆电容无改善,排除此处问题;
# q  E6 L; ?- a$ Z$ M4:走线长度5cm内,等长,过冲振铃不超过0.5V,TF卡串22R电阻+上拉电阻直通主控,;6 g5 x& V7 e* G  i6 N
5:时序正常,时钟20Mhz,TF端测量,读取时data较CLK延时5ns-9ns,卡的一致性较差,但是符合SD2.0协议14ns以内,信号维持时间符合SD2.0协议;( o- d+ r4 ^% L' o
6:板子是锂电池供电,开机键电路比较经典常用了,摁开机键拉低PMOS,然后3.7V锂电接入各LDO供电,主控用AAT3524复位,开机电路如下图,
! M& X0 U; a- r7:出错时,主控串口有打印信息,如最下;7 S/ o8 R, z8 i2 z4 c- `+ G- e
8:用逻辑分析仪抓了开机时的SD数据,查看软件及抓包见附件。  查看软件  链接:http://pan.baidu.com/s/1jIJwMFG 密码:8awp9:下面两个链接,为关联贴。+ C! a, l+ T& b- w- J& L3 \
10:设备类似一个儿童学习机,加一个SPI boot,开机再无任何问题。所以其他部分问题应该可以排除,问题就在SD2.0这里。
$ s5 W# [8 r1 }2 Y+ X) {) [; [+ t5 |11:曾经将设备通过USB连接电脑,反复从设备TF卡里拷贝内容到电脑,重复上百次,哈希值未出现变异,无错误出现。2 N. M  F- R2 s7 q5 \% w; C
12:以上供参考,这问题悬疑几年了,最近空闲特意测试跟进,顺便发出来看有没有灵机一动的大师,把此问题破解。7 m7 d) U( T' w" x* N
13:主控原厂当年不太配合,负责人目前没换,所以这问题不打算再找原厂。
9 v" k  o* X4 D8 m- h& g3 z# Z2 k/ I: X6 ?" Z
https://www.eda365.com/thread-150215-1-1.html
  K, g9 W# G' zhttps://www.eda365.com/thread-117688-1-1.html5 f5 }# ~' N  _  s

0 O4 Q' v3 f$ F: W  J1 p  M* v4 n 抓包数据.rar (4.14 MB, 下载次数: 0) # N  T3 I$ v+ i/ M* n$ Z8 ~

0 Y9 f; X/ V5 t8 |" R8 ^6 D0 u' ^0 N+ i) y, P( O
) q) c+ S$ R# P) B+ K& b( v% g

  ?! Q; c  j$ L  f7 b* d8 y; mload bios 0x30500000...  k9 \1 T7 t! W, @
read sector:128 fail, try to backup sector:1986) s) J( u4 h, u# u
R F' n; H! l+ D- |
read backup sector:1986 fail
* M( w" t& x  hing
& E' {; N% {  t- h- ]4 N: N2 o7 P4 t* ]5 \1 e
......................................................................................分隔线..........................................................................................................................
. R& A; |& @5 _9 l8 ?* I& ~( t, G7 I; g4 Z3 x* K# q

9 u, }  u# B& c9 H# `$ _  g* e问题应当已经定位,是主控的操作不符合SD2.0协议
/ S5 ]+ m% ]; [/ i/ h3 G' P& e. N: s; m9 ]+ F' R
对比NG采样数据和OK采样数据发现,在NG机启动过程中,Host 下达 cmd18, 但并未使用 cmd12 去中止, 却又下达另一个 cmd18,    [color=inherit !important]造成当前异常, 可能造成 SD 出现无法预期之错误;
7 O2 R7 |( ^% H* c8 [
  [- \* w+ n+ H+ i. f# B3 U% b' o  a% O/ _  m* K

8 @3 Y. q# q1 y! X  |0 e9 b; O9 x, i! D# C
7 I2 t( y) p3 g2 k2 O9 D3 m. n
下图抓取的NG采样数据,02紫色为CMD,03红色为CLK,其他data。深色部分为第一个CMD18命令(568ms),右侧为第二第三。第一个CMD18后,TF数据(兰色)吐出,但未使用 cmd12 去中止, 却又下达另一个 cmd18,致使TF异常,所以第二第三CMD18后,TF再无数据吐出,data为直线! p; T, n# z# y+ Y, e9 G

5 c, l: o) s9 F( U% I
2 b- T' C% M% {9 w: z下图抓取的OK采样数据,02紫色为CMD,03红色为CLK,其他为数据。对应时间轴,495ms出现CMD18开始连续读取数据,TF吐出数据(兰色);517ms  CMD12>命令CMD18,读正常;539ms   CMD12>命令CMD18 读正常...... 最后正常开机。$ h( M" L5 M( B0 x9 o* D+ l7 s% D
& j* L0 N( }6 U, r% L
/ c* i/ ~% N" W5 r9 e

/ k" r+ q0 J& m- A
  T8 B7 Q, U6 i. d* U/ Q2 A2 z" J% w" l5 W

' O- v. `6 }7 Y$ [3 T. W2 o

LA27836a逻辑分析仪.part3.rar

5.75 MB, 下载次数: 0, 下载积分: 威望 -5


作者: zxk    时间: 2017-8-7 17:25
楼主你好,问一句题外话。你一直怀疑的是你的电路的各种问题,有没有怀疑过是卡的问题。我公司的几款产品也用SD和TF卡。电路上都很正常,用的普通的卡,之前总是出问题。后来换成了工业级的卡。价格贵了很多,普通的2G在几十块。而工业级的2G-4G,价格在300人民币左右。但是换了卡以后就再也不出问题了。
作者: freebigfish    时间: 2017-8-8 08:40
同问,原先我也碰到了SD卡很容易就坏的问题。
作者: 大山    时间: 2017-8-8 09:44
有几个问题:: r% U; T3 `4 c+ E5 v5 n
SD卡有没有接触不良的可能性?. B6 t2 b! k4 W
SD卡上电后的工作电流有没有关注过?4 q5 I- D7 i4 h
用单片机来使能SD的供电,有没有效果?
作者: meng110928    时间: 2017-8-8 12:50
我已经更新了1楼,有新内容,可能是主控操作违反了SD2.0协议,造成 tf 卡状态异常
作者: zxk    时间: 2017-8-8 16:48
大山 发表于 2017-8-8 09:44
4 n4 m, S1 p! ^& q6 v; G: c; a有几个问题:
! \0 _# W( f+ x) X# ?SD卡有没有接触不良的可能性?, Q& u; ~- A" W, h' F
SD卡上电后的工作电流有没有关注过?
3 M# o5 ?9 O9 T$ C1 @
不是因为我们老板狠,是因为我们是工业设备,在线24小时,一出问题,就有环保局要进行罚款。所以换成了工业级的,但是的确遇到过了SD卡的问题,之前遇到的问题是SD卡在线运行时,偶尔出现问题,但是企业和环保局是接受不了的。通过对硬件、软件多方查找,最后只能怀疑到了SD卡质量的问题上。但是更换后的确没有出现过问题了。$ @! E  p/ Z) l# u

作者: freebigfish    时间: 2017-8-8 18:15
学习了,涨姿势了
作者: newcomsky    时间: 2017-8-10 22:36
mark
作者: wangqianjing    时间: 2017-8-14 11:34
这种问题基本可以排除硬件电路的问题。主要是SD卡驱动部分的问题
作者: qiantan    时间: 2017-9-6 14:04
meng110928 发表于 2017-8-8 12:503 F  \' i5 l! F+ x8 D- |
我已经更新了1楼,有新内容,可能是主控操作违反了SD2.0协议,造成 tf 卡状态异常
! G/ X5 u, R5 Z& |
LZ你这个问题有最终结论了么? ! Y8 d9 }( Y5 q) F0 t
抓取到的现象是可以解释异常现象,但同样的主控程序,为什么有时候发CMD12,有时候不发CMD12呢?! B: ?- |' Y) t6 d( M; K: U
- [$ j, j$ f5 U5 C  }  z





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