找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

[仿真讨论] DDR2数据线调试问题

[复制链接]

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

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

EDA365欢迎您!

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

x
最近自己画了一板子,主芯片是DM365,DDR2内存芯片是MT47H64M16BT-37E。首先板子上的其他部分,电源、晶振、串口,网口等都已经正常了。目前调试的时候遇到个不能解决的问题,求大神指点啊!现象如下:
! k" I) U% n  k1、数据线低8位能正确读写,高8位不能,在每次断电重启的情况下,高八位的读写结果不同,随机的。) {. B/ Y1 h/ z; n: t
2、地址线是正常的,我是在屏蔽高8位读写结果的情况监测地址线的,全部遍历64M空间都能正常读写。
) U/ m( ^. I) Z( [8 T0 f) C! V3、用示波器观察高八位的数据线(在匹配电阻靠近DDR芯片端)上的写信号,数据线上有信号,且与低8位基本一样。5 n8 c6 t: T- @' O
附件为高8位数据信号线上的写信号。
. P# Y* t( J; k) c+ s& [  n& o
/ s6 c. f6 v. e" I& j; {) {/ y+ s! P' ~* N
我现在怀疑的原因有两点:
# M+ E# A* z# O6 z1、DDR2芯片的焊接有问题,可能高8位数据接口相关的电源管脚没有焊接上,BGA封装,苦于没法检查;
: k& z% Z2 M3 B2 i8 v2、时序问题,高8位和低8数据线的读写使能DQS信号是独立(分别为DQS1、DQS0),可能是高8位的时序不一致(布线的时候要求是一样的),示波器看DQS1差分信号很微弱,DQS0也是,没有明显的高低电平变化,这个很奇怪。( T9 L3 E  I3 M2 B+ q' W* q% t! L- H

! B1 s# ]1 U, N8 Z; p1 |) ^% B希望各位大神、有经验的同道帮着看下,给小弟点意见!

12.gif (294.88 KB, 下载次数: 5)

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

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
2#
 楼主| 发表于 2012-9-20 10:11 | 只看该作者
自己顶下!

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
3#
发表于 2012-9-20 12:05 | 只看该作者
ddr2的控制器高八位与低八位都有可调整相位的DLL,2的DLL值应该不一样,默认是一样的。调试时调完高八位的相位后再调第八位。调完后固定。

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
4#
 楼主| 发表于 2012-9-24 20:37 | 只看该作者
本帖最后由 hcjyddup 于 2012-9-24 20:55 编辑 # r4 G5 C9 k3 r* S, ^3 x
willyeing 发表于 2012-9-20 12:05
1 s" b3 k  ?0 E4 ]' h! }, C: bddr2的控制器高八位与低八位都有可调整相位的DLL,2的DLL值应该不一样,默认是一样的。调试时调完高八位的相 ...
% F; m0 r0 w8 v, ?( j3 m0 d% a

( j. m' p+ p& A7 _4 z你好,谢谢您的回答,之前的问题后来无意中发现时DSQ1匹配电阻有一个虚焊了,所以高8位一直随机的,解决后,现在的现象更奇怪:下面是我对DDR进行读写全5操作,结果如下
; M1 ~6 }, d  P( @! E  H7 A! R     地址                   数据                  数据
4 A+ I; c. K/ L+ x- p6 ~0x80000000        0x00550055        0x005500551 e7 q& H6 [' s0 z5 ^/ x  ]% f% U
0x80000008        0x55555555        0x555555554 i& e/ C* [7 c* @; g, X
0x80000010        0x00550055        0x00550055
7 [% _3 f9 F6 z6 @# d6 M4 f0x80000018        0x55555555        0x55555555
# O8 e; N1 `- u# U6 X& x! I7 ?3 l0x80000020        0x00550055        0x00550055
  z& c9 d# L) E& `$ u+ f0x80000028        0x55555555        0x55555555
2 R3 t6 D3 k; w- J5 Y6 H2 e0x80000030        0x00550055        0x005500552 C3 x8 w: p0 d$ H. q
0x80000038        0x55555555        0x55555555/ J' s: u$ N, Z3 D9 V7 r( n. P
0x80000040        0x00550055        0x00550055& v( h# v1 F9 p9 K3 A9 D" e
0x80000048        0x55555555        0x55555555
3 h0 W4 Y$ w! ]0x80000050        0x00550055        0x00550055( t6 M! G( }% c
0x80000058        0x55555555        0x55555555- U' V" F0 ~) Z, d. u+ @& s) ?; Z
.....9 D6 {& d! ], p% O9 Q

2 Y- X( I/ n5 @7 C+ W' z8 H读写全F,全A操作现象一样。就是高8位数据在地址低第4位为高时正常,为低时为全0。这应该不是地址线的问题...还可能是DLL相位的问题吗?

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
5#
发表于 2012-9-26 11:44 | 只看该作者
hcjyddup 发表于 2012-9-24 20:37
) @8 `% ?; g3 t5 s" m  n1 r你好,谢谢您的回答,之前的问题后来无意中发现时DSQ1匹配电阻有一个虚焊了,所以高8位一直随机的,解决 ...
5 S1 {* f4 U# i* }1 }1 r: |
测试一下地址与时钟的关系,看看这几位地址的建立和保持时间够不够。是否地址与clk的相位不对。

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
6#
 楼主| 发表于 2012-9-27 15:34 | 只看该作者
我在读写屏蔽了高8位,然后对整个DDR空间遍历,没个地址写的数据不一样,依次递增,读回来都是对的,所以应该不是地址线的问题吧

19

主题

277

帖子

816

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
816
7#
发表于 2012-9-27 17:00 | 只看该作者
DDR跑步起来吗,是的话就比较苦逼了。这问题难找

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
8#
 楼主| 发表于 2012-9-28 09:29 | 只看该作者
xyy_zhong 发表于 2012-9-27 17:00 5 b- n* `) o- X% P+ @
DDR跑步起来吗,是的话就比较苦逼了。这问题难找
+ N: J( K. @/ p7 X* U
是啊,跑起来了,低8位的数据都能正常读写了...苦逼了好久了,问好多人都想不明白啊

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
9#
发表于 2012-9-28 18:59 | 只看该作者
hcjyddup 发表于 2012-9-28 09:29 $ A: ^5 C: W; q/ g2 A$ }/ }, j" T1 t
是啊,跑起来了,低8位的数据都能正常读写了...苦逼了好久了,问好多人都想不明白啊

& o- q/ e8 C7 M" s; \) lDDR跑起来之前要测试是否有合适的相位,这个工作你做了吗,按照我说的做先低8位组,在高八位组,然后2个合并一起,需要写个程序,主要是读的,因为DDR需要去检测和锁定主芯片发来的CLK。写的话主芯片相移90,DQS对在DQ中间发出去的。相位写侧读,然后再去考虑写,用的是哪个厂家的。

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
10#
发表于 2012-9-28 19:00 | 只看该作者
hcjyddup 发表于 2012-9-28 09:29
' ]2 k% w3 }9 F8 G, O$ `是啊,跑起来了,低8位的数据都能正常读写了...苦逼了好久了,问好多人都想不明白啊
7 Y# A1 v7 P4 t
是否把PCB的这一块发上来瞧瞧,是否SI/PI没处理好。

48

主题

1374

帖子

5155

积分

五级会员(50)

Rank: 5

积分
5155
11#
发表于 2012-9-28 19:03 | 只看该作者
hcjyddup 发表于 2012-9-27 15:34
" [, m+ i2 Z4 F3 b) `- Z/ o我在读写屏蔽了高8位,然后对整个DDR空间遍历,没个地址写的数据不一样,依次递增,读回来都是对的,所以应 ...
9 f7 |6 g5 p% _6 I
一定学会测眼图,这玩意儿一看就清楚的很。

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
12#
 楼主| 发表于 2012-10-7 13:35 | 只看该作者
willyeing 发表于 2012-9-28 19:03 ; q& O1 x7 v4 i3 t. o8 q8 y
一定学会测眼图,这玩意儿一看就清楚的很。

: a) j* v. n8 A4 l芯片是Micron的,DDR的布线用了三层(顶层,中间信号层和底层)如附图;谢谢您的指导,我开始认真测试下相位关系,眼图测试还不熟悉。0 v! `) w# I. C5 B* ~

1.jpg (34.13 KB, 下载次数: 7)

1.jpg

2.jpg (22.44 KB, 下载次数: 4)

2.jpg

3.jpg (19.08 KB, 下载次数: 4)

3.jpg

20

主题

413

帖子

5131

积分

五级会员(50)

Rank: 5

积分
5131
13#
发表于 2012-10-7 17:24 | 只看该作者
1. ) 先就 1# 楼的图说明,若以这个数据线的测试波形而言,这应该是一个无效的数据,它的信号变化只呈现在 0.9V以上, DDR2 的信号应该是以 0.9 V 为中心,往上下张开至少要 +/- 0.25 V。9 i/ M1 w5 w3 \7 ?' T

& b; y! p$ I/ u$ i0 |. a2. ) 12#楼的 Layout 图而言,这似乎是一个没有考虑信号参考回流的设计 (除非还有参考层没有贴出 ),信号走线没有完整的参考平面,回流将到处乱窜,影响信号品质。

2

主题

17

帖子

101

积分

二级会员(20)

Rank: 2Rank: 2

积分
101
14#
 楼主| 发表于 2012-10-7 20:08 | 只看该作者
honejing 发表于 2012-10-7 17:24
$ ^1 i. ]: Q! e- Q9 Z1. ) 先就 1# 楼的图说明,若以这个数据线的测试波形而言,这应该是一个无效的数据,它的信号变化只呈现在  ...
+ o  @8 k! X, F7 R
1、看规格书我也觉得这个信号参数奇怪,但是对比了一个正常的板子,同样的信号,也是这样的测量结果$ A: y- W/ h" o1 E" F
2、参考平面有,整个板子有8层,中间分别为信号,信号,地,电源,地,信号

20

主题

413

帖子

5131

积分

五级会员(50)

Rank: 5

积分
5131
15#
发表于 2012-10-7 22:11 来自手机 | 只看该作者
那可能是你沒有量到正確的信號,你的trigger level設在0V,可能抓到不正確的地方。通常我會用兩個條件來當觸發條件3 ~, E* @) ]9 Z+ T; u# D& Y$ |
第一用DQ再接著DQS@0.9V。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-27 10:41 , Processed in 0.066745 second(s), 36 queries , Gzip On.

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

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

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