阅读:1725回复:6
PCI板卡兼容问题?PCI高手看过来!
我最近做了一块PCI卡,使用QuikLogic的QL5030,逻辑非常简单。
一开始在一台康柏的老166机器上测试,没问题,OK!后又在几台P4的新机器测试,所有的插槽都OK。 但是把卡给软件组后,他们的大多数机器都不认我的卡,启动死机。他们的机器是P3 733或者500档次。 所有的机器启动时BIOS可以找到我的卡,并正确显示Vender ID,Device ID,Device Class Code等信息。但当操作系统(win98或2000)启动时,反应就各不相同: 1)在有的槽可以正常启动,后面对卡的操作读写完全正常。 2)有的槽,在操作系统启动进行一半时就死在那里,什么反应也没有。 3)有的槽,在操作系统启动刚一完成就自动重启。 4)还有的槽,操作系统可以启动,但显示模式被改成640*480|16色模式。此时对卡的访问有时对,有时出错(读出错误数据)。 我一共做了两块一模一样的卡,以上那些正常和不正常的操作都可以重复验证,就是说不是随机现象,对各个插槽是固定现象。 我还发现主板上距离CPU近的插槽一般较好,远离CPU的插槽一般不行。但也有个别例外。几台P4的新机器所有插槽都工作很好。 敬请PCI高手帮助分析一下,可能的原因是什么?怎样解决? 顺便说一下,我的电路非常简单,所有功能(包括PCI接口和用户逻辑)都在片内实现,整个PCB除了一片QL5030就是电源和一些滤波电容。QL5030的PCI接口是硬线连接,应该没什么问题。PCB采用四层板,中间是电源和地线层,两面的信号层也覆了铜(接地)。时钟和信号线长度都在PCI规范要求范围内。 在此向出手指教的高手致以最诚挚的感谢! |
|
|
沙发#
发布于:2002-05-29 23:15
可能是时钟的问题或是复位的问题,既然与卡的位置有关,我想也只能是这样。
您只说您的CLK在PCI范围内,确定一下是2.5英寸(正负100mil),我一开始就当成2.5英寸内了! |
|
|
板凳#
发布于:2002-05-30 08:33
请着重注意一下与PCI总线的时钟的关系,如:时钟同步,时钟冲突,时钟锁死等问题。
另外主板非标准的PCI 时钟也会出现类似问题! 用示波器观察PCI槽输出时钟的下降沿,再观察你的卡的时钟下降沿。 以前我遇到同类问题,将芯片靠近接口重排后自然就可以了! :) |
|
地板#
发布于:2002-05-30 09:25
有些设计和主板的兼容性非常相关,典型的是图像类卡,目前没有哪个厂商可以保证设计出来的图像卡是所有主板都可以使用的,就目前测试效果来看,intel芯片组的一般比较好.
|
|
|
地下室#
发布于:2002-05-30 10:42
谢谢各位大虾侠义相助!
我又确认了一下,我的时钟Net CLK Actual Length = 2496.271mil 似乎应该符合PCI规范吧? 而且我的卡似乎是PCI配置读正常,因为BIOS总能找到卡,并正确显示Device ID等信息。操作系统启动时在有的槽正常,在有的槽就死在启动到一半时,我猜可能是配置写(分配基地址)时出错或者与别的设备冲突。 劳请各位大虾再帮忙分析分析。如有能够帮我解决的大虾,我愿以全部身家分数相赠! |
|
|
5楼#
发布于:2002-05-30 16:08
不同的槽分配的中断不一样,可以查看是不是有的槽分配的interrup不是0xa、b、c、d其中的一种。
最好用工控机作试验,兼容性好一些。 |
|
|
6楼#
发布于:2002-06-01 00:19
我的感觉你的配置空间配置有问题!我建议你最好能将配置寄存器中的所有的可用可不用的东西全部关掉,不如数据校验呀之类的!另外重点考察你的资源分配寄存器!
|
|