找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

程序容易跑飞得问题

[复制链接]

20

主题

70

帖子

-8906

积分

未知游客(0)

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

EDA365欢迎您!

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

x
本帖最后由 风信子—yiyi 于 2011-9-7 18:44 编辑
# {2 F0 W/ T/ |" {/ K. J+ Q" H% ^  }, Z! r# J
最近布了块板,里面有133M的SDRAM,CPU的频率400M左右。
, I  k4 C4 E# Z% t+ C板子一共做了三块,电源都正常,目前只有一块能用,另外两块能找到CPU,但是无法初始化SDRAM) S" g# t8 R2 P, ~- m3 x
就那唯一一块能用的,也老出现程序跑飞的问题。怀疑是否是SDRAM布线布得不好导致的。现在把我SDRAM部分的给大家看下,希望能为我分析分析,指出其中的缺点
' K  O% @* }+ H8 b  E* O4 j板子是四层的,S-G-P-S划分,等长设计上,时钟线与控制线都在-/+100mil内,各组数据线分别在-/+50mil等长。
, z% P0 ~4 @2 f, q7 \9 T% }* |用hyperlynx仿真,数据线与控制线的延时相当,各组数据线几乎重合。过冲在0.3V内的样子
" F( _0 T8 O5 ?' H+ g6 m5 `& e; ?
& O+ K3 r; E' o) x/ Q1 c; n$ E, V1 v底层布线1 H/ B# a% P/ s# Z* P1 b* N2 N$ R

9 Q- j. R0 Q" o5 p
7 I) |! P# v0 @4 x顶层布线  `5 |, n  X, Q& r
$ L; T$ u1 n  ~9 a. t, L* D* k; w2 ?

  |# q3 o" L' E1 K' r) H! `底层和顶层
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏1 支持!支持! 反对!反对!

20

主题

70

帖子

-8906

积分

未知游客(0)

积分
-8906
2#
 楼主| 发表于 2011-9-7 18:50 | 只看该作者
CPU下面的排阻和几个小电阻都是地址线和控制线的,CPU左边的排阻是数据线的

31

主题

4315

帖子

1万

积分

EDA365特邀版主

"學會了" 就簡單了.

Rank: 6Rank: 6

积分
19089
3#
发表于 2011-9-7 22:13 | 只看该作者
你用的 SDRAM 是 CPU 原廠認可的型號嗎? 雖然有些 SDRAM 看規格書似乎可以替換,可是實際卻不一定可行。另外有些cpu 在軟件 boot loader 裡面 是可以調整 SDRAM  時間參數,去符合不同的時間差。
% E& ]& a; I$ \8 u* K" `
/ p: _/ A0 ~: E# y) {( `7 ?如果不是LAYOUT問題,有時候可以試試看,在SDRAM CLK 放上<20PF 不同值的電容器(4.7PF, 6.8PF, 10PF,... 如果可以的話盡量靠近 CPU 端), 稍微延遲一下CLK,看看會不會改善情況。1 a" j8 f2 h9 r
- N9 q, D5 Q& z# R) Z  E6 s
本人曾經遇過 INTEL CPU + ISSI SDRAM 是 OK 的 ,為了便宜更換成 ICSI SDRAM,結果在大量生產才發現有固定的不良率。有些 SRDAM 某些特性還會有溫飄(這才麻煩)。
; x( K' Y/ A7 q- q) ?. C3 e; ^% i" b. B
另外在手機上使用 MCP IC (NOR flash + LPSDRAM 或是 NAND flash + LPSDRAM  ) 更是麻煩,如果沒有原始碼,又沒有原廠的支援,根本不能隨意更換。(除了FALSH ID, SDRAM 參數也是一環)+ w' D$ w7 c1 O+ f! s6 J

$ W; D! D- E9 w- [2 A+ ]  f

20

主题

70

帖子

-8906

积分

未知游客(0)

积分
-8906
4#
 楼主| 发表于 2011-9-8 11:58 | 只看该作者
jacklee_47pn 发表于 2011-9-7 22:13 3 x/ Z( V$ I, C! \  a
你用的 SDRAM 是 CPU 原廠認可的型號嗎? 雖然有些 SDRAM 看規格書似乎可以替換,可是實際卻不一定可行。另外 ...
: G! v" X0 b3 F* x1 ~. t% n
恩,SDRAM是原厂认可的型号
" b- L9 U0 q2 R9 j我加了个10PF的电容,并且电容还串了个10欧姆的电阻限流,仿真情况波形很平滑,边缘率确实变缓,可是上电后程序立马就飞掉了。。。

31

主题

4315

帖子

1万

积分

EDA365特邀版主

"學會了" 就簡單了.

Rank: 6Rank: 6

积分
19089
5#
发表于 2011-9-8 12:04 | 只看该作者
如果不加10歐姆, 程序還會飛掉嗎?

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
6#
发表于 2011-9-8 14:43 | 只看该作者
133m sdram不用做等长串电阻都应该跑的很好,是否时序问题,看看数据眼图和时钟的抖动吧。

41

主题

534

帖子

-8082

积分

未知游客(0)

积分
-8082
7#
发表于 2011-9-8 15:11 | 只看该作者
133M,根本就不用做等长,楼主拿掉一颗,软件修改一下试试看。

5

主题

1254

帖子

2680

积分

四级会员(40)

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

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

41

主题

534

帖子

-8082

积分

未知游客(0)

积分
-8082
9#
发表于 2011-9-9 09:39 | 只看该作者
qiangqssong 发表于 2011-9-8 17:55
6 D, m( Z* ~/ ^' L1 Z楼主的这个SDRAM程序跑飞是指的什么意思??不太理解

2 Q+ l3 r; r, L+ q5 W对呀,如何判定程序是不是跑飞了,有什么症状吗?或者怎么测出来的。

20

主题

70

帖子

-8906

积分

未知游客(0)

积分
-8906
10#
 楼主| 发表于 2011-9-9 18:34 | 只看该作者
caiyongsheng 发表于 2011-9-9 09:39 & K& V' m1 c8 {% M0 t" q. V
对呀,如何判定程序是不是跑飞了,有什么症状吗?或者怎么测出来的。
! M- H* O: r+ i/ M8 s) O. V; ^
就是一开始工作正常,工作一段时间就不运行了,重上电后又正常工作

20

主题

70

帖子

-8906

积分

未知游客(0)

积分
-8906
11#
 楼主| 发表于 2011-9-9 18:36 | 只看该作者
jacklee_47pn 发表于 2011-9-8 12:04 - \9 u8 E% r* ?/ U- u' u- l, X
如果不加10歐姆, 程序還會飛掉嗎?
  F2 \# g& k6 I, T
我没试,但是我都去掉后,板子已经不能正常启动了,程序几乎才开始就出现乱码

31

主题

4315

帖子

1万

积分

EDA365特邀版主

"學會了" 就簡單了.

Rank: 6Rank: 6

积分
19089
12#
发表于 2011-9-10 22:06 | 只看该作者
想必你是將 10PF 和 10 歐姆解焊後就去跑程序,但是我不知道你的 R 和 C 是放哪邊,如果真是解焊後馬上跑程序會造成程序飛掉,如果稍微放一下時間之後就 OK ,想必會跟溫度有點關係。
% m: {* w6 S( P8 W+ p& w
! R7 `. z* ?( k- T以之前經驗,盡量試試看是不是真的跟溫度有關係,利用一般吹吹頭髮的吹風機,或是 SMD 拆銲設備的熱吹風機,將局部加熱逐一加熱 (例如CPU, SDRAM, PMIC, ......),看看是不是真的會讓程序亂掉(溫度控制在120度以下)。有時候也會用冷凍劑試試看會不會溫飄。這是通常是在RD端初期的驗證,(還沒到產品的品質檢驗),先可以檢查電路是不是有問題。如果有些原件特別對溫度敏感,也是會造成問題。, u2 W- }4 E+ |9 v/ x+ V% v5 `  y  x" t
) E) C  a8 i$ y4 n: f/ }
如果你的產品可以接上 JTAG ICE,建議可以先在上面直接對 IO interface 做測試(例如SDRAM 讀/寫測式,看看是不是正常),這樣會比較好找出問題。+ o/ G$ l3 ^( V# g/ z1 f- S4 M

( I/ g0 Y6 g/ q- @另外我不知道你的產品是什麼,相信其來源也是授權的,所以應該也是可以問問原廠 FAE ,請求幫忙協助,這樣會比較快。
  }; h# l, X  R( G+ p3 u  r; y

41

主题

534

帖子

-8082

积分

未知游客(0)

积分
-8082
13#
发表于 2011-9-11 11:13 | 只看该作者
风信子—yiyi 发表于 2011-9-9 18:34 7 r+ |+ e5 }: n
就是一开始工作正常,工作一段时间就不运行了,重上电后又正常工作

; E) K. e0 M9 g  V, s  F! |我之前也遇到过这种情况,没找到原因,跑的linux系统,串口打印出来的信息,前面跑的还正常,后面就挂了,也不知道是哪里贴错元件了,还是焊接不良,后面重新搞了板子,什么都没动,就好了.

20

主题

70

帖子

-8906

积分

未知游客(0)

积分
-8906
14#
 楼主| 发表于 2011-9-20 21:48 | 只看该作者
willyeing 发表于 2011-9-8 14:43
; F) w' W4 }+ R0 ^2 _133m sdram不用做等长串电阻都应该跑的很好,是否时序问题,看看数据眼图和时钟的抖动吧。
+ Y7 t4 ]/ m; S4 a$ x2 U/ }
如果不等长也行那是不是不该是硬件的问题而是软件的问题?/ Z2 K* A9 ]/ U, ?
不串电阻的话我仿真发现过冲非常大,有5V以上呢,那样估计对器件的寿命影响会很大吧?

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
15#
发表于 2011-9-21 09:24 | 只看该作者
风信子—yiyi 发表于 2011-9-20 21:48 2 B/ Y' \2 A4 J0 Z
如果不等长也行那是不是不该是硬件的问题而是软件的问题?" O9 [2 I  A, O2 S) i
不串电阻的话我仿真发现过冲非常大,有5V以上 ...

) v' j1 B- S7 ^- n4 I, C, l8 [* k不等长不串阻尽量靠近主芯片,数据组优先考虑让线长最短,其它组要好些因为单向频率为时钟的一半,一般的话单片sdram我仿真过数据组应该在 1.2inch以内,其它1.5inch,dqs与clk之间不要想差半周期的1/20.这里大概是1inch多的距离。至于过冲只要符合能量不要超过就可以了,峰值超过datasheet规定的瞬时能量值太多当然不行。如果不超过不会影响寿命的。大厂datasheet做的很保守的。1.5inch之内过冲不会太大应该4v多一点吧。还跟你得驱动沿有关越陡峭过冲越大。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-2-10 23:12 , Processed in 0.068632 second(s), 37 queries , Gzip On.

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

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

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