在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 6065|回复: 2

帮我分析一下PCI9052的问题

[复制链接]
发表于 2008-2-25 03:15:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我用9052,EEPROM用的是93lc46c (ORG拉高)

现在我能通过9052在线读写eeprom,系统也能检测到9052。遇上两个问题:

(1) 如果写好eeprom后,在WinDriver中通过run-time register 来reload eeprom, 从此后,我不能正确读写eeprom,每次读的东西都不一样,且很乱。再读run-time也是完全不对。我通过查local configuration register, 发现内面的值是对的,重启动后,发现地址分配也是对的,这说明eeprom没坏,内面的东西也是对的,但问题依旧。如果写好eeprom后,不运行reload,而重启动计算机,就正常了,但以后如果运行reload,又出问题。(这个问题有些怪,有点怀疑和winDriver有关,我没试过PLXMon, 原先我在LAS*BRD中把bit5设成了1,即用00400022, 后来发现后换成了00400002,不知现在reload还会不会有问题,不敢试,如果同样出问题,通过9052我就没法读写eeprom了)。

(2) 在可以正常读写eeprom和PCI9052寄存器的情况下,我不能进行I/O读写,用示波器观察,本地端无输出信号(如data,address, RD/WR 等)变化。我用的是ISA模式,也试过C模式,问题依旧。发现通过改变CNTRL的设置,如选user, output, 输出的状态是对的。我按规范设计,如CLK的长度为2.5inch, 这些都很严格,MODE, LHOLD, NOWS#, LRDY#接地,CHRDY上拉,BTERM#我也上拉了,LCLK我接了8MHZ (pci9052的IRDY#直接和PCI相连,而没有像有文章讲的下拉,对9052,IRDY#是输入,好像也不该下拉,TRDY#倒是输出,我没下拉,也没死机。本地端没有相应的信号,LRDY#我下拉了)。但在PCB上我没有把本地端的信号上拉,会是这个问题吗?后来,我把我要用的9位地址线,16位数据线及IOWR#,IORD#在外部上拉了,其他不用的没管,问题依旧。我想上拉不上拉,影响的是稳定性抗干扰能力,不应该信号都不出。

我也反复检查了eeprom中的设置,因我只用I/O读写,一块16位,一块8位数据,比较简单。 我把里面的内容列出来:

EEPROM:  In ISA Mode
Address             Data
0          905010b5
4          06800002
8          905010b5
c          00000100
10        0                                          // LAS0RR
14        0fffff01                                 // LAS1RR                        100  - 1ff
18        0fffff01                                 // LAS2RR                         200 - 2ff
1c        0                                          // LAS3RR
20        0
24        0                                          // LAS0BA
28        00000101                            // LAS1BA
2c        00000201                            // LAS2BA
30        0                                          // LAS3BA
34        0
38        0                                          // LAS0BRD
3c        00400002                            // LAS1BRD
40        00000002                            // LAS2BRD
44        0                                          // LAS3BRD
48        0
4c        0                                          // CS0BASE                        
50        00000181                            // CS1BASE
54        00000281                            // CS2BASE
58        0                                          // CS3BASE
5c        00001000                            // INTCSR
60        00454012                            // CNTRL


有经验的朋友能帮我分析一下吗?多谢! 也希望我的帖子对您有用。
 楼主| 发表于 2008-2-28 09:45:44 | 显示全部楼层
我已经通过了所有的测试。

问题一:具体原因不明。可能和我早先遇上问题试着将DI也上拉有关,后来去掉了上拉,没有再遇上同样的问题了。但我也没再试过reload.

问题二:后来发现其实板子是工作的,只是通过windriver发命令,用我的示波器(100M)观察不到信号的变化。后来将它与我的局部系统相连,发现是工作的。我也没有将本地端信号上拉。

EEPROM中,LAS2RR,LAS2BA,LAS2BRD,CS2BASE 后来去掉了, 原打算访问LAS1时用16位, LAS2时用8位,因我要用到LA0(八位时LBE0),其实只要用16位就可以了,一样进行字节读写,也提供LA0(可能是类似:LAD[7:0])。像这样设置,访问LAS2时,根本不工作。
发表于 2014-9-16 16:09:08 | 显示全部楼层
回复 2# SoftD

你好,我最近也在用PCI9052,有个问题想请教一下。就是我接出了PCI9052的LRST#和USER0、USER1信号,通过PLXMON改变寄存器中对应位的设置,即有时输出低电平,有时输出高电平。但都要在重启之后,写到EEPROM中的位才起作用。有没有什么方法能使这些输出立即起作用?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-20 21:46 , Processed in 0.040154 second(s), 26 queries , Gzip On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表