端到端网络流的介绍
NI端到端网络(P2P)流技术使用PCI Express接口在多个设备之间直接,点对点传输,而不必通过主处理器或存储器。这可使同一个系统中的设备共享信息而不必占用其它的系统资源。NI P2P技术被以下设备支持:PXI Express NI FlexRIO现场可编程门阵列(FPGA)模块(NI PXIe-7961R, PXIe-7962R, and PXIe-7965R),PXI Express数字化仪和矢量信号分析仪,包括NI PXIe-5122,PXIe-5622和 PXIe-5663。
在图1所描述的系统中,在NI PXIe-1075机箱中插入的NI PXIe-5622数字转换器使用端到端网络数据流直接将数据传送到NI PXIe-7965R NI FlexRIO FPGA模块。然后FPGA模块作为附加过程将数据传送到另一个FPGA模块。由于机箱背板开关提供与模块所在插槽的直接连接,您不需要通过主控制器或进 入系统资源传送数据,例如CPU和主存储器。
图 1. 一个 NI PXIe-5622 数字转换器将数据流传送到两个 PXI Express NI FlexRIO FPGA模块.
应用实例
RF应用中一种常见的需求是实时频域触发。当大部分的RF设备在一个功率级上触发时,这种触发与频率无关。然而,使用NI LabVIEW FPGA模块的端到端网络数据流和处理技术,您可以建立一个频域触发。图2所描述的应用中,NI PXIe-5663矢量信号分析仪使用端到端网络流将数据传送到NI FlexRIO FPGA模块,这里开有窗口,将其转化为频域信号,然后与掩码比较。当数据超过掩码时,FPGA模块在PXI背板产生一个数字触发信号。一旦 NI PXIe-5663收到这个触发信号,它使用它的标准采集存贮器来捕获一个数据记录,包含预触发采样。然后您可以通过NI-RFSA驱动从主机读取 这个记录用于其它的处理或存储。
图2. 在此应用中, NI FlexRIO FPGA模块给 NI PXIe-5663 矢量信号分析仪一个频域触发信号.
编程端到端网络系统
编写端到端网络数据流被NI-P2P驱动极大的简化了。在图3描述的应用中,1号FPGA直接在LabVIEW FPGA中传送数据给2号FPGA,简单的端到端网络读写节点为数据交换提供先进先出的接口。这些节点类似于DMA 和本地FPGA FIFO。在数据交换成为可能之前,主机必须通过其NI-RIO和NI-P2P API将1号FPGA的写入数据流和2号FPGA的读取连接起来(如图3所示)。取决于配置,您只需要一个或两个VI来连接端到端网络数据流,以便于数据 交换的进行。
图3. 在Two NI FlexRIO FPGA 模块和相关软件之间的端到端网络流
基准端到端网络系统
采用NI端到端网络技术,超过800 MB/s的数据流速率成为可能。最大处理量取决于数据流模块,机箱,配置是否许可,以及控制器。一般来说,最低数据速率是P2P的最大可能带宽。
底板
所有数据必须通过机箱从一个模块流向另一个模块,所以机箱在确定性的带宽中扮演至关重要的角色。机箱背板的PCI Express开关提供了数据通过机箱的路径,同时,也提供了实现端到端网络数据流的高带宽的点对点连接。当模块在机箱插槽上,直接与相同的PCI Express开关相连时,如图4所示,带宽取决于开关。
图4. 机箱上的模块安置使所有的数据经由一个 PCI Express 开关.
表1显示了一个给定机箱上PCI Express开关的最大带宽。连接到相同开关的任意两个插槽的通过带宽都可以实现,并且在给定的速率内支持一个开关的多重连接。
表1. PXI Express机箱 P2P带宽
控制器
当一个P2P流系统的模块并不都是连接到一个机箱背板上的相同PCI Express开关时,数据必须通过主机控制器的板载开关或芯片,但不必通过其CPU或存储器。配置如图5所示。
图5. 机箱上的模块安置使数据通过主机控制器.
表2列出了一个给定控制器的PCI Express 开关或芯片的最大带宽。需要注意的是这些数字表示进出控制器某一部分的集合带宽。如果多个端到端网络流存在于这些相同的部分,它们必需共享带宽。
表2. PXI Express 控制器的 P2P带宽
模块
只有机箱和控制器配置提供一定的带宽,PXI Express模块本身才能决定最大可实现带宽。下面是各种具有P2P功能装置的基准和配置细节。
NI PXIe-7965R, PXIe-7962R, PXIe-7961R NI FlexRIO FPGA 模块: 这些PXI Express NI FlexRIO FPGA模块具有超过800 MB/s的数据IO速率。当两个方向同时传输,FPGA模块能达到单方向超过700 MB/s的速率,或超过1.4 GB/s的集合数据速率。数据可能包含一个单独的流,或者多达16个独立的流,每一个流对应装置的一个DMA通道。数据流的数目和它们的带宽由装置内 FPGA的配置和编程决定。
NI PXIe-5622 IF 数字转换器: NI PXIe-5622是一种150 MS/s, 16-bit的数字转换器,能产生多达300 MB/s的数据。对于端到端网络数据流来说,数字转换器有一个单独的写入端点,位于板载存储器的并行数据通路上。您可以将采集到的数据写入这个端点从而传 输到FPGA目标,并将它通过板载存储器送到主机。NI PXIe-5622的重要特征是采用正交数字下变频(DDC)的板载信号处理(OSP),能以 75 MS/s或 250 MB/s的复合I/Q数据形式提供多达60 MHz的IF带宽。在这种模式下,端到端网络流的采样隔行扫描选取样本,采用先I采样后 Q采样的方法。
图6. 采用 NI PXIe-5622 IF数字转换器的端到端网络流
端到端网络数据流以原始的二进制传输,不包括缩放和校准。归一化的系数可以被NI-SCOPE查询并用来校准二进制数据而不必缩放成伏特。归一化的数据符合随后的规范,所以您可以以后翻译这些二进制信息或将其缩放成伏特。
•最大的正二进制值对应垂直幅度的最大正向电压。
•最大的负二进制值对应垂直幅度的最大反向电压。
•垂直幅度被均匀划分以对应可能的二进制值。
或者,您可以在一个单独的步骤查询并应用缩放系数来校准和缩放数据。请参考高速数字转换器帮助获得更多细节。
NI PXIe-5122 高分辨率数字转换器: The NI PXIe-5122是一种100 MS/s,双通道,14-bit的数字转换器,能产生多达每路每流200 MB/s的数据。对于端到端网络流,数字转换器具有两个写入端点,位于板载存储器的并行数据支路。您可以将采集的数据写入这些端点,并将其通过板载存储器 传送到主机。
图7. 采用NI PXIe-5122高分辨率数字转换器的端到端网络流
表3展示了有效的流配置实例
表3. 有效的流配置
请注意,配置模块来生成数据的速率如果超过了PXI Express x4总线的带宽,有可能引起数据溢出。例如,当采样全速运行(共800 MB/s)时表3的最后配置表能导致每流400 MB/s的速率。如果您还将数据传送到主机PC,您将超出总线带宽。降低数字转换器的采样率能避免数据溢出。
端到端网络数据流以原始的二进制传输,不包括缩放和校准。归一化的系数可以被NI-SCOPE查询并用来校准二进制数据而不必缩放成伏特。归一化的数据符合随后的规范,所以您可以以后翻译这些二进制信息或将其缩放成伏特。
•最大的正二进制值对应垂直幅度的最大正向电压。
•最大的负二进制值对应垂直幅度的最大反向电压。
•垂直幅度被均匀划分以对应可能的二进制值。
或者,您可以在一个单独的步骤查询并应用缩放系数来校准和缩放数据。请参考高速数字转换器帮助获得更多细节。