控制和监测应用的基准测试详解

系统测试

4人已加入

描述

最新的NI CompactRIO软件设计控制器cRIO-9068配有Xilinx Zynq片上系统(SOC),它在同一机箱内集成了时钟频率为667 MHz的双核ARM Cortex-A9处理器以及具有85K逻辑单元和220个数字信号处理片的Artix-7 FPGA。两个处理器单元以ARM AXI-4技术为支撑,共享一千多个互联点。 NI LabVIEW Real-Time使用的操作系统是ARM Cortex-A9上的NI Linux Real-Time OS。ARM Cortex-A9包含一个优化的网络协议栈、一个优化的进程调度器以及一个可自动压缩数据的高级文件系统。 这些技术与LabVIEW系统设计软件和NI-RIO驱动相结合,大大提高了系统的吞吐量,加快了数据记录应用程序的数据读写速率,并降低了闭环控制的延迟,从而使得cRIO-9068成为CompactRIO高性价比产品家族中性能最高的成员。 NI研发部编写了一系列控制和监测应用的基准测试代码,用于证明该产品在性能和吞吐量上的大幅提升。

1. 基准测试设置和测量

NI研发部选择了具有代表性的通用控制和监测应用以及这些应用中常见的主要任务进行基准测试。下表简要介绍了本次研究所进行的测试。

NI

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

这些测试在稳定的状态下通过改变I/O通道数量和循环率来测量CPU使用率。通过比较两个CompactRIO控制器的相对性能得出CPU使用率的平均值。这些参数可以帮助用户了解添加代码、提高循环率和增加I/O通道所需的资源。对于cRIO-9068中的双核ARM Cortex-A9处理器,则对两个内核的结果取平均值。

2. 控制应用性能基准测试

cRIO-9068将多种技术相结合,极大提高了真实复杂应用的性能。如果要测试一个复杂的控制场景,可选择 CompactRIO的LabVIEW FPGA控制项目范例来开发三次样条生成算法。然后将应用程序扩展到8个执行低于两毫秒控制循环的并行通道进行算法计算。

NI

图1. CompactRIO的LabVIEW FPGA控制项目范例的架构框图,包含三次样条生成算法

将该基准测试部署到CompactRIO高性价比产品家族的成员NI cRIO-9074和新的cRIO-9068上。cRIO-9074占用72%的可用处理器时间,而cRIO-9068仅占用了11%。

NI

图 2. 比较运行一个控制应用程序所需的处理器时间,该应用程序在2 ms内运行八个通道的样条插值

3. 监测应用吞吐量基准测试

我们设计了一个基准测试来测量cRIO-9068系统从I/O通道至实时应用的数据传输能力,数据传输是监控应用中的常见任务。每个I/O通道的数据流由以100 kHz速率传输的16位采样数据组成。

现有的高性价比CompactRIO产品cRIO-9074占用了 46%的可用处理器时间来读写10个通道的I/ O数据流,而cRIO-9068只需7%。cRIO-9074以这个速率最多可读写25个I/O通道,而cRIO-9068则最多可达100个通道。

NI

图 3. 以100kHz每通道的速率读写10个通道的16位采样数据所需的时间对比

cRIO-9068控制器令人赞叹的数据读写性能大部分归功于在FPGA和ARM处理器之间进行I/ O数据传输的高级AXI-4总线技术。如果单独进行基准测试,该总线的数据传输速率可达300 MB/s,比PCI总线技术要快得多。PCI总线技术的最大理论带宽大约为133.33 MB/s,应用于之前版本的CompactRIO控制器。

cRIO-9068提高的带宽使得开发人员能够同时运行多达16个的独立DMA通道。与之前的CompactRIO控制器相比增加了超过3倍。

4. 控制和监测应用性能的基准测试

cRIO-9068的最佳性能基准测试也许应该是在结合了所有常见监测和控制任务的复杂真实应用上进行测试,包括多速率控制的多个处理循环、数据处理、从I/O通道读取数据并记录到磁盘、通过网络与HMI通信以及执行非时间关键型健康和状态监测任务。

该复杂应用通过常见的LabVIEW架构组件(如实时FIFO、定时循环和网络流等)在各种应用程序组件之间进行协调和沟通。

NI

图 4. 该架构框图显示的是一个复杂的控制和监测应用

如果在该应用上进行测试,cRIO-9074在占用97%处理器的情况下可达到最大控制回路频率500 Hz,而cRIO-9068只需占用18%的可用处理器时间即可达到500 Hz循环频率。这样可以为复杂的控制和监测应用留出大量的处理器时间来处理其他应用任务或将循环率提高到超过2 kHz。

NI

图 5. 比较以不同控制循环率运行包含多个常见监控任务的复杂应用所需的处理器时间。

5. 提升cRIO-9068性能

显然,如果将cRIO-9068用于真实应用和任务,在许多对于监控应用来说十分重要的指标上,cRIO-9068均证明比其他高性价比CompactRIO控制器具有更高的性能。这些改进归功于其独特的硬件架构以NI Linux Real-Time OS的使用。

由于cRIO-9068在设计上与cRIO-9074等其他高性价比CompactRIO系统大相径庭,因此性能的提升很大程度上取决于应用的设计方法和控制器正在使用的特性,认识这一点是非常重要的。

但是通过这些基准测试可以证明,cRIO-9068的性能比同一系列的控制器(如cRIO-9074)大约提高了4倍。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分