plx9054 bios无法加载,请教quenii和pcp两位高人
自检的帖子,前一段时间忙着写驱动,没有按照pcp的建议测量PCI插槽以及各个信号波
形,今天腾出时间来折腾了一下。
我们假定板卡可以在“好电脑上”通过bios自检,但是在“坏电脑”上无法让bios启动
我测量和好电脑和坏电脑的PCI插槽上的供电,发现两台电脑的供电都非常干净,杂波
非常的小
然后我测量两台电脑在有板卡插入的时候,启动的时候 IDSEL和DEVSEL两个信号有什
么区别,结果发现
(1)好电脑的DEVSEL和IDSEL有明显的互动性,这个是预料之中的事情,也是bios可以
正常引导成功的原因,只是好电脑的DEVSEL高电位是5v,这个比较出乎意料,我的系统
供电都是使用的PCI上3.3V的电源啊
(2)坏电脑的DEVSEL和IDSEL貌似无关,上电后IDSEL为低,DEVSEL维持高3.3V 大约1s
后,出现震荡信号,周期约1.2us,占空比大约1:10(也即高电位的脉冲持续了
120ns),高电平时3.3V,这个信号一直稳定的持续下去了,电脑停在那不动弹了,
bios根本没启动
这个测量结果也解释了坏电脑无法让bios启动的原因,DEVSEL根本就不对的。。。
所以有两个疑点:
(1)为什么同是华硕的主板,插上同一个卡,DEVSEL引脚的高低电位居然定义一个是
5V,一个是3.3V,即使我把我的卡拔掉,也还是一个是5V,一个是3.3V
(2)那个DEVSEL上震荡信号是哪里来的啊
还请pcp和quenii看到这个帖子后能根据你们以往的经验给出一点点宝贵的意见
我怀疑你的PCI3.3V引脚错接到5V上去了,先检查一下。
这个我可以检查一下,但是坏电脑的DEVSEL电位是3.3V的,好电脑的电位是5V,而且是对
于同一块板卡,针对这种情况,我不得不猜想根本原因是两个主板的PCI口定义不一样
DEVSEL是pci target针对IDSEL的应答,也就是说DEVSEL是你的板卡产生的。
跟主板无关。所以不得不怀疑你的取电出了问题。
建议pci 引脚一个一个的多对几遍。
此外,DEVSEL是一个公用的信号线,多个slot共用一个DEVSEL, 存在slot之间的干扰可能。
你描述的那个震荡信号很像是MOS管关断之后的自激。
我把我的板卡拔掉后,那个号电脑的DEVSEL的高电位还是5V啊,你说这个奇怪不奇怪
可能是主板上加了5V的上拉,PCI2.1规范以前用的是5V电平,现在都是3.3V
我觉得两个电脑的主板都是2.1的,也即PCI-5V规范,请看下图PCI connector定义,看
那个卡槽的位置,就可以区分是5V的电气环境还是3.3V的电气环境,另外我测量了两个
电脑的VIO电位,都是5V啊,所以我想两个PCI应该都是5Vde规范
重申“好电脑”指的是我的板卡可以通过bios自检,“坏电脑”不可以
我在没有板卡插入的情况下分别测量了两个电脑的PCI插槽上的各个pin的电位,有以下
发现
(1)供电的pin都是一致的,VIO都是5V
(2)PCI CLK都是33MHZ,高电位都是3.3V
(3)其他的一些控制信号两个板卡不同,其中坏电脑所有的信号都是3.3V的,但是好
电脑的情况比较复杂,有一些比如IDSEL也是3.3V,但是绝大多数信号是5V,包括
DEVSEL,TRDY,STOP,PME等。
这个情况让我非常纳闷,我觉得我们对于PCI协议根本没有理解。。。,解开这个谜团
也许可以帮我找到坏电脑无法通过bios自检的原因
你的板卡是不是没对47个PCI信号加5V->3.3V的电平转换,或者串电阻限流?
你说的这个我有点糊涂,这47个PCI信号指的是哪些呢?我的板卡所使用的3.3V电压是直
接从PCI插槽上引出的,没有电压regulator啊
我们暂时不讨论我的板卡,因为我测量的时候根本没有插入我的板卡啊,就说说这个PCI
插槽的电位为什么差别这么大呢?
每个主板可能都存在差异的,有的5V, 有的3.3V, 厂商杂了,就有各种可能。
所以为了保证板卡信号的兼容性,板卡上对这些信号做双向电平转换是必要的。
这个。。。。pci的电平是反射叠加性质,个别fpga会用转换,像9054当然是直接连插槽?
顺便问一句,你做过这个吗?
绝对是误导,建议自删
当然做过啊。也碰到过跟楼主类似现象。还碰到过一些其它情况。
板卡兼容性问题出得最多。
这个两个电脑的主板都是华硕的,不应该设计的什么傻吧,我觉得。倒是两个主板的具体
型号确实不一致,那个坏电脑的主板是后来买的,貌似高档一些,主板是P8H61-M LE
R2.0,那个好电脑的主板买的早一些,型号是P5GT41-M LX3
至于你所说的电平转化,这个9054是可以忍耐5V电压的,这个我查过手册的
那个不能通过bios自检的机器是ASUS EFI BIOS,这个好像和别的bios都不同啊
9054应该不会有什么问题,问题在于主板能否支持它发送的3.3V电平。
要不你给DEVSEL加个5V上拉看看。从现有信息上找不到更好建议了。