阅读:2768回复:3
关于PCIE与PCI的驱动
我正在用 FPGA(ALTERA的PCI核) + PEX8112 做一张数据传输卡,现在在做驱动,用的是driverstudio+VC6+DDK,不知用8112这种桥接芯片做的板卡的驱动是否和FPGA做成的PCI板卡驱动程序一样(比如说在驱动程序中设置VENDER ID、DEVICE ID、寄存器偏移地址等值时,用到的是8112的值还是FPGA中的PCI核的值)? 求高人答复 O(∩_∩)O~~~
|
|
沙发#
发布于:2008-10-28 09:24
你说的FPGA没有用过,不过我可以告诉你一个方法,Driver中关于PCI/PCIe设备的描述信息是指从PC的角度去看所看到设备的信息,你可以下载CrystalCPUID,使用其中查看PCI设备的功能,把你的卡接上后,从PC上看看到底看到的设备是谁,然后你按照对应的VID和DID填写就好了,填错的话driver和设备部匹配的。
|
|
板凳#
发布于:2008-10-28 16:06
多谢楼上,我做的是PCI Express卡,用的FPGA是Cyclone II的,而我说的PEX8112是PLX公司提供的PCIE-PCI的桥接芯片。卡的结构就是外部信号通过FPGA里面的PCI核(相当于9052的作用)之后再送到8112桥接芯片上,再通过PCIExpress卡槽送入到PC机中。
利用如Read & Write Utility等工具PC机看到的是8112的信息,比如只有BAR0和BAR1,DEVICE ID 和VENDOR ID都是桥接芯片的ID。如果是PCI核的话,BAR就会有0到5总共6个,显然我看到的是8112,所以这样的话程序的设置上会和PCI卡驱动的设置有区别?但是我又听人家说像8112这样的桥接芯片是透明的,所以我就搞不懂是什么意思。 |
|
地板#
发布于:2008-10-29 12:35
引用第2楼piero290于2008-10-28 16:06发表的 : 根据你的信息,这个设备应该是一个PCIe-PCI 的bridge 下面挂着一个PCI的设备。一般来说,你到系统里面去查会查到两个设备,一个是PCIe-PCI 的bridge,另外一个是PCI设备。通常情况下,系统都会自带PCIe-PCI bridge的驱动,所以不需要为这个担心,你只需要写你PCI设备的驱动就可以了。 但是我又听人家说像8112这样的桥接芯片是透明的,所以我就搞不懂是什么意思。 其实这种说法有点错误,bridge并不是透明的,只是一般情况下,不是特殊的bridge的话,系统会自带驱动,不需要你自己去处理。 |
|