阅读:2117回复:4
PCI卡死机的问题!
我用S5920+EPM7128+IDT7007(sram),做了一个卡,在配置空间里定义数据为8位接口,卡上的MDMODE接为低电平,系统初始化成功,可是一从sram读数据就死机,用windrier如此,用AMCC给的工具也是如此,EPLD部分,仿真的波形没有问题,请问是什么问题?春节前要交差,还望各路高手指点。
|
|
最新喜欢:![]()
|
沙发#
发布于:2002-02-01 20:11
兄弟,我很想帮你,可是懂得太少,帮不上忙。但我在用 9052 的时候,发现 pci 的读方式有很大讲究,不知道你的 5920 有没有这方面的设置?
|
|
|
板凳#
发布于:2002-02-02 09:44
不知道,9052的读的方式有哪些讲究,能否告知,说不定可以参考。5920在它的配置空间设置了一个位,该位如果设置了,那么不论外设速度多慢,它不会产生retry或者disconnet,他会一直等待。可是我没有设置这个位,况且我的外设的速度也不慢,24M晶振。如果是EPLD部分出了问题,应该是读回来的数据是错误的,而不应该是死机!我真的不知道问题出现在哪里!
我现在先不管读回来的数据是否正确,只要不死机就是进了一步了! |
|
|
地板#
发布于:2002-02-02 14:39
可能 plx 系列的读方式是一样的。 9052 中的有一位用于设置读方式。
使能该位时:读操作遵循 spec.2.1 , 读之后立即 disconnect ,下次读再返回数据。这种方式的读操作不会导致死机。 disbale 该位时:无效 TRDY 信号直至数据返回。使用这一种方式,必须正确设置 RETRY DELAY CLOCK COUNTER ,否则,死翘翘! 因为如果 RETRY DELAY CLOCK COUNTER 设置太小,外设数据无法读回,就会导致无限次 RETRY 而将系统挂起! 你虽然使用了 24M 的晶振,但芯片内部转换速度可能没有我们想象的快,你可以将 RETRY DELAY CLOCK COUNTER 设为全 1 ,如果不死机的话再减小。 希望对你有所帮助。 ;) |
|
|
地下室#
发布于:2002-02-02 19:55
谢谢,我已经把能否引起无限retry的位全部无效,并且对EPLD部分的做了详细的仿真,没有发现可疑点,硬件连线没有错,我真的不知道哪里出问题。而且24M,8位接口,不会出现retry!由于没有分析仪,所以只能这样。
不过在我的机子上无论读和写,都出现EMM386 priveleged error等错误提示,不知道是不是和内存有关。 [编辑 - 2/2/02 作者: whutwx] |
|
|