找回密码
 注册
关于网站域名变更的通知
查看: 3606|回复: 19
打印 上一主题 下一主题

程序容易跑飞得问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-9-7 18:42 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 风信子—yiyi 于 2011-9-7 18:44 编辑 3 b- N7 ]* a4 E) i6 b9 v
; M: G$ q: s0 a9 d( ^+ e' t7 b$ J
最近布了块板,里面有133M的SDRAM,CPU的频率400M左右。
6 e: b, ?# D* @板子一共做了三块,电源都正常,目前只有一块能用,另外两块能找到CPU,但是无法初始化SDRAM$ I3 V" R8 D+ j  A% `6 e% e
就那唯一一块能用的,也老出现程序跑飞的问题。怀疑是否是SDRAM布线布得不好导致的。现在把我SDRAM部分的给大家看下,希望能为我分析分析,指出其中的缺点+ h9 f( S$ p0 i" q
板子是四层的,S-G-P-S划分,等长设计上,时钟线与控制线都在-/+100mil内,各组数据线分别在-/+50mil等长。
- {$ E+ Z* l/ t7 v/ V& `5 X用hyperlynx仿真,数据线与控制线的延时相当,各组数据线几乎重合。过冲在0.3V内的样子
' h- y5 Y& P) S" s# P% J# M
" d7 i# k' F$ ]5 _, w# A底层布线8 W1 i# u7 A. a) e
! ^. @) c& ?! B4 \9 W4 ?7 V3 P

+ U1 J; n1 [. d/ u) M顶层布线1 F7 v3 A: `7 X) f

7 J% i- o. t) z ' O5 \6 L  N7 p/ e3 m2 N: [+ K+ b& E
底层和顶层

该用户从未签到

20#
 楼主| 发表于 2011-10-12 17:40 | 只看该作者
jacklee_47pn 发表于 2011-10-10 09:34 4 y/ F0 r$ E: d* X2 c
恭喜樓主找到問題發生原因了,經驗值又增加了。
  L0 S' `: m" C" l: V% g
8 n0 I+ \2 p& U% Y# Y1 M8 m通常研發人員拿到貼片完成後得PCB,第一要先做的事情,就 ...
4 v& k5 f: e' y( b' z  T* e
恩。我倒是电路板一到手,我首先测的是电源的阻抗,倒没有怎么目测器件有没有短路的情况。现在看来仅看电源是不够的,先目测能较早的发现问题。

该用户从未签到

19#
发表于 2011-10-10 09:34 | 只看该作者
恭喜樓主找到問題發生原因了,經驗值又增加了。4 Z! b; A2 j" d9 T2 v1 j

  i. \, o7 g, |' F8 q通常研發人員拿到貼片完成後得PCB,第一要先做的事情,就是目視檢查看看有無飛件(拋件、缺件)、立碑、錯件、錯位、短路、開路。如果公司夠大,會有Q部門來把關品質。如果沒有Q部門的把關,研發人員要謹慎,務必先檢查一下PCB,避免一上電壓,容易造成元件燒毀。

该用户从未签到

18#
 楼主| 发表于 2011-10-9 17:07 | 只看该作者
这个原因最后终于找到了,原因是排阻的两个脚短路了,对应A15和A16这两根信号线,而A15本是空置的。所以板子一开始上电正常,一开始能跑几下,但由于A15与A16短路的,所以跑着跑着引起了错误。
! H6 P* P& \5 Q* Q; i9 Z% v9 S7 I导致A15与A16短路,主要还是我布局把排阻布得太紧,而且空间非常小,所以导致了这些问题。
% F1 s. d8 O) i- ~" H看来不能正常工作,首先寻找硬件上是否存在短路还是断路是非常有效和重要的。

该用户从未签到

17#
 楼主| 发表于 2011-9-23 13:55 | 只看该作者
willyeing 发表于 2011-9-21 09:24 # [. t2 {2 l" k5 }# ?
不等长不串阻尽量靠近主芯片,数据组优先考虑让线长最短,其它组要好些因为单向频率为时钟的一半,一般的 ...

$ o0 B5 K4 W6 `1 l. \0 t{:soso_e100:} 谢谢你回复这么详细

该用户从未签到

16#
发表于 2011-9-22 13:20 | 只看该作者
都是那么的悬乎!
  • TA的每日心情

    2025-11-21 15:00
  • 签到天数: 58 天

    [LV.5]常住居民I

    15#
    发表于 2011-9-21 09:24 | 只看该作者
    风信子—yiyi 发表于 2011-9-20 21:48
    7 p7 V* |) y# {% a: |) E如果不等长也行那是不是不该是硬件的问题而是软件的问题?: \! X4 ]2 j* L  Y( M7 ]
    不串电阻的话我仿真发现过冲非常大,有5V以上 ...

    5 s" g+ ]) ^: R0 x$ F% d不等长不串阻尽量靠近主芯片,数据组优先考虑让线长最短,其它组要好些因为单向频率为时钟的一半,一般的话单片sdram我仿真过数据组应该在 1.2inch以内,其它1.5inch,dqs与clk之间不要想差半周期的1/20.这里大概是1inch多的距离。至于过冲只要符合能量不要超过就可以了,峰值超过datasheet规定的瞬时能量值太多当然不行。如果不超过不会影响寿命的。大厂datasheet做的很保守的。1.5inch之内过冲不会太大应该4v多一点吧。还跟你得驱动沿有关越陡峭过冲越大。

    该用户从未签到

    14#
     楼主| 发表于 2011-9-20 21:48 | 只看该作者
    willyeing 发表于 2011-9-8 14:43 0 W- G- ?# |5 W' y! K
    133m sdram不用做等长串电阻都应该跑的很好,是否时序问题,看看数据眼图和时钟的抖动吧。

    5 y: C  y* y6 R9 N3 a7 f+ \如果不等长也行那是不是不该是硬件的问题而是软件的问题?
    , E- h% T2 m( a不串电阻的话我仿真发现过冲非常大,有5V以上呢,那样估计对器件的寿命影响会很大吧?

    该用户从未签到

    13#
    发表于 2011-9-11 11:13 | 只看该作者
    风信子—yiyi 发表于 2011-9-9 18:34 3 w, ^# g  E) J3 t9 n1 t% ]
    就是一开始工作正常,工作一段时间就不运行了,重上电后又正常工作
    5 p% P$ G$ f' E  v
    我之前也遇到过这种情况,没找到原因,跑的linux系统,串口打印出来的信息,前面跑的还正常,后面就挂了,也不知道是哪里贴错元件了,还是焊接不良,后面重新搞了板子,什么都没动,就好了.

    该用户从未签到

    12#
    发表于 2011-9-10 22:06 | 只看该作者
    想必你是將 10PF 和 10 歐姆解焊後就去跑程序,但是我不知道你的 R 和 C 是放哪邊,如果真是解焊後馬上跑程序會造成程序飛掉,如果稍微放一下時間之後就 OK ,想必會跟溫度有點關係。
    # w; Z1 a- y9 l0 Y* N/ @
    + o9 R! E; r4 n' J7 F0 M! h以之前經驗,盡量試試看是不是真的跟溫度有關係,利用一般吹吹頭髮的吹風機,或是 SMD 拆銲設備的熱吹風機,將局部加熱逐一加熱 (例如CPU, SDRAM, PMIC, ......),看看是不是真的會讓程序亂掉(溫度控制在120度以下)。有時候也會用冷凍劑試試看會不會溫飄。這是通常是在RD端初期的驗證,(還沒到產品的品質檢驗),先可以檢查電路是不是有問題。如果有些原件特別對溫度敏感,也是會造成問題。
    , D* }2 J5 i9 S! d2 x2 q+ t; u& k: X( T& ~4 \$ y
    如果你的產品可以接上 JTAG ICE,建議可以先在上面直接對 IO interface 做測試(例如SDRAM 讀/寫測式,看看是不是正常),這樣會比較好找出問題。
    0 q: X* ~# S+ r7 P9 X. A7 \6 r* o
    2 [2 w9 z' ]+ W$ p( U另外我不知道你的產品是什麼,相信其來源也是授權的,所以應該也是可以問問原廠 FAE ,請求幫忙協助,這樣會比較快。
    $ b: h7 B6 U2 i; W6 H8 B& q

    该用户从未签到

    11#
     楼主| 发表于 2011-9-9 18:36 | 只看该作者
    jacklee_47pn 发表于 2011-9-8 12:04 ) F% G# b3 ^+ f+ u8 Y0 n
    如果不加10歐姆, 程序還會飛掉嗎?

    2 P( E2 R+ }* I( q我没试,但是我都去掉后,板子已经不能正常启动了,程序几乎才开始就出现乱码

    该用户从未签到

    10#
     楼主| 发表于 2011-9-9 18:34 | 只看该作者
    caiyongsheng 发表于 2011-9-9 09:39 + ]; o0 {0 s8 \) i; w
    对呀,如何判定程序是不是跑飞了,有什么症状吗?或者怎么测出来的。

    9 \: Z2 ^/ u4 F. ?+ O就是一开始工作正常,工作一段时间就不运行了,重上电后又正常工作

    该用户从未签到

    9#
    发表于 2011-9-9 09:39 | 只看该作者
    qiangqssong 发表于 2011-9-8 17:55
    * K9 D# {$ N6 f' [# v6 J楼主的这个SDRAM程序跑飞是指的什么意思??不太理解
    4 Y6 s6 H5 d, z4 Y6 d0 I+ }% Y: C
    对呀,如何判定程序是不是跑飞了,有什么症状吗?或者怎么测出来的。

    该用户从未签到

    8#
    发表于 2011-9-8 17:55 | 只看该作者
    楼主的这个SDRAM程序跑飞是指的什么意思??不太理解

    该用户从未签到

    7#
    发表于 2011-9-8 15:11 | 只看该作者
    133M,根本就不用做等长,楼主拿掉一颗,软件修改一下试试看。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-23 11:43 , Processed in 0.156250 second(s), 29 queries , Gzip On.

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

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

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