NI CompactRIO高性能控制器: 性能和吞吐量基准测试

CompactRIO高性能控制器基于LabVIEW RIO架构,采用了功能强大的Intel Atom片上系统(SoC)和Xilinx Kintex7 FPGA等最新技术。 Intel Atom SoC提供了极高的性能和丰富的功能,包括集成式GPU和双核1.33 GHz处理器。 比起其他CompactRIO控制器的FPGA,Kintex-7 325T FPGA包含大约3倍的复杂逻辑块和超过13倍的DSP片。 FPGA与处理器使用PCI Express总线进行通信,大大提高了吞吐量,并可访问16个DMA通道。

全新CompactRIO高性能控制器采用的LabVIEW RIO架构提供了软件灵活性,可将HMI和控制任务集成到同一个硬件和同一个操作系统中。 这主要归功于Intel Atom SoC和NI Linux Real-Time操作系统提供的特性。 NI Linux Real-Time操作系统可将任务优先级显示给开发人员,为控制任务分配比在同一个应用程序中运行的HMI软件任务更高的优先级。

这些技术的结合大大提高了闭环控制应用的系统吞吐量并降低了延迟。 CompactRIO高性能控制器为嵌入式设计人员提供了灵活强大的硬件,同时还可帮助他们降低系统复杂性和成本。

为了证明CompactRIO高性能控制器的性能,NI研发部设计了一系列基于cRIO-9031高性能控制器的控制和监测应用基准测试。 这些测试同样适用于其他使用相同CPU的CompactRIO高性能控制器产品。

1. 基准测试设置和测量
我们选择了具有代表性的常见控制和监测应用以及这些应用中常见的主要任务进行基准测试。 下表列出了本次研究要进行的测试。

表1 - 在CompactRIO控制器上进行测试,以测量应用的性能和吞吐量

表1 - 在CompactRIO控制器上进行测试,以测量应用的性能和吞吐量

本研究的测试对象是以下硬件终端:

虽然本研究重点关注的是CompactRIO高性能控制器及其与同一产品家族其他控制器(如cRIO-9025)的性能对比,但是其他CompactRIO产品系列的代表性硬件终端,如cRIO-9068和cRIO-9082也包含在测试中,以便读者更完整地了解CompactRIO系统所提供的各种可能性。

CPU使用率作为通用指标来比较这些CompactRIO控制器的相对性能。 对于每个测试,我们通过在稳定的状态下改变数据传输的通道数或控制循环速率来测量CPU使用率。 这些指标可以帮助我们了解可用于添加代码、提高循环速率或增加数据传输通道的资源。

其他考量因素:
. 对于搭载多核处理器的CompactRIO系统,取每个内核测试结果的平均值。
. 对于NI cRIO-9031控制器,分别在启用和禁用嵌入式用户界面的条件下进行测试,以测量该功能对系统整体性能的影响。

2. 测试1——LabVIEW FPGA控制项目范例的性能基准测试
全新高性能CompactRIO系统采用的技术组合为复杂的实际应用带来了无可比拟的性能提升。 针对控制应用测试时,我们选择基于CompactRIO的LabVIEW FPGA控制项目范例。 我们在该项目范例的基础上增加了在Real-Time控制器上执行八通道三次样条轨迹生成算法,进一步增大CPU的负荷。

图1 -基于CompactRIO的LabVIEW FPGA控制项目范例的架构框图包含了一个八通道三次样条轨迹生成算法

图1 -基于CompactRIO的LabVIEW FPGA控制项目范例的架构框图包含了一个八通道三次样条轨迹生成算法

下图显示的数字表示控制循环速率为1.5 kHz时的CPU使用率。 在该速率下,cRIO-9031高性能控制器使用约11%的处理器资源, 而cRIO-9068和cRIO-9025控制器分别需要21%和64%的处理器资源,相比之下,cRIO-9031高性能控制器具有明显的优势。

图2 - 当控制循环速率为1.5 kHz时,运行包含八通道三次样条轨迹生成算法的控制应用程序所需的处理器资源比较

图2 - 当控制循环速率为1.5 kHz时,运行包含八通道三次样条轨迹生成算法的控制应用程序所需的处理器资源比较

对于cRIO-9031高性能控制器,我们在启用嵌入式用户界面的设置下又重复进行了该测试,由于本次测试没有涉及基于CompactRIO的LabVIEW FPGA控制项目范例的人机界面部分,因此CPU占用率并没有明显的变化。

3. 测试2——监测应用的吞吐量基准测试
监测应用中一个常见的任务是将数据从I/O通道移动到实时处理器进行进一步处理、记录或可视化。 我们设计了一个简单的测试来重现这一场景,并测量数据传输通道数量发生变化时的CPU使用率。 每个通道以100kHz传输16位采样数据。 测试不包含任何数据流盘或在线处理。

图3 - 监测应用中一个简化的数据流盘任务的架构框图。

图3 - 监测应用中一个简化的数据流盘任务的架构框图。

下图显示了以100kHz循环速率读写60个通道数据的测试结果。 在这个测试中,我们必须意识到由于硬件架构之间的细微差别可能会给测试带来瓶颈。 例如,cRIO-9068和cRIO-9031均具有16个DMA通道和较高的理论最大数据传输速率: cRIO-9068控制器为320MB/s,cRIO-9031控制器为250MB/s。 然而,cRIO-9031高性能控制器由于采用性能明显较高的处理器而能够以较低的CPU利用率维持较多数量的数据流。

图4 – 每通道控制循环速率为100kHz时读写60个通道的16位采样数据所需的处理器资源

图4 – 每通道控制循环速率为100kHz时读写60个通道的16位采样数据所需的处理器资源

类似于控制应用性能测试,由于本测试没有涉及人机界面,因而cRIO-9031的嵌入式用户界面选项并没有太大的影响。 如需了解嵌入式用户界面功能的影响,请查看测试3。

4. 测试3—复杂真实应用的性能基准测试
充分发挥cRIO高性能控制器功能的最佳方式也许是基于复杂真实应用的测试。 大型应用通常结合了不同类型的常见监测和控制任务,包括具有多速率控制的多个处理循环、数据处理、从I/O通道读写数据、流盘、通过网络将数据传送到远程人机界面以及执行非时间关键型健康和状态监测任务。

我们开发了一个包含上述任务的复杂应用程序,使用RT FIFO、定时循环以及网络流等常见的LabVIEW架构组件来协调各种应用程序组件并实现它们之间的通信。 此外,我们还设计了一个专门的任务,以较高的速度将数据发布到前面板显示控件,以充分发挥cRIO高性能控制器的嵌入式用户界面功能。

图5– 一个真实控制和监测应用的架构框图

图5– 一个真实控制和监测应用的架构框图

使用这一应用程序,NI cRIO-9025可实现大约900Hz的最大控制环速率。 在该速率下,NI cRIO-9025的CPU使用率是86%,而cRIO-9031高性能控制器仅使用可用处理器资源的18%就能达到相同的速率。 这为增加额外的应用程序任务保留了大量的可用CPU资源,或者对于这个复杂的控制和监测应用,循环速率可提高到超过2 kHz。

图6 – 在不同控制循环速率下运行包含多个常见控制和监测任务的复杂应用所需的CPU使用率。

图6 – 在不同控制循环速率下运行包含多个常见控制和监测任务的复杂应用所需的CPU使用率。

5. 嵌入式用户界面的影响
CompactRIO高性能控制器可通过嵌入式界面支持来实现本地HMI,降低了系统成本和复杂性。 这主要归功于这款全新的控制器采用了最新的Intel Atom处理器,该处理器及其具有的显卡支持为使用NI LabVIEW构建控制系统逻辑和触摸用户界面提供了高性能基础。 为了实现该集成,LabVIEW开发环境和NI Linux Real-Time操作系统会将任务优先级显示给开发人员,为控制任务分配比在同一个应用程序中运行的HMI软件任务更高的优先级。

在该方法中,终端的资源用于系统控制和驱动用户界面的显卡。 这降低了系统的硬件成本和维护负担,简化了软件开发的复杂性,但相对于其他显示选项会消耗更多的控制器资源。

为了测量嵌入式界面对处理器资源的影响,我们对测试3进行修改,在高速率下更新其组件,以连续运行HMI。 下图显示了在测试3的活跃用户界面下使用嵌入式用户界面功能的影响。

图7 - 启用嵌入式用户界面功能后在高速率下更新用户界面,可以看到增加的CPU使用率大约恒定在10%。

图7 - 启用嵌入式用户界面功能后在高速率下更新用户界面,可以看到增加的CPU使用率大约恒定在10%。

当满负荷时,使用嵌入式用户界面功能会导致CPU使用率大约增加10%。 类似于测试1和2中,无论数据流通道的数量如何变化,嵌入式用户界面功能的影响保持恒定。

为了支持嵌入式界面的图形处理能力,Intel Atom SoC采用了板载GPU来增强CPU。 GPU通过频繁的处理器中断调用来与处理器进行通信,中断调用需要占用一定的LabVIEW Real-Time应用程序处理时间。 由于Intel Atom CPU的高性能, 在一两千赫兹的控制循环速率下更新GPU导致的处理时间增加是可以接受的,无需修改架构或配置。 为了实现接近5 kHz及以上的控制循环速率,同时仍然利用内嵌式用户界面,我们可以禁用GPU或将LabVIEW控制代码转移到在板载FPGA,详情可参考以下链接。

对于嵌入式用户界面可能会影响系统性能的应用,请遵守以下建议:

  • 通过LabVIEW中的处理器内核分配任务执行来进一步隔离任务。了解更多
  • 如果需要进一步的隔离和更高的硬件可靠性,可将LabVIEW控制代码转移至板载FPGA的硬件逻辑。 了解更多
  • 禁用Intel Atom SoC的GPU,以牺牲CPU利用率来减小抖动。 了解更多。

6. 结论
嵌入式应用可执行的功能越来越多,如运动控制、数据采集、视觉采集和人机界面。 由于NI CompactRIO高性能控制器集成了最先进技术和独特的功能,可大幅加快开发时间并降低系统复杂性和成本,因而成为这些应用的理想选择。

CompactRIO高性能控制比其他控制器产品系列控制器有了显著的性能提升,而且扩展了可兼容NI Linux Real-Time等关键技术的终端范围。 NI CompactRIO高性能控制器基于LabVIEW RIO架构提供了灵活、功能强大的硬件和软件技术,适用于各种嵌入式控制和监测应用。

通过这一系列的基准测试,证明了cRIO-9031高性能控制器相比同类cRIO控制器产品家族中的现有产品,如cRIO-9025,性能大约提升了4倍。然而,整个测试也表明, cRIO-908x控制器仍是目前CompactRIO产品线中最高性能的控制器。 有关这些控制器的更多信息,请访问 www.ni.com/compactrio

7. 下一步

了解更多关于NI CompactRIO高性能控制器

了解更多关于Intel Atom片上系统

了解更多关于Xilinx Kintex 7 FPGA

文章来源:NI官网