我的FPGA设备上一共有多少个DMA FIFO可以使用?



硬件: CompactRIO

问题: 我打算使用DMA的方式来将我的FPGA上的数据传输到控制器或者反向传输。CompactRIO系列和R系列的板卡上面一共有几个通道可以使用?

解答:

目前,所有的National Instruments的cRIO系列和R系列的FPGA平台都是拥有3个DMA通道来传输数据。但是IF-RIO的板卡PCI-5640R和PXI-5641R拥有4个DMA的通道。目前也只有这两款产品有4个DMA通道。这样的情况就限制了在FPGA的项目中最多只能使用3或者4个DMA FIFO。在LabVIEW 8.6及更高的版本中DMA通道的选择是自动完成的。

你可以在项目浏览器中定义多于3个DMA FIF,但是在编译这些包含超过可用DMA FIFO总数的FPGA VI时程序就会出现错误,如图1所示:

 
图 1: 在使用的DMA通道数超过FPGA中的可用的DMA通道数时出现编译错误
需要记住的是每个DMA通道只能负责一个方向的数据传输:要么是FPGA到控制器要么是控制器到FPGA。如果你需要在FPGA和控制器之间双向传数据,那么就需要至少两个DMA FIFO。
注意:对FPGA目标使用扫描模式时会使用两个DMA通道,所以如何FPGA同时运行在两种模式(FPGA模式和扫描模式)下,那么只有一个DMA通道可供使用。



相关链接: LabVIEW 8.6 FPGA Module Help: Creating FPGA FIFOs (FPGA Module)
LabVIEW FPGA Module Release and Upgrade Notes Version 8.6
KnowledgeBase 4767OILX: Allocating DMA Memory on cRIO Controllers with 128 MB DRAM Can Cause the Controller to Crash
Products and Services: NI PCI-5640R Software Defined Radio IF Transceiver
Products and Services: NI PXIe-5641R RIO IF Transceiver

附件:





报告日期: 05/18/2009
最近更新: 01/30/2011
文档编号: 4XHBCJYP