Está diseñando un nuevo sistema de prueba donde el rendimiento de la unidad es crítico. Está evaluando varios instrumentos que utilizan GPIB, USB, Ethernet o PCI/PXI Express (PXIe). ¿Cómo saber qué buses de instrumentos producirán suficiente rendimiento del sistema? El ancho de banda teórico de cada opción de bus es un gran lugar para comenzar a evaluar el rendimiento, pero a menudo la evaluación necesita profundizar. Este documento examinará los cuatro factores principales que afectan la selección del bus de instrumentos: ancho de banda del bus, latencia, implementación de controladores específicos del proveedor y aplicación.
Incluso en un modelo simplificado de un sistema de prueba (ver Figura 1), hay muchos componentes de hardware y software que pueden afectar el rendimiento del bus. En el host, la aplicación de software, el sistema operativo, la combinación CPU/RAM, el soporte de SO en tiempo real, la optimización de CPU multinúcleo, las pilas de software, los controladores y la interfaz de hardware afectarán el rendimiento del bus. En el lado del instrumento, el hardware y firmware de E/S, la combinación CPU/RAM y la velocidad de medición afectarán el rendimiento del bus. Cambiar cualquiera de estos componentes puede cambiar el rendimiento del bus, al igual que cambiar de un bus a otro afectará el rendimiento general del sistema. Todos estos componentes se pueden clasificar en uno de los cuatro factores principales que afectan el rendimiento del bus. Muchas comparaciones de rendimiento de bus se centran únicamente en el ancho de banda del bus, ignorando los otros componentes de hardware y software que influyen en el rendimiento real del bus. Los diseñadores de sistemas deben evaluar no solo el rendimiento teórico de un bus, sino también el rendimiento de los dispositivos específicos en ese bus en el contexto de todo el sistema.
Como se indicó anteriormente, los cuatro factores principales que afectan el rendimiento del bus son el ancho de banda del bus, la latencia, la implementación de controladores/firmware específicos del proveedor y la aplicación. El ancho de banda es la velocidad de datos. Esto generalmente se mide en millones de bits por segundo (Mbit/s). La latencia es el tiempo de transferencia. Esto se mide generalmente en segundos. Por ejemplo, en las transferencias Ethernet, los grandes bloques de datos se dividen en pequeños segmentos y se envían en múltiples paquetes. La latencia es la cantidad de tiempo para transferir uno de estos paquetes. Un sistema no puede responder a los datos más rápido que la latencia en sus buses. La implementación del software, Firmware y hardware del controlador de bus afectará su rendimiento.
No todos los instrumentos son iguales. Un PC implementado con procesador multinúcleo o sistema operativo en tiempo real (RTOS) y más RAM tendrá un mayor rendimiento que uno con un procesador más lento y menos RAM. Lo mismo se aplica a los instrumentos. Las compensaciones de implementación hechas por el diseñador del instrumento, ya sea un instrumento modular PXIe o tradicional, tendrán un impacto en el rendimiento del instrumento. Uno de los principales beneficios de los instrumentos PXI Express es que están definidos por software para que el usuario final pueda decidir las mejores soluciones de compromiso en la implementación. Algunos también tienen arquitecturas FPGA programables, que permiten un rendimiento más determinista y la opción de hacer un procesamiento personalizado en el instrumento sin afectar a otros recursos del sistema.
El último factor importante que afecta el rendimiento del bus es la aplicación o cómo se utiliza el instrumento. En algunas aplicaciones, el subsistema de medición es el cuello de botella, mientras que en otras el cuello de botella es el subsistema procesador. Comprender qué subsistema es el cuello de botella proporciona un camino para mejorar el rendimiento. Y el punto clave sigue siendo que para que un bus en particular tenga un rendimiento suficientemente alto, debe cumplir o superar los requisitos de la aplicación. Considerar cada factor importante con más detalle ayudará a los usuarios a comprender mejor las compensaciones.
Figura 2. Anchos de banda teóricos frente a latencias de los buses T&M convencionales
Como se mencionó anteriormente, la latencia tendrá un profundo impacto en el rendimiento del bus dependiendo del tamaño de las transferencias de datos. El ancho de banda teórico y la latencia de los buses de control de instrumentos convencionales (véase la Figura 2) proporcionan alguna orientación sobre la relación entre el rendimiento del bus y el tamaño de la transferencia. Por ejemplo, veamos dos buses de comunicación. Fast Ethernet (100M Ethernet) tiene un ancho de banda de 100 Mbit/s que es superior al ancho de banda de 64 Mbit/s de GPIB de alta velocidad. Pero la latencia de Fast Ethernet es mucho más lenta, en el rango de milisegundos, que la latencia de GPIB de alta velocidad, que está en el rango de decenas de microsegundos. La figura 3 muestra el rendimiento del bus, la tasa de transferencia real, para múltiples buses en el mismo instrumento. Para transferencias de datos que son menores de 8 Kbytes, GPIB de alta velocidad proporciona un mayor rendimiento. Pero para tamaños de transferencia que son mayores de 8 Kbytes, Ethernet proporciona un mejor rendimiento.
Muchos ingenieros todavía confían en instrumentos antiguos con interfaces GPIB o Ethernet antiguas, y entender sus características de rendimiento es importante para mantener los sistemas existentes. Sin embargo, las plataformas modernas como PXI pueden mejorar significativamente el rendimiento, reducir la latencia y simplificar la integración con arquitecturas y requisitos en evolución. Estas actualizaciones también ayudan a respaldar los sistemas de prueba a medida que la tecnología continúa evolucionando y reduce la complejidad del mantenimiento a largo plazo.
El mismo principio de que tanto el ancho de banda como la latencia afectan al rendimiento del bus también se aplica cuando se comparan buses de comunicación con buses del sistema. Los buses de comunicaciones, como GPIB, USB y LAN, se usan típicamente fuera del PC para conectar periféricos y tienen latencias más largas y anchos de banda más bajos. Los buses de sistema, como PCI y PCI Express, se utilizan generalmente dentro del PC y tienen mejores latencias con anchos de banda mucho más altos, lo que proporciona el mejor rendimiento tanto para tamaños de transferencia pequeños como grandes. Esto se debe a que los datos de múltiples buses de comunicación se agregan a los buses del sistema para su procesamiento por la CPU host.
Otra forma de verlo es que el valor primario de los buses de comunicación no es el rendimiento, sino algún otro factor. Por ejemplo, USB facilita la conexión de dispositivos externos y LAN es excelente para distribuir mediciones a largas distancias. Pero ambos buses están conectados a la CPU y RAM por buses de sistema de mayor ancho de banda y menor latencia como PCI Express.
La implementación es el tercer factor importante que afecta el rendimiento del bus. Por ejemplo, la selección de chips de interfaz de bus, la codificación del Firmware del instrumento o Instrument Drivers, y el tamaño de CPU y RAM afectarán el rendimiento del bus. Considere el caso de las implementaciones estándar de bus GPIB y Ethernet en los osciloscopios de dos proveedores diferentes. Los resultados de la Figura 4 muestran el impacto de las opciones de implementación en el rendimiento del bus. El primer osciloscopio proporciona un mejor rendimiento para la mayoría de los tamaños de transferencia tanto para GPIB estándar como para Ethernet. Este benchmark utiliza comandos SCPI en el mismo PC con los mismos cables GPIB. La única diferencia fue la implementación del instrumento de las interfaces GPIB. (Estas comparaciones se basan en instrumentos antiguos y siguen siendo útiles para ilustrar cómo las diferencias de implementación pueden afectar el rendimiento, incluso cuando se usa el mismo tipo de bus).
Este impacto es particularmente problemático porque la mayoría de los proveedores de instrumentos no especifican el rendimiento del bus para sus instrumentos. Además, el tipo y velocidad del procesador de instrumentos, profundidad de memoria, sistema operativo, Firmware y software de interfaz de usuario tienen un impacto en el rendimiento del bus. Esto significa que los diseñadores de sistemas deben evaluar el rendimiento del bus antes de que se complete la selección final del instrumento, especialmente cuando trabajan con sistemas obsoletos o en ausencia de especificaciones de rendimiento claras.
Otro gran impacto de implementación en el rendimiento del bus es la sobrecarga del host requerida por el controlador del instrumento. Los instrumentos que utilizan buses del sistema, como PCI/PXI, PCI Express/PXI Express, pueden utilizar el acceso directo a la memoria (DMA) para mover los datos directamente a/desde la memoria del sistema con una mínima intervención de la CPU host. En estos casos, el papel de la CPU se centra principalmente en la configuración del flujo de datos y su memoria reservada. Por el contrario, Instrument Drivers que utilizan buses de comunicación a menudo requieren una gestión cercana e intensiva por parte de la CPU host en cada transferencia dentro y fuera de la memoria. Estas pilas de software de controlador añaden retrasos y fluctuaciones en el tiempo de transferencia de datos porque requieren procesamiento adicional y están sujetas a las prioridades del sistema operativo. Dependiendo del rendimiento requerido, la pila de software del controlador puede consumir una parte significativa de la capacidad del procesador e incluso podría convertirse en un cuello de botella en el flujo de datos.
El último factor importante para que un bus tenga un alto rendimiento es la aplicación del instrumento en el sistema. Algunas aplicaciones requieren mucho procesamiento de datos, como calcular la FFT y transferir grandes formas de onda, mientras que otras pueden tener menores necesidades de procesamiento, como buscar valores mínimos o máximos. Sin embargo, otros sistemas pueden no ser sensibles a las necesidades de procesamiento en absoluto porque el procesamiento se producirá fuera de línea después de la conclusión de una medición. Cuanto más intensiva en computación y sensible a la latencia es la aplicación, más el procesador puede convertirse en un cuello de botella.
En estas aplicaciones, los instrumentos basados en buses de sistema como PCI/PXI y PCI Express/PXI Express proporcionarán una mejor solución porque admiten transferencias basadas en DMA y ofrecen latencias más bajas y mayor ancho de banda (consulte la Figura 3). Por otro lado, para aplicaciones de menor rendimiento y tolerantes a la latencia, a menudo cualquier bus servirá. En esos casos, la selección del instrumento puede depender de otros criterios como velocidad de medición, la exactitud, la precisión, la distancia, el costo, la robustez o el tamaño.
Del análisis de los cuatro factores principales que afectan el rendimiento: ancho de banda del bus, latencia del bus, implementación específica del proveedor y aplicación, hay algunas recomendaciones de diseño del sistema que vale la pena considerar. En primer lugar, para obtener el máximo rendimiento, mantenga las mediciones lo más cerca posible de la CPU o como parte del sistema con PXI. Esto aprovecha los controladores de mayor rendimiento con DMA y baja latencia de los buses del sistema, al tiempo que reduce los retrasos adicionales en el tiempo de medición y la carga en el procesador. Por último, reconozca que incluso dentro del mismo bus y para el mismo tipo de medición, los diferentes instrumentos y sus controladores varían en su rendimiento y uso de CPU. Por lo tanto, si no puede encontrar especificaciones claras, es posible que deba evaluar el rendimiento del bus de instrumentos potenciales antes de hacer la selección final.
Cuando el rendimiento del bus importa, PXI Express combina el mejor ancho de banda de su clase, baja latencia y transparencia de software con escalabilidad, lo que le permite actualizar el rendimiento y agregar capacidades a medida que evolucionan los requisitos, sin rediseñar todo su sistema de prueba.