首页 文章

通过USB访问PC的PCI卡[关闭]

提问于
浏览
0

我有一台连接了两块PCI卡的PC . 我创建了一个Matlab / Simulink模拟,它将数字信号发送到其中一个卡片 . 该卡是DA转换器 . 然后它将该信号输出到控制系统 . Matlab生成C代码来执行此操作 . 我的目标是用FPGA板重建这个模拟 . 不幸的是我无法将PCI卡连接到电路板上 . 因此,FPGA必须访问PC的PCI端口 . 它将通过USB连接,我使用Quartus作为FPGA软件 . 有没有办法从主板上访问PCI卡?或者有没有办法让FPGA调用模拟代码 .

1 回答

  • 1

    总结我的理解:

    当前设置

    一台带有两个PCI卡连接到购物车的PC .

    • 一个PCI卡有一个输出D->一个用于驱动推车的转换器

    • 一个PCI卡有输入A-> D转换器,用于测量角位置和速度

    • PC上的一个Matlab软件关闭循环并驱动购物车 .

    新设置

    与上面相同,加上以FPGA为主要组件的电路板 .
    该板具有串行,SATA,HSMC,以太网和USB连接,但没有A / D转换器 .

    该板应该取代PC上的驱动软件 .

    我的想法

    • FPGA不是微处理器 .

    要替换Matlab生成的软件类型,您必须使用模拟Matlab算法的VHDL状态机 . 这在一般情况下是不可行的,并且只有在Matlab算法非常基础的情况下才会成功 .

    如果您有一个功能强大的FPGA,您实际上可以使用它来实现一个微控制器,然后编程所述微控制器来做任何你想做的事情 . 在我看来,这似乎是一种矫枉过正 .

    • FPGA应该只实现低级接口

    您可以立即忘记USB,因为最小的接口需要FPGA无法模拟的软件 . 电路板上的USB访问是通过专用微控制器完成的,该微控制器可以访问FPGA RAM和其他电路板组件,但您很可能无法直接使用它来实现协议 .

    例如,您可能会在以太网链路上实现某种基本协议,但是在这里,FPGA会在最初要实现的低级环形缓冲区之上添加软件协议时遇到最大的困难,除非您对FPGA首先模拟处理器 .

    • 您的项目需要一个微控制器

    你可以用一个可以装载一些数字I / O和一个小型微控制器的准系统板取代PC,但是试图在没有数字I / O的电路板上用FPGA模拟微控制器似乎是不合适的 .

    使用PC作为FPGA从器件来驱动几个I / O信号是愚蠢的 . 这将花费你巨大的开发时间,并且很可能会失败,因为这个解决方案充其量只是一个尴尬的概念证明 .

    我的建议是:丢弃FPGA板并用合适的微控制器板替换它 .

相关问题