您正在设计一个新的测试系统,其中单位吞吐量至关重要。您正在评估使用GPIB、USB、以太网或PCI/PXI Express (PXIe)的多个仪器。如何了解哪些仪器总线可实现足够的系统性能?每种总线选项的理论带宽是评估性能的不错七点,但通常还需要更深入的评估。本文将研究影响仪器总线选择的四个主要因素:总线带宽、延迟、供应商特定的驱动程序实现和应用。
即使在测试系统的简化模型中(见图1),也有许多硬件和软件组件会影响总线性能。在主机中,软件应用程序、操作系统、CPU/RAM组合、实时操作系统支持、多核CPU优化、软件栈、驱动程序和硬件接口都会影响总线性能。在仪器端,I/O硬件和固件、CPU/RAM组合以及测量速度将影响总线性能。更改这些组件中的任何一个都可能改变总线性能,就像更换总线会影响整体系统性能一样。所有这些组件都可以归类为影响总线性能的四个主要因素之一。许多总线性能比较仅关注总线带宽,而忽略了影响实际总线性能的其他硬件和软件组件。系统设计者不仅要评估总线的理论性能,还要评估总线上的特定设备在整个系统中的性能。
如前所述,影响总线性能的四个主要因素是总线带宽、延迟、供应商特定的驱动程序/固件实现和应用。带宽是数据速率。通常以百万位/秒(Mbit/s)为单位。延迟是传输时间。通常以秒为单位。例如,在以太网传输中,大数据块被分成众多小数据包并发送出去。延迟就是指传输一个数据包所需的时间。系统响应数据的速度不能超过总线上的延迟。总线驱动软件、固件和硬件的实现会影响其性能。
并非所有仪器都是一样的。如果PC配备有多核处理器或实时操作系统(RTOS)和更多RAM,则其性能将优于使用较慢处理器和较少RAM的PC。仪器也是如此。无论是PXIe模块化仪器还是传统仪器,仪器设计师在实现上的权衡都会对仪器性能产生影响。PXI Express仪器的主要优点之一在于它们是软件定义的,因此最终用户可以自行决定最佳的实现方案及其权衡取舍。部分仪器还具有可编程FPGA架构,可实现更高的确定性性能,并可在不影响其他系统资源的情况下对仪器进行自定义处理。
影响总线性能的最后一个主要因素是应用或仪器的使用方式。在某些应用中,测量子系统是瓶颈,而在另一些应用中,瓶颈是处理器子系统。了解哪个子系统是瓶颈,就能找到提升性能的途径。关键点仍然是,为了使特定总线具有足够的高性能,它必须满足或超出应用要求。更详细地考虑每个主要因素将有助于用户更好地理解权衡过程。
图2.主流T&M总线的理论带宽与延迟比较
如前所述,延迟将对总线性能产生深远影响,具体取决于数据传输的大小。主流仪器控制总线的理论带宽和延迟(见图2)为总线性能和传输大小之间的关系提供了一些指导。例如,我们来看两条通信总线。快速以太网(100M以太网)的带宽为100 Mbit/s,高于高速GPIB的64 Mbit/s带宽。但是,与高速GPIB延迟(数十微秒)相比,快速以太网的延迟慢得多(毫秒级)。图3显示了同一仪器上多条总线的实际传输速率。对于小于8 K字节的数据传输,高速GPIB可提供更高的性能。但对于大于8 K字节的传输大小,以太网可提供更佳的性能。
许多工程师仍然依赖于具有GPIB或旧以太网接口的老化仪器,了解其性能特征对于维护现有系统非常重要。但是,PXI等现代平台可以显著提高吞吐率、减少延迟并简化与不断发展的架构和需求的集成。随着技术的不断发展,这些升级还有助于支持测试系统并降低长期维护的复杂性。
在比较通信总线和系统总线时,带宽和延迟对总线性能的影响同样适用。GPIB、USB和LAN等通信总线通常用于在PC外部连接外设,具有较长的延迟和较低的带宽。系统总线(如PCI和PCI Express)通常用于PC内部,具有更好的延迟和更高的带宽,为小型和大型传输提供最佳性能。这是因为来自多个通信总线的数据被聚合到系统总线上供主机CPU处理。
从另一个角度看,通信总线的主要价值不是性能,而是其他因素。例如,USB使连接外部设备变得容易,而LAN在长距离分布测量方面十分出色。但这两种总线均通过更高带宽和更低延迟的系统总线(如PCI Express)桥接至CPU和RAM。
实现是影响总线性能的第三个主要因素。例如,总线接口芯片的选择、仪器固件或仪器驱动程序的编码以及CPU和RAM的大小将影响总线性能。考虑两个不同供应商的示波器上标准GPIB和以太网总线实现的情况。图4中的结果显示了实现选择对总线性能的影响。第一个示波器为标准GPIB和以太网的大多数传输大小提供了更好的性能。该基准测试在同一台主机PC上使用相同的GPIB线缆和SCPI命令。唯一的区别是GPIB接口的仪器实现。(这些比较基于老化的仪器,对于演示实现差异如何影响吞吐率非常有用,即使使用相同的总线类型也是如此。)
这种影响尤其成问题,因为大多数仪器供应商未指定其仪器的总线性能。此外,仪器处理器的类型和速度、内存深度、操作系统、Firmware和用户界面软件都会对总线性能产生影响。这意味着系统设计师应在最终仪器选择完成之前对总线性能进行基准测试,尤其是在使用过时的系统或没有明确吞吐率规范的情况下。
另一个影响总线性能的实现因素是仪器驱动程序所需的主机开销。使用系统总线的仪器(如PCI/PXI、PCI Express/PXI Express)可利用直接内存访问(DMA)将数据直接移入/移出系统内存,同时确保主机CPU的干预最小。在这些情况下,CPU的作用主要是配置数据流及其预留内存。相比之下,使用通信总线的仪器驱动程序通常需要主机CPU在每次传入和传出内存时进行紧密密集的管理。这些驱动程序软件堆栈增加了数据传输定时的延迟和抖动,因为它们需要额外的处理且受操作系统优先级的影响。根据所需的吞吐量,驱动软件堆栈会占用处理器容量的很大一部分,甚至会成为数据流的瓶颈。
实现总线高性能的最后一个主要因素是仪器在系统中的应用。某些应用程序需要处理大量数据,如计算FFT和传输大型波形,而其他应用程序的处理需求可能较少,如查找最小值或最大值。但是,其他系统可能对处理需求不敏感,因为处理将在测量结束后离线进行。应用程序的计算强度越高、对延迟的敏感度越大,处理器就越可能成为瓶颈。
在这些应用中,基于系统总线的仪器(如PCI/PXI和PCI Express/PXI Express)将提供更好的解决方案,因为它们支持基于DMA的传输,并提供更低的延迟和更高的带宽(见图3)。另一方面,对于吞吐率和延迟容忍度较低的应用,通常任何总线都可以。在这些情况下,仪器的选择可能取决于其他标准,如测量速度、精确度、精度、距离、成本、耐用性或尺寸。
通过分析影响性能的四个主要因素:总线带宽、总线延迟、供应商特定的实现和应用,有一些系统设计建议值得考虑。首先,为获得最佳性能,测量应尽量靠近CPU或作为PXI系统的一部分。它利用了高性能DMA驱动和低系统总线延迟的优势,同时减少了测量定时和处理器负载的额外延迟。最后,要认识到,即使在同一总线上,对于相同的测量类型,不同的仪器及其驱动程序在吞吐性能和CPU使用率上也会有所不同。因此,如无法找到明确的规范,在做出最终选择之前,可能需要对潜在仪器的总线性能进行基准测试。
当总线性能非常重要时,PXI Express将一流的带宽、低延迟和软件透明度与可扩展性结合在一起,允许用户根据需求升级性能和添加功能,而无需重新设计整个测试系统。