微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > PCI板卡问题

PCI板卡问题

时间:12-12 整理:3721RD 点击:
自己做了一个PCI板卡,使用芯片plx9054,使用plxmon烧录eeprom,eeprom使用的两种
配置如下图所示
板卡在不同的电脑上表现非常不同
(1)电脑1为winxp系统,一直是实验室用来调试系统的,在配置1和配置2下机器都可
以正常启动,在此基础上我搞定了所有的调试工作,包括中断,DMA数据传输等,一切
OK,注意调试工作只在配置1下做了
(2)电脑2也为winxp系统,插上板卡后可以正常引导(包括配置1和配置2),这个电
脑的主板和电脑1的主板一模一样
(3)电脑3为xp和linux的双系统,插上板卡后,在配置1和配置2下bios都无法引导,
根本没有触及到操作系统,这个电脑的主板是后来买的,比(1)和(2)的主板要新一

(4)电脑4为linux机器,主板的新旧和(1)差不多,因为是同一时间买的,配置1下
可以过bios自检,但是到了引导操作系统的时候就没反应了,在配置2下操作系统也可
以启动
大家说这是为什么呢?理论上不应该这样啊

和BIOS设置有没有关系?还有PCI的中断配置?

偶然的一次发现根本原因是我的PCI卡和键盘鼠标冲突,当我把键盘鼠标从USB接口拔下时
系统就可以启动啦,起来后再把键盘鼠标插上就可以了,呵呵

不应该这样的,更可能的原因是上电判决的时候,你的卡信号存在问题。
多换几台机子试试,问题应该会更多。

高手终于出现了,确实如你所说,因为第二天我再去开机的时候,发现即使把鼠标和键
盘拔掉系统还是无法引导,总之这个板子在有的电脑上可以正常开机,有的电脑不可
以,我已经更新了原帖,附上了图片,写了更详细的说明
你提到的上电判决能说的更清楚一点吗?我自己查阅了一些资料,是不是因为主板上电
比9054早造成的呢?如果在主板读取9054前9054没有来得及从eeprom中load配置信息,
bios会无法引导,在老主板上不会有这个问题,因为老主板速度比较慢,新主板速度较
快会有这样的问题,我在原帖中提到的那几个bios可以引导的电脑主板相对较老,而那
个bios不能引导的主板相对新。
我的PCB板卡的3.3V供电的主干线上加了一个470uF的电容,这样做是为了防止主板的电
压波动影响我的板卡,当然我相信PCI插槽上的3.3V供电输出本身带有稳压的,只是我
这样做更加保险,我想不会是因为这个电容充电导致9054读取eeprom推迟吧。。。
你所提到的我的卡的信号存在问题,你能说的具体一点吗?是指哪些信号有问题,如果
信号有问题为什么在有的电脑上可以正常启动呢?
还请高手“pcp”能提出宝贵的意见和建议。。。。

BIOS在启动的时候会通过拉低IDSEL信号来判断是否有那个slot的pci target存在,
正常的话,pci target会拉低DEVSEL作为响应。如果这个判决存在干扰,BIOS可能
就会死机。
比如你的卡如果响应DEVSEL太慢,不同的机器主板会有不同的等待时间,效果就会
差异化。你的那个470uf电容太大,可以去掉试试看。

刚才把470uF的电容去掉试了一下,还是一样的

可以的话,用示波器跟踪IDSEL和DEVSEL两个信号,看看波形是否正常。

电源3.3V,5V(如果用到了)都用示波器看看。
以前HP的一个主板就是5V干扰太大,板上必须滤波才行。

我的9054用的3.3V是直接从主板输出的,上面加了470uF的电容的。。。。。。

没错,就是看主板输出的电源正常与否,3.3V是主板上由5V转过来的,
5V则是开关电源直接输出的,都看看,可以判断工作环境好不好。

主板上3.3V都是直供的,那里有5转3.3的

你的local端信号都是怎么接的?

主板上当然是直供的,但主板到PCI 插槽的3.3V供电是转换的。
有的主板如果不要求3.3V, LDO就不会焊接上去。

quenii和pcp两位高人你们不要争吵了,我觉得现在问题的突破口在有些机器可以启动有
些机器不能启动,不能启动机器中途居然启动了两次,这让我误认为是板卡和鼠标键盘冲
突的原因。
至于quenii提到的local端连接的问题,应该和local没关系吧,即使有关系的话为什么在
有的主板上可以正常引导呢?

你可以在好的电脑上插多张卡,看看状态如何。
如果我没猜错的话,多卡一插,问题更多。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top