在Linux中通过PCI将视频数据传输到设备的最佳方法

时间:2011-06-09 14:06:10

标签: linux driver fpga pci dma

我需要在Linux环境中通过PCI将视频数据传输到来自 FPGA设备。我在FPGA上使用第三方PCI主核。到目前为止,我已经在FPGA上实现了一个简单的DMA控制器,使用连续的PCI写突发将数据 FPGA传输到CPU。

接下来,我需要将视频数据从CPU传输到FPGA。最好的方法是什么?

我应该在FPGA上实现一个模块,它通过PCI执行一大堆突发读取。或者有没有办法让CPU使用PCI写突发有效地将数据写入FPGA的内存?

我的带宽要求在两个方向都约为30 MB / s。

感谢。

2 个答案:

答案 0 :(得分:2)

你可以像CPU一样发布来自CPU的写入,但是你需要有一些驱动程序魔法,例如设置MTRR(这意味着你可能有一些架构依赖性)。如果您想要安全,从FPGA读取DMA是一种更好的方法。 30MB / s并不多。

答案 1 :(得分:1)

听起来我应该掌握FPGA的读写操作。否则你会占用主机CPU。这是DMA的经典任务(并且您无法保证每个主机上都存在DMA)。