piero290
驱动牛犊
驱动牛犊
  • 注册日期2008-10-13
  • 最后登录2009-07-13
  • 粉丝2
  • 关注0
  • 积分8分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2768回复:3

关于PCIE与PCI的驱动

楼主#
更多 发布于:2008-10-27 14:56
我正在用 FPGA(ALTERA的PCI核) + PEX8112 做一张数据传输卡,现在在做驱动,用的是driverstudio+VC6+DDK,不知用8112这种桥接芯片做的板卡的驱动是否和FPGA做成的PCI板卡驱动程序一样(比如说在驱动程序中设置VENDER ID、DEVICE ID、寄存器偏移地址等值时,用到的是8112的值还是FPGA中的PCI核的值)?   求高人答复 O(∩_∩)O~~~
freevanx
驱动牛犊
驱动牛犊
  • 注册日期2006-05-06
  • 最后登录2009-02-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-10-28 09:24
你说的FPGA没有用过,不过我可以告诉你一个方法,Driver中关于PCI/PCIe设备的描述信息是指从PC的角度去看所看到设备的信息,你可以下载CrystalCPUID,使用其中查看PCI设备的功能,把你的卡接上后,从PC上看看到底看到的设备是谁,然后你按照对应的VID和DID填写就好了,填错的话driver和设备部匹配的。
piero290
驱动牛犊
驱动牛犊
  • 注册日期2008-10-13
  • 最后登录2009-07-13
  • 粉丝2
  • 关注0
  • 积分8分
  • 威望7点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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这样的桥接芯片是透明的,所以我就搞不懂是什么意思。
freevanx
驱动牛犊
驱动牛犊
  • 注册日期2006-05-06
  • 最后登录2009-02-27
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-10-29 12:35
引用第2楼piero290于2008-10-28 16:06发表的  :
多谢楼上,我做的是PCI Express卡,用的FPGA是Cyclone II的,而我说的PEX8112是PLX公司提供的PCI-PCIE的桥接芯片。卡的结构就是外部信号通过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这样的桥接芯片是透明的,所以我就搞不懂是什么意思。



根据你的信息,这个设备应该是一个PCIe-PCI 的bridge 下面挂着一个PCI的设备。一般来说,你到系统里面去查会查到两个设备,一个是PCIe-PCI 的bridge,另外一个是PCI设备。通常情况下,系统都会自带PCIe-PCI bridge的驱动,所以不需要为这个担心,你只需要写你PCI设备的驱动就可以了。

但是我又听人家说像8112这样的桥接芯片是透明的,所以我就搞不懂是什么意思。

其实这种说法有点错误,bridge并不是透明的,只是一般情况下,不是特殊的bridge的话,系统会自带驱动,不需要你自己去处理。
游客

返回顶部