找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 479|回复: 11
打印 上一主题 下一主题

SD-uboot隔夜10%不开机,1年后90%不开机的问题补充(问题已定位)

[复制链接]

99

主题

668

帖子

3042

积分

五级会员(50)

Rank: 5

积分
3042
跳转到指定楼层
1#
发表于 2017-8-7 16:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 meng110928 于 2017-8-8 12:52 编辑
6 Y) `9 _1 o5 |2 K& D- J# v8 e
9 k2 F) `& V& j6 `$ t7 L- ?楼主大前年画了一个PCB,出现怪异情况。
: `8 c6 ?/ z  E  N0 m) s# }, [- m1:程序全放在TF卡上,隔夜有10%开机困难,多次摁开机键才正常开机;放一两年后充满电90%以上不开机;
0 _8 U% _) Y9 ]! X" m" B, O9 P2:电路是  PMOS软开机电路+ARM9内核主控+SDRAM+SD卡+SPI外围+ADC按键 等;/ C: Z1 U& q8 ]$ E& f; h
3:SD卡单独LDO供电,上电先于主控,纹波可控,当时怀疑此处问题,加胆电容无改善,排除此处问题;
! \8 i2 }; ^3 q% ~- x, v$ [3 ~4:走线长度5cm内,等长,过冲振铃不超过0.5V,TF卡串22R电阻+上拉电阻直通主控,;0 {! O- ~' ]# J
5:时序正常,时钟20Mhz,TF端测量,读取时data较CLK延时5ns-9ns,卡的一致性较差,但是符合SD2.0协议14ns以内,信号维持时间符合SD2.0协议;, ^# e/ H/ U9 E2 e% Y9 H& I. z
6:板子是锂电池供电,开机键电路比较经典常用了,摁开机键拉低PMOS,然后3.7V锂电接入各LDO供电,主控用AAT3524复位,开机电路如下图,
8 Q7 T- \3 _5 m% j: B( I7:出错时,主控串口有打印信息,如最下;
% g1 r0 V" ^5 V! N8 v8:用逻辑分析仪抓了开机时的SD数据,查看软件及抓包见附件。  查看软件  链接:http://pan.baidu.com/s/1jIJwMFG 密码:8awp9:下面两个链接,为关联贴。
2 K( Q, u: h& z* `( X. `: a10:设备类似一个儿童学习机,加一个SPI boot,开机再无任何问题。所以其他部分问题应该可以排除,问题就在SD2.0这里。' ?' b4 K: g8 i" _( {# b5 r* h3 z
11:曾经将设备通过USB连接电脑,反复从设备TF卡里拷贝内容到电脑,重复上百次,哈希值未出现变异,无错误出现。
( n4 R2 q/ Y. }% R* z/ U# k; I9 W  ~12:以上供参考,这问题悬疑几年了,最近空闲特意测试跟进,顺便发出来看有没有灵机一动的大师,把此问题破解。8 e* I. V( l$ R+ {; h' A
13:主控原厂当年不太配合,负责人目前没换,所以这问题不打算再找原厂。
9 e1 l# x! P* G; j4 M. Z# W3 Y2 g. {6 y+ l! j% u
https://www.eda365.com/thread-150215-1-1.html( @+ P$ D7 f. K6 ]# O
https://www.eda365.com/thread-117688-1-1.html  T  G7 F; v% E+ G9 X

8 O  u# Y4 @# g) G 抓包数据.rar (4.14 MB, 下载次数: 0)
6 O4 z$ B$ X9 R0 H6 l7 ^5 ?' U- D' W- j- c6 ~% R7 `1 {

! D) k' c& s; T
1 y4 `' N' w" i  }( Z1 e/ a# n9 b
. m( T+ Y+ {3 }& w7 ?! t; j1 Jload bios 0x30500000...
/ Q* x# s# n% \1 n) C/ x: xread sector:128 fail, try to backup sector:1986
* u5 q! x  P% u6 c! u/ {R F( J/ y4 q( N* u) y: d
read backup sector:1986 fail
( r, |$ k8 D) o) ring
; h+ [( r9 l$ t3 d' F  v7 p6 d! Y% A: t$ K; r2 D
......................................................................................分隔线..........................................................................................................................  O2 A3 q( i  Z/ z; v
& _% `4 Y3 g( A. o3 N

0 [" u. B3 d# ?* Z% v% Q问题应当已经定位,是主控的操作不符合SD2.0协议+ A) u/ A! _6 a# z+ z. h+ B

  K0 k' }/ [/ x. B7 Z  i( v对比NG采样数据和OK采样数据发现,在NG机启动过程中,Host 下达 cmd18, 但并未使用 cmd12 去中止, 却又下达另一个 cmd18,    [color=inherit !important]造成当前异常, 可能造成 SD 出现无法预期之错误;  R2 K2 `& K/ c8 h* Z% W: n- u3 T' l
    ! b9 s" C, N6 k6 V* c5 J' S
    . U& E, t7 M4 c" C/ X; i: `1 y7 }. x- T
  • SD2.0协议第18页
    : X* r! V7 S5 q/ j* C# W

    4 u: O3 w5 v& y6 m  r# r
  • [color=inherit !important]READ_MULTIPLE_BLOCK(CMD18) 代表读取多个连续的块。块会连续的传输, 直到
    , y2 c/ t0 i7 N& `2 D6 I: B1 f
  • [color=inherit !important]STOP_TRANSMISSON(CMD12)命令发出。因为连续数据传输,停止命令会有些执行延迟。数据
  • [color=inherit !important]传输会在停止命令的结束位发送之后停止。
  • CMD12 STOP_TRANSMISSION  Mandatory /* 停止多块传输操作 */
  • CMD17 READ_SINGLE_BLOCK  Mandatory /* 使SD卡进入传输状态,读取单个块 */
  • CMD18 READ_MULTIPLE_BLOCK Mandatory /* 使SD卡进入传输状态,读取多个块,直到收到CMD12为止 *( M+ D" d1 y4 o4 U
6 j" @, ]* m7 }3 \$ @  z

. e2 s# T& n" X8 k: I( @4 }: s, b6 [

7 c: M' l8 w+ j- X; G' b  f0 r7 E5 m6 `9 J8 F
下图抓取的NG采样数据,02紫色为CMD,03红色为CLK,其他data。深色部分为第一个CMD18命令(568ms),右侧为第二第三。第一个CMD18后,TF数据(兰色)吐出,但未使用 cmd12 去中止, 却又下达另一个 cmd18,致使TF异常,所以第二第三CMD18后,TF再无数据吐出,data为直线
6 I& V0 G# @/ @$ {5 z
0 o5 w  ~" l& M7 }" Q2 [/ r9 b: y3 i
下图抓取的OK采样数据,02紫色为CMD,03红色为CLK,其他为数据。对应时间轴,495ms出现CMD18开始连续读取数据,TF吐出数据(兰色);517ms  CMD12>命令CMD18,读正常;539ms   CMD12>命令CMD18 读正常...... 最后正常开机。5 a5 e+ f" @! Q4 s
& L8 b) h  i7 s9 \2 ?2 P4 p
# L8 N+ p( P& k8 d/ @
$ Y$ o0 t! I6 N3 N; s+ i+ j) L. j
8 F3 b3 u/ F1 `6 ^8 ^7 a

4 B/ Q" C9 h& n: L8 ^- m! q+ G* M  y" L* t" J

LA27836a逻辑分析仪.part3.rar

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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

3

主题

115

帖子

593

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
593
2#
发表于 2017-8-7 17:25 | 只看该作者
楼主你好,问一句题外话。你一直怀疑的是你的电路的各种问题,有没有怀疑过是卡的问题。我公司的几款产品也用SD和TF卡。电路上都很正常,用的普通的卡,之前总是出问题。后来换成了工业级的卡。价格贵了很多,普通的2G在几十块。而工业级的2G-4G,价格在300人民币左右。但是换了卡以后就再也不出问题了。

点评

支持!: 5.0
支持!: 5
你们老板够狠,直接上工业卡,这价格抵得上我这边两套硬件成本了。卡买的三星中性卡,除了有5-9ns延时,没发现啥问题。  发表于 2017-8-8 12:41

54

主题

292

帖子

2282

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2282
3#
发表于 2017-8-8 08:40 | 只看该作者
同问,原先我也碰到了SD卡很容易就坏的问题。

0

主题

59

帖子

998

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
998
4#
发表于 2017-8-8 09:44 | 只看该作者
有几个问题:  h! i; j. D, q9 H
SD卡有没有接触不良的可能性?3 D8 z+ F7 A4 X2 J3 z5 m+ i: t
SD卡上电后的工作电流有没有关注过?2 x- p6 {6 l5 O4 j# D+ q$ X$ d, }- J
用单片机来使能SD的供电,有没有效果?

点评

支持!: 5.0
zxk
不是因为我们老板狠,是因为我们是工业设备,在线24小时,一出问题,就有环保局要进行罚款。所以换成了工业级的,但是的确遇到过了SD卡的问题,之前遇到的问题是SD卡在线运行时,偶尔出现问题,但是企业和环保局是接  详情 回复 发表于 2017-8-8 16:48
支持!: 5
镀金的卡座,电流极小,示波器挂过电源,纹波不会导致复位。单片机使能没试过,TF供电比主控早。  发表于 2017-8-8 12:43

99

主题

668

帖子

3042

积分

五级会员(50)

Rank: 5

积分
3042
5#
 楼主| 发表于 2017-8-8 12:50 | 只看该作者
我已经更新了1楼,有新内容,可能是主控操作违反了SD2.0协议,造成 tf 卡状态异常

点评

LZ你这个问题有最终结论了么? 抓取到的现象是可以解释异常现象,但同样的主控程序,为什么有时候发CMD12,有时候不发CMD12呢?  详情 回复 发表于 2017-9-6 14:04

3

主题

115

帖子

593

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
593
6#
发表于 2017-8-8 16:48 | 只看该作者
大山 发表于 2017-8-8 09:44/ ^( A& \1 [! E2 e
有几个问题:6 b0 e5 H! M5 K0 e
SD卡有没有接触不良的可能性?, X$ L7 q' @9 O
SD卡上电后的工作电流有没有关注过?

# B7 i1 @* K" v  B5 X, R6 w& x( l不是因为我们老板狠,是因为我们是工业设备,在线24小时,一出问题,就有环保局要进行罚款。所以换成了工业级的,但是的确遇到过了SD卡的问题,之前遇到的问题是SD卡在线运行时,偶尔出现问题,但是企业和环保局是接受不了的。通过对硬件、软件多方查找,最后只能怀疑到了SD卡质量的问题上。但是更换后的确没有出现过问题了。4 }" D) x: X% E+ z8 R! j4 L

54

主题

292

帖子

2282

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2282
7#
发表于 2017-8-8 18:15 | 只看该作者
学习了,涨姿势了

5

主题

205

帖子

509

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
509
8#
发表于 2017-8-10 22:36 来自手机 | 只看该作者
mark

0

主题

8

帖子

126

积分

二级会员(20)

Rank: 2Rank: 2

积分
126
9#
发表于 2017-8-14 11:34 来自手机 | 只看该作者
这种问题基本可以排除硬件电路的问题。主要是SD卡驱动部分的问题

0

主题

368

帖子

4192

积分

五级会员(50)

Rank: 5

积分
4192
10#
发表于 2017-9-6 14:04 | 只看该作者
meng110928 发表于 2017-8-8 12:50
. r# R% |$ m; `3 v7 M& `) a- f我已经更新了1楼,有新内容,可能是主控操作违反了SD2.0协议,造成 tf 卡状态异常

! y4 j* W& x4 k0 J5 ALZ你这个问题有最终结论了么?
8 z! T3 h0 {% Y0 h7 G( R  U抓取到的现象是可以解释异常现象,但同样的主控程序,为什么有时候发CMD12,有时候不发CMD12呢?
: G( V% r8 ~# Y2 e% A4 G- {/ u( Y0 L) ?1 ~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2024-11-27 02:15 , Processed in 0.073581 second(s), 41 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表