NI点对点(P2P)数据流技术采用PCI Express,可直接在多个仪器之间点对点传输数据,且无需经过主机处理器或存储器。因此系统中的设备无需额外占用系统资源即可共享信息。特定型号的PXI FPGA模块(用于FlexRIO)、FlexRIO协处理器模块、示波器/数字化仪、任意波形发生器、矢量信号分析仪、矢量信号发生器、矢量信号收发仪、高速串行模块和R系列设备均支持NI P2P技术。
在图1所示的系统中,PXIe-1075机箱中的PXIe-5622数字化仪使用点对点数据流将数据直接传送到PXIe-7966R FlexRIO FPGA模块。然后FPGA模块将数据传送至另一个FPGA模块以进行后续处理。由于机箱背板开关提供与模块所占用插槽的直接连接,因此无需通过主机控制器传送数据或者使用CPU或主机内存等系统资源。
图1.PXIe-5622数字化仪将数据流传输至两个PXI Express FlexRIO FPGA模块。
实时频域触发是RF应用中的常见需求。虽然大多数RF仪器在功率级上触发,但该触发与频率无关。但是,借助LabVIEW FPGA模块的点对点数据流和数据处理技术,您可创建频域触发。在图2所示的应用中,PXIe-5663矢量信号分析仪利用点对点数据流将数据传送到FlexRIO FPGA模块进行加窗,转化为频域信号,然后与掩码比较。当数据超过此掩码时,FPGA模块会在PXI背板上产生一个数字触发信号。PXIe-5663接收到此触发信号后,将使用其正态采集存储器来捕获数据记录,包括预触发采样。然后,您可通过NI-RFSA驱动从主机访问该数据记录,以进行其他处理或存储。
图 2.在此应用中,FlexRIO FPGA模块将频域触发信号添加到PXIe-5663矢量信号分析仪。
NI-P2P驱动极大简化了点对点数据流的编程。在图3所示的应用中,1号FPGA直接将数据传送至2号FPGA。在LabVIEW FPGA中,简单的点对点读取节点与写入节点为数据交换提供基于先进先出(FIFO)的接口。这些节点类似于DMA和本地FPGA FIFO。在可进行数据交换之前,主机必须通过主机上的NI-RIO和NI-P2P API将1号FPGA的写入数据流连接到2号FPGA的读取数据流(如图3所示)。根据配置,您只需要使用一个或两个VI即可连接点对点数据流,以便进行数据交换。
图3.两个FlexRIO FPGA模块和关联软件之间的点对点数据流
借助NI点对点技术,单个方向的数据流速率可能高达7GB/s。 最大吞吐量取决于数据流模块、机箱以及控制器(如果配置允许)。通常,这些组件速率的最低值可能是P2P的最大可能带宽。
点对点数据传输具有非常低的延迟,但会因系统配置而有所不同。 仅通过FIFO和PCIe总线进行传送数据流时,典型延迟约为2-4μs,但如果由于其他总线拥塞,可能会出现数十微秒的偶发性延迟高峰。 当从数字化仪输出数据流时,预期延迟通常约为5μs,而当数据流传输到任意波形发生器时,由于板载缓冲,延迟约为10-20μs。
当通过具有板载信号处理功能的设备(如PXIE-5622数字化仪)传输数据时,则额外的滤波器和其他处理可能会使延迟增加至高达数百微秒。 最后,在评估系统性能时,还必须考虑在FlexRIO FPGA模块上运行的用户代码的延迟。
所有数据都必须通过机箱才能从一个模块传送到另一个模块,因此机箱对于确定带宽至关重要。机箱背板上的PCI Express开关通过机箱路由数据,并提供可实现点对点数据流的高带宽点对点连接。当模块所占用的多个机箱插槽直接连接在同一个PCI Express开关上时(如图4所示),带宽取决于开关。
图4.机箱中的模块布局通过单个PCI Express开关路由所有数据
表1显示了给定机箱中PCI Express开关的最大带宽。此带宽可通过连接到同一开关的任意两个插槽实现,并且以特定速率支持一个开关多个连接。 机箱背板架构和带宽可在其各自的产品规范文档中找到。
机箱 | 插槽 | 最大点对点速率(单向) |
---|
PXIe-1062Q | 3-5 | 取决于控制器 |
PXIe-1065/1066DC | 7, 8 | 取决于控制器 |
PXIe-1065/1066DC | 9-14 | 略低于800 MB/s |
PXIe-1071 | 全部 | 取决于控制器 |
PXIe-1073 | 全部 | >200 MB/s |
PXIe-1075 | 全部 | >800 MB/s |
PXIe-1078 | 2, 3, 4 | 取决于控制器 |
PXIe-1078 | 5-9 | >200 MB/s |
PXIe-1082Q | 全部 | >800 MB/s |
PXIe-1083 | 全部 | 460 MB/s |
PXIe-1084 | 全部 | 500 MB/s |
PXIe-1085 | 全部 | 3.6 GB/s |
PXIe-1085 Gen 3 | 全部 | 7.2 GB/s |
PXIe-1086 | 全部 | 3.6 GB/s |
PXIe-1088 | 4, 6, 8 | 取决于控制器 |
PXIe-1088 | 2, 3, 5, 7, 9 | 500 MB/s |
PXIe-1090 | 全部 | 895 MB/s |
PXIe-1092 | 全部 | 7.2 GB/s |
PXIe-1095 | 全部 | 7.2 GB/s |
表1.PXI Express机箱P2P带宽
如果P2P数据流系统中的模块均未连接到机箱背板上的同一PCI Express开关,则数据必须经过主机控制器的板载开关或芯片组,而不是经过控制器的CPU或存储器。此配置如图5所示。
图5.机箱中的模块布局通过主机控制器路由数据。
表2列出了给定控制器的PCI Express开关或芯片组的最大带宽。请注意,此数字表示通过特定部分进出控制器的总带宽。如果在这些相同部分上存在多个点对点数据流,则数据流必须共享带宽。此外,机箱PCIe的生成和通道数量也会影响最大带宽。以下值假定机箱是控制器PCIe的同代或更新版本。
控制器 | 开关间的最大速率 | 备注 |
---|---|---|
PXIe-8135 | 3.4 GB/s | |
PXIe-8133 | 1.6 GB/s | |
PXIe-8130 | >600 MB/s | 受芯片组限制 |
PXIe-8106 | >800 MB/s | 不支持第四条链路(NI PXIe-1075和NI PXIe-1082机箱最右侧开关的引入/引出) |
PXIe-8105 | 略低于800 MB/s | 受开关限制 |
PXIe-8101/8102/8108 | 不支持 | 开关后面的P2P仍然工作 |
PXIe-8301 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8360/8370 | 略低于800 MB/s | 受开关限制 |
PXIe-8375 | >800 MB/s | |
PXIe-8381 | 3.2 GB/s (gen 2 x8) 1.6 GB/s (gen 2 x4) | |
PXIe-8398/8399 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8821 | 500 MB/s | |
PXIe-8840 | 2 GB/s | |
PXIe-8861 | 6.4 GB/s (gen 3 x8) 3.2 GB/s (gen 3 x4) | |
PXIe-8880/8881 | 6 GB/s (gen 3 x8) 3 GB/s (gen 3 x4) |
表2.PXI Express控制器的P2P带宽
如果机箱和控制器配置支持某一特定的带宽,PXI Express模块本身可以确定可实现的最大带宽。以下是各种可支持P2P的设备的基准性能和配置详细信息。
PXIe-7976R、PXIe-7975R、PXIe-7972R、PXIe-7971R FlexRIO FPGA模块: 这些PXI Express FlexRIO FPGA模块能够以1.5 GB/s的速率将数据流输入或输出模块。数据流的数量及其带宽由设备上FPGA的配置和编程决定。PXIe-7976使用PCIe Gen 2 x8接口,可以高达3.2GB/s的速率将数据流输入或输出模块。
PXIe-7966R、PXIe-7965R、PXIe-7962R、PXIe-7961R FlexRIO FPGA模块:这些PXI Express FlexRIO FPGA模块能够以超过800 MB/s的速率将数据流输入或输出模块。当两个方向同时传输时,FPGA模块可以实现每个方向超过700 MB/s的速率,或超过1.4 GB/s的聚合数据速率。该数据可能包含单个数据流,最多可高达16个独立的数据流,一个数据流对应于设备的一个DMA通道。数据流的数量及其带宽由设备上FPGA的配置和编程决定。
PXIe-5622 IF数字化仪:PXIe-5622是一款速率为150MS/s的16位数字化仪,能以高达300 MB/s的速度生成数据。对于点对点数据流,该数字化仪有一个单独的写入端点,位于与板载内存并联的数据路径上。您可以将采集到的数据写入此端点,以传输至FPGA目标,并通过板载内存将其发送到主机。PXIe-5622的一个关键特征是采用正交数字下变频(DDC)的板载信号处理(OSP),能以75MS/s或150MB/s的复杂I/Q数据形式提供高达60MHz的IF带宽。在此种模式下,点对点数据流的采样隔行扫描选取样本,使用先I采样后Q采样的方法。
图6.使用PXIe-5622 IF数字化仪的点对点数据流
PXIe-5122高分辨率数字化仪:PXIe-5122是一款速率为100MS/s的双通道14位数字化仪,以每通道每流高达200 MB/s的速率生成数据。对于点对点数据流,数字化仪有两个位于与板载内存并联数据路径上的写入端点。您可以将采集的数据写入这些端点,并通过板载内存将其传送到主机。
图7.使用 PXIe-5122高分辨率数字化仪的点对点数据流
表3展示了有效的数据流配置示例:
表3.有效的数据流配置
请注意,可配置模块生成数据的速率如果超过PXI Express Gen 1x4总线带宽,可能导致数据溢出。当采样全速运行(共800 MB/s)时,表3的最后一个配置将达到每流400MB/s的速率。如果再向主机PC发送数据,则速率会超出总线带宽。降低数字化仪的采样率可防止数据溢出。
模块 | 模型 | 最大点对点速率 |
---|
任意波形发生器 | ||
---|---|---|
PXIe-5450(Rev. C及更高版本) | >800 MB/s | |
PXIe-5451 | >800 MB/s | |
PXIe-5745 | 7 GB/s | |
示波器/数字化仪 | ||
PXIe-5122** | 800 MB/s | |
PXIe-5160 | 800 MB/s | |
PXIe-5162 | 800 MB/s | |
PXIe-5164*** | 3.2 GB/s | |
PXIe-5170*** | 3.2 GB/s | |
PXIe-5171*** | 3.2 GB/s | |
PXIe-5172*** | 3.2 GB/s | |
PXIe-5622** | 800 MB/s | |
PXIe-5624 | 3.2 GB/s | |
PXIe-5763 | 7 GB/s | |
PXIe-5764 | 7 GB/s | |
PXIe-5774 | 7 GB/s | |
PXIe-5775 | 7 GB/s | |
RF信号分析仪 | ||
PXIe-5663* | ||
PXIe-5663E* | ||
PXIe-5665* | ||
PXIe-5667 | ||
PXIe-5668R | ||
RF信号发生器 | ||
PXIe-5673* | ||
PXIe-5673E* | ||
RF矢量信号收发仪 | ||
PXIe-5644R*** | ||
PXIe-5645R*** | ||
PXIe-5646R*** | ||
PXIe-5840*** | ||
FlexRIO FPGA模块 | ||
PXIe-7961R | >800 MB/s | |
PXIe-7962R | >800 MB/s | |
PXIe-7965R | >800 MB/s | |
PXIe-7966R | >800 MB/s | |
PXIe-7971R | 1.5 GB/s | |
PXIe-7972R | 1.5 GB/s | |
PXIe-7975R | 1.5 GB/s | |
PXIe-7976R | 3.2 GB/s | |
FlexRIO协处理器模块 | ||
PXIe-7911 | 7 GB/s | |
PXIe-7912 | 7 GB/s | |
PXIe-7915 | 7 GB/s | |
高速串行模块 | ||
PXIe-6591R | 3.2 GB/s | |
PXIe-6592R | 3.2 GB/s | |
PXIe-7902 | 3.2 GB/s | |
NI R系列设备 | ||
PXIe-7820R | 500 MB/s | |
PXIe-7821R | 500 MB/s | |
PXIe-7822R | 500 MB/s | |
PXIe-7846R | 500 MB/s | |
PXIe-7847R | 500 MB/s | |
PXIe-7856R | 500 MB/s | |
PXIe-7857R | 500 MB/s | |
PXIe-7858R | 500 MB/s | |
PXIe-7861 | 500 MB/s | |
PXIe-7862 | 500 MB/s | |
PXIe-7865 | 500 MB/s | |
PXIe-7866 | 500 MB/s | |
PXIe-7867 | 500 MB/s | |
PXIe-7868 | 500 MB/s | |
IF收发仪 | ||
PXIe-5785 | 7 GB/s |
表4.可支持PXI Express模块的最大点对点带宽
* 上述射频信号分析仪由三部分组成:射频下变频器、本地振荡器和数字化仪。数字化仪是用于实现P2P数据流的组件。在这些射频信号分析仪中使用的数字化仪是PXIe-5622。同样,任意波形发生器执行RF信号发生器的P2P数据流。
**PXIe-5122和PXIe-5622的固件版本必须为当前最新的版本才能实现点对点数据流,方法与NI-SCOPE 3.6一样。按照NI-SCOPE 3.6自述文件中的步骤操作,了解如何更新PXIe-5122或PXIe-5622设备上的固件。
***软件设计仪器可能不支持其仪器驱动中的P2P数据流,但通过仪器驱动FPGA扩展以及使用设备的仪器设计库进行编程时,该功能可用。查看设备特定文档描述以了解更多详情。
点对点数据流采用原始二进制格式传输数据,不包括换算或校准。归一化系数可通过NI-SCOPE查询并用于校准二进制数据,而无需换算成伏特值。归一化数据符合以下规律,以便您日后解释二进制信息或将其换算成伏特值。
注意:即使用户指定了NI-SCOPE的纵向值域是±10 V,最大和最小二进制值仍为NI-SCOPE编程的纵向值域(如 ±11 V)。这样操作的目的是为了捕获过冲电压,无论用户是否将值域设置为小于过冲电压。
或者,您可以查询并应用换算系数,以便在单个步骤中校准和换算数据。详细信息,请参阅高速数字化仪帮助。
以下是支持P2P数据流的NI硬件列表:
机箱 | |
---|---|
PXIe-1062Q | |
PXIe-1065/1066DC | |
PXIe-1071 | |
PXIe-1073 | |
PXIe-1075 | |
PXIe-1078 | |
PXIe-1082 | |
PXIe-1083 | |
PXIe-1084 | |
PXIe-1085 | |
PXIe-1085 Gen 3 | |
PXIe-1086 | |
PXIe-1088 | |
PXIe-1090 | |
PXIe-1092 | |
PXIe-1095 | |
控制器 | |
PXIe-8105 | |
PXIe-8106 | |
PXIe-8130 | |
PXIe-8133 | |
PXIe-8135 | |
PXIe-8821 | |
PXIe-8840 | |
PXIe-8861 | |
PXIe-8880/8881 | |
远程控制器 | |
PXIe-8301 | |
PXIe-8360 (PCIe-8361/8362) | |
PXIe-8370 (PCIe-8371/8372) | |
PXIe-PCIe-8375 | |
PXIe-PCIe 8381 | |
PXIe-PCIe 8398/8399 | |
任意波形发生器 | |
PXIe-5450(C及更高版本) | |
PXIe-5451 | |
PXIe-5745 | |
示波器/数字化仪 | |
PXIe-5122** | |
PXIe-5160 | |
PXIe-5162 | |
PXIe-5164*** | |
PXIe-5170*** | |
PXIe-5171*** | |
PXIe-5172*** | |
PXIe-5622** | |
PXIe-5624R | |
PXIe-5763 | |
PXIe-5764 | |
PXIe-5774 | |
PXIe-5775 | |
RF信号分析仪 | |
PXIe-5663* | |
PXIe-5663E* | |
PXIe-5665* | |
PXIe-5667 | |
PXIe-5668R | |
RF信号发生器 | |
PXIe-5673* | |
PXIe-5673E* | |
RF矢量信号收发仪 | |
PXIe-5644R*** | |
PXIe-5645R*** | |
PXIe-5646R*** | |
PXIe-5840*** | |
NI FlexRIO FPGA模块 | |
PXIe-7961R | |
PXIe-7962R | |
PXIe-7965R | |
PXIe-7966R | |
PXIe-7971R | |
PXIe-7972R | |
PXIe-7975R | |
PXIe-7976R | |
FlexRIO协处理器模块 | |
PXIe-7911 | |
PXIe-7912 | |
PXIe-7915 | |
NI高速串行模块 | |
PXIe-6591R | |
PXIe-6592R | |
PXIe-7902 | |
NI R系列设备 | |
PXIe-7820R | |
PXIe-7821R | |
PXIe-7822R | |
PXIe-7846R | |
PXIe-7847R | |
PXIe-7856R | |
PXIe-7857R | |
PXIe-7858R | |
PXIe-7861 | |
PXIe-7862 | |
PXIe-7865 | |
PXIe-7866 | |
PXIe-7867 | |
PXIe-7868 | |
IF收发仪 | |
PXIe-5785 |
表5. NI可支持P2P的硬件
* 上述射频信号分析仪由三部分组成:射频下变频器、本地振荡器和数字化仪。 数字化仪是用于实现P2P数据流的组件。 在这些射频信号分析仪中使用的数字化仪是PXIe-5622。 同样,任意波形发生器执行RF信号发生器的P2P数据流。
**PXIe-5122和PXIe-5622的固件版本必须为当前最新的版本才能实现点对点数据流,方法与NI-SCOPE 3.6一样。按照NI-SCOPE 3.6自述文件中的步骤操作,了解如何更新PXIe-5122或PXIe-5622设备上的固件。
***软件设计仪器可能不支持其仪器驱动中的P2P数据流,但通过仪器驱动FPGA扩展以及使用设备的仪器设计库进行编程时,该功能可用。查看设备特定文档描述以了解更多详情。