Ocho maneras de incrementar el rendimiento del sistema GPIB

Información general

Al construir un sistema de medidas automatizadas, nunca se puede tener demasiado rendimiento. Incrementar el rendimiento tiene implicaciones claras para las pruebas de producción y las aplicaciones de adquisición de datos basadas en GPIB. Al incrementar el rendimiento de su sistema, puede:

- Incrementar el rendimiento de las pruebas y probar más productos en menos tiempo
- Validar nuevos productos rápidamente para superar a la competencia en el mercado
- Minimizar los gastos de capital en equipos de pruebas

En esencia, ahorrar tiempo se traduce en superar las expectativas de entrega del cliente, desarrollo de productos más rápido e inversiones más inteligentes en equipos de pruebas que tienen efectos positivos en el resultado final. Debido a que el bus IEEE 488 (GPIB) es la columna vertebral de muchos sistemas de medidas automatizadas en la actualidad, tiene sentido evaluar diferentes opciones que lo ayuden a aumentar el rendimiento del sistema GPIB. Los ingenieros de pruebas e I&D continúan usando GPIB porque es una interfaz fácil de usar y comprobada que ofrece la selección más amplia de dispositivos de medidas que usted puede incorporar en un sistema de medidas automatizadas. Por estas razones, esta nota de aplicación discutirá ocho opciones que puede usar en armonía con GPIB para ayudar a incrementar el rendimiento del sistema.

Contenido

Las soluciones abarcan software y hardware

Las ocho soluciones a continuación abarcan opciones de hardware y software que puede usar directamente para incrementar el rendimiento del sistema GPIB. Puede usar estas ocho soluciones juntas o de forma independiente e incorporar las sugerencias que hagan más sentido para su sistema en particular.

1. Utilizar interfaces GPIB que permitan DMA

PCI ofrece un rendimiento de transferencia de datos superior, una vez que los datos se reciben a través de GPIB. A diferencia de una PC basada en ISA, en una computadora basada en PCI no hay un controlador DMA dedicado que pueda ser compartido por tarjetas periféricas para transferir datos directamente a la memoria de la PC. Para obtener el máximo rendimiento, las tarjetas periféricas PCI deben tener su propio controlador DMA integrado para transferir datos directamente a la memoria de la PC de manera eficiente para que el microprocesador pueda procesar los datos. Las tarjetas con esta capacidad se identifican como maestros de bus, lo que significa que pueden tomar el control del bus PCI y transferir datos independientemente del microprocesador del sistema.

Las tarjetas periféricas que no tienen capacidades de maestro de bus interrumpen el microprocesador y hacen que se detengan todas las tareas de procesamiento simplemente para transferir datos. Esta interrupción puede entorpecer su aplicación e impedir significativamente el rendimiento general del sistema.

2. Utilizar controladores e instrumentos GPIB compatibles con 8 MB/s

HS488 es una extensión de alta velocidad de IEEE 488 que incrementa las capacidades de rendimiento máximo de GPIB a 8 MB/s. Las evaluaciones han arrojado mejoras de rendimiento del 25 al 3,000 por ciento. Un evaluación reciente con un osciloscopio demostró tasas de transferencia de datos de hasta 7.4 MB/s entre la PC y el instrumento. HS488 es fácil de usar porque es implementado en el hardware del controlador GPIB; no requiere que se realice ningún cambio en el software de la aplicación para obtener las ventajas de un mayor rendimiento. HS488 es probado en campo y es completamente compatible con los instrumentos IEEE 488 existentes. Tanto los instrumentos de alta velocidad como los IEEE 488 estándares pueden coexistir en los mismos sistemas sin problemas de compatibilidad.

Los controladores GPIB compatibles con HS488 ya están disponibles en NI. Para más información sobre HS488, consulte los enlaces a continuación.

3. Busque instrumentos GPIB que tengan capacidades optimizadas de medidas y análisis de comandos

Procesar comandos y depositar información de medidas en el búfer de salida GPIB del instrumento puede ser una tarea que requiere mucho tiempo cuando se adquieren medidas de un instrumento GPIB. Los proveedores de instrumentos deben optimizar estos potenciales cuellos de botella para garantizar el rendimiento de medidas más rápido posible. La velocidad y el tipo de microprocesador integrado y el bus del sistema interno pueden darle pistas sobre las capacidades de procesamiento del instrumento. Sin embargo, no se puede aprovechar al máximo el potente hardware sin un firmware optimizado. Si el proveedor del instrumento no ofrece especificaciones o información de referencia, en su mayoría, debe experimentar con diferentes instrumentos para ver cuáles ofrecen el mejor rendimiento al configurar y adquirir medidas a través de GPIB.

4. Utilizar controladores de instrumentos GPIB diseñados para un alto rendimiento

Los controladores IVI están diseñados para mejorar el rendimiento del sistema al recordar el estado de un instrumento en particular. Un motor de caché de estado lleva un registro del estado de la configuración del hardware en el instrumento. Esta característica mejora significativamente el rendimiento de las pruebas porque ayuda a que su sistema se comporte de manera inteligente al realizar E/S de instrumentos únicamente cuando es necesario modificar el valor de una configuración de hardware. Por ejemplo, si simplemente está realizando barridos de la frecuencia de una señal de excitación, no querrá volver a enviar información de amplitud, forma de onda, fase y otros tipos de señal una y otra vez porque es redundante. Los controladores de instrumentos VXI plug-and-play actuales no ofrecen capacidades de almacenamiento en caché de estado.

Con los controladores IVI, también puede configurar sus controladores de instrumentos para que se ejecuten en modos especiales y obtener los mejores resultados durante el desarrollo de las pruebas o la implementación del sistema. Por ejemplo, usted puede configurar el controlador para que verifique automáticamente los rangos de todos los valores que intenta enviar al instrumento y forzarlos a valores válidos si es necesario. También puede configurar el controlador para que verifique automáticamente el byte de estado de su instrumento después de que se le envíe cada comando. Todas estas configuraciones de "modo de desarrollo" se pueden desactivar rápidamente cuando implementa su programa de pruebas en la línea de producción para una ejecución más rápida posible. Usted obtiene lo mejor de ambos mundos: excelentes capacidades de depuración y tiempos de ejecución más rápidos.

Consulte la ayuda del controlador IVI para obtener información detallada sobre cómo aprovechar estas capacidades. Los controladores IVI se crean en base a una especificación industrial abierta publicada por la Fundación IVI, que consta de más de 20 compañías de usuarios y proveedores diferentes. 

Ejemplo de evaluación – Medir la magnitud de la respuesta del sistema versus la frecuencia
Considere la tarea de determinar la respuesta de frecuencia de un sistema no identificado. Esto requiere tanto un generador de funciones/forma de onda para generar ondas sinusoidales a varias frecuencias como un DMM o un osciloscopio para medir los voltajes de salida del sistema bajo prueba. Puede ver a continuación el pseudo-código de un programa de pruebas que utiliza llamadas de controladores de instrumentos de alto nivel para programar un generador de funciones y un osciloscopio.

Pseudo-código y configuración de prueba para la prueba de barrido sinusoidal:

Iniciar y configurar el osciloscopio
Iniciar y configurar el generador de frecuencia
While (frecuencia < EndFreq)
CICLO DE INICIO

Generar onda sinusoidal
Leer forma de onda de estímulo (canal de alcance 1)
Leer forma de onda de respuesta (canal de alcance 2)
Calcular la magnitud y la diferencia de fase entre la magnitud de almacenamiento de estímulo y la respuesta y la frecuencia de incremento de fase

CICLO FINAL

Graficar la magnitud y la diferencia de fase
Cerrar DMM
Cerrar generador de frecuencia


Este proceso de prueba se implementó utilizando un generador de funciones HP 33120A y un osciloscopio HP 54645D. La Tabla 1 resalta la diferencia de rendimiento entre IVI y los controladores tradicionales para esta prueba en particular.

 

Tabla 1. Evaluación de caché de estado

Caché de estadoTiempo de prueba (segundos)Diferencia de rendimiento
Apagado
(Controladores tradicionales VXI plug-and-play)
35.0N/A
Activado
(Controladores IVI)
13.2265%


5. Considere descargar el procesamiento de datos a la PC host

Continuamos viendo mejoras en las capacidades de procesamiento y análisis de los instrumentos. Sin embargo, es difícil para los proveedores de instrumentos mantenerse al día con la industria de las PCs para brindarle las últimas tecnologías de procesamiento. Muchas veces, la incorporación de un nuevo procesador requiere que el proveedor rediseñe el instrumento. Es posible que deba comprar una nueva versión del instrumento para aprovechar las capacidades de un mayor rendimiento.

Para asegurarse de que siempre utiliza las capacidades de procesamiento más potentes que tiene a su disposición, debe considerar descargar algunos análisis de cómputo intenso a su PC en lugar de confiar en las capacidades de procesamiento internas y, a veces, obsoletas del instrumento. En general, las capacidades de la PC avanzan a un ritmo más rápido que las capacidades de los instrumentos. Lo más probable es que reemplace sus PCs con mayor frecuencia que sus instrumentos. Con cada nueva generación de PC, puede obtener nuevas ganancias de rendimiento eligiendo usar la PC para algunos de sus análisis y procesamientos de medidas.

Además, debido a que los instrumentos son cajas cerradas, usted no puede personalizar el análisis. Con la PC, puede agregar fácilmente análisis personalizados porque muchos proveedores de software de instrumentación ofrecen bibliotecas completas para procesamiento de señales, filtros y análisis general para simplificar enormemente la tarea de definir rutinas de análisis personalizadas.

6. Considerar el uso de multithreading en software

Multithreading es un método de programación en el que el trabajo de una aplicación se divide en diferentes tareas o subprocesos. Estos diferentes subprocesos, que son creados por el subproceso principal de una aplicación, pueden ejecutarse independientemente de otros subprocesos en el sistema. Cuando un subproceso completa su tarea, sale. El subproceso principal de una aplicación es responsable de cerrar la aplicación una vez que se han completado todas las tareas. Si su sistema tiene más de un procesador, puede incrementar el rendimiento de su aplicación ejecutando simultáneamente subprocesos individuales en procesadores separados. También puede ajustar los sistemas de un solo procesador para obtener un mayor rendimiento, asignando segmentos de tiempo de procesador apropiados para cada subproceso en su aplicación. Al configurar la cantidad de tiempo del procesador asignado para cada subproceso, puede mejorar el rendimiento de su aplicación porque el procesador puede continuar ejecutando un subproceso mientras espera eventos externos antes de ejecutar otro subproceso, un escenario común en las aplicaciones GPIB.

Las aplicaciones GPIB pueden aprovechar multithreading de varias maneras. Multithreading puede ayudarlo a aislar tareas de aplicaciones separadas para administrar los recursos del sistema de manera más eficiente. Puede usar multithreading para aislar tareas críticas en el tiempo en subprocesos separados para que pueda monitorear eventos críticos en el tiempo, como una solicitud de servicio (SRQ), mientras procesa simultáneamente los datos que ya están disponibles en la memoria.

Por ejemplo, una aplicación puede tener tres subprocesos con diferentes responsabilidades: uno que administra la entrada del usuario, un segundo que adquiere y registra datos y un tercero responsable de procesar y mostrar datos. El procesamiento y la visualización de datos pueden llevar mucho tiempo y un uso intensivo del procesador. La cantidad de datos y la frecuencia con la que usted los adquiere pueden variar. Muchas veces, las aplicaciones también pueden verificar constantemente los SRQ de los instrumentos. La interacción del usuario puede ser un evento esporádico en comparación con otras actividades continuas en la aplicación. Al utilizar multithreading, puede aislar estas tareas y abordar las necesidades de procesamiento de cada tarea individual. Además, para las aplicaciones que usan más de una interfaz GPIB, se puede dedicar un solo subproceso para administrar cada interfaz GPIB y la instrumentación de cada control de interfaz.

El software NI-488.2 de NI es seguro para multithreading y ofrece una funcionalidad completa para aplicaciones de varios subprocesos. NI LabWindows™/CVI y LabVIEW también vienen completos con capacidades de multithreading para aplicaciones de control de instrumentos. Consulte usar LabVIEW para crear aplicaciones de multithreading para obtener el máximo rendimiento y fiabilidad y multithreading en LabWindows/CVI para obtener más información sobre Multithreading en LabVIEW y LabWindows/CVI.

7. Usar formatos de datos de instrumentos nativos

Los microprocesadores realizan cálculos de medidas en formato binario. Sin embargo, cuando se transfieren datos a través de GPIB, muchas veces los datos se convierten a un formato alfanumérico (generalmente ASCII). El rendimiento se ve afectado porque se emplea tiempo en realizar dos conversiones de datos. La primera conversión ocurre en el instrumento donde los datos binarios se convierten a ASCII para transferirlos a través de GPIB. Esta conversión puede llevar mucho tiempo porque el procesador en el instrumento normalmente tiene una fracción de la potencia de procesamiento que se encuentra en las PCs más recientes disponibles en el mercado hoy en día. La segunda conversión ocurre en la PC donde usted escribe una rutina de análisis de datos para convertir los datos de medidas de ASCII a binario para su posterior procesamiento y análisis de los datos. Para eliminar la sobrecarga de ambas operaciones, considere transferir los datos en el formato de datos nativo del instrumento (binario).

8. Considerar el uso de instrumentos insertables y modulares para aplicaciones exigentes

Para aplicaciones que requieren transferencia de datos, transferencias de datos pequeñas y rápidas, y capacidades de disparo y sincronización muy precisas, considere usar un instrumento insertable y modular para realizar algunas de sus medidas. Estos instrumentos están disponibles para plataformas PCI, PXI/CompactPCI y VXI. Con cualquiera de estas plataformas, usted puede controlar fácilmente sus instrumentos GPIB, por lo que obtiene lo mejor de ambos mundos.

Desde una perspectiva de costos, PXI/CompactPCI ofrece una solución económica para entornos de pruebas de producción porque es resistente y se basa directamente en el mismo bus PCI que encuentra en su PC de escritorio. La instrumentación insertable y modular basada en PXI/CompactPCI ofrece muchos beneficios:

 

  • Siete ranuras PCI
  • Capacidad DMA de bus maestro para transferir de datos directamente a la memoria de la PC
  • Empaque extremadamente resistente y modular
  • Temporización del plano trasero y disparo
  • Software Windows comercial y estándar, tal como lo usa con las PCs de escritorio
  • Software de sistemas de PC de escritorio que funcionan en PCs integradas PXI/CompactPCI
  • Instrumentos y digitalizadores de bajo costo que no sacrifican la precisión de las medidas
  • Menor latencia del primer byte
  • Fácil control de dispositivos de medidas GPIB


Las soluciones de instrumentación modular son opciones atractivas porque estos sistemas cubren tres necesidades que existen en los sistemas de medidas y automatización. El primer requisito es poder transferir grandes cantidades de datos hacia y desde la memoria de la PC. Dispositivos como osciloscopios, generadores de funciones arbitrarias y digitalizadores de alta velocidad requieren suficiente ancho de banda de bus para garantizar que los datos se transfieran hacia y desde la memoria de la PC en el menor tiempo posible.

El segundo requisito es la comunicación eficiente con dispositivos que transfieren cantidades muy pequeñas de datos, como contadores/temporizadores, fuentes de alimentación y multímetros digitales. La comunicación eficiente para estos dispositivos dependen principalmente del tiempo que se tarda en enviar el primer byte de información (latencia del primer byte). Esta sobrecarga es significativa porque la cantidad total de datos a transferir es pequeña. La latencia del primer byte para PCI, PXI/CompactPCI y VXI se encuentra entre 10 y 100 ns. Para GPIB, la latencia del primer byte es de alrededor 100 µs. Una pequeña latencia del primer byte garantiza una comunicación rápida para los dispositivos en los que la cantidad de datos que se transfiere es pequeña.

El tercer requisito es poder interactuar con los instrumentos GPIB existentes que no están disponibles para la plataforma modular. Los módulos/tarjetas controladoras GPIB de NI están disponibles y manejan este requisito.

Conclusiones

Hay muchas opciones para incrementar el rendimiento del sistema GPIB. Las opciones discutidas en esta nota de aplicación abarcan los instrumentos que usted elige usar, el controlador GPIB que compra y el software y la metodología de diseño que usa para construir sus aplicaciones. Formule una lista de verificación realista y basada en los consejos anteriores u otras ideas que pueda pensar por su cuenta y luego asegúrese de abordarlas directamente con las medidas adecuadas. Puede encontrar que su sistema GPIB actual tiene capacidades de rendimiento que no ha explotado por completo.

Para obtener más información sobre las interfaces de control de instrumentos de NI y GPIB, consulte los enlaces relacionados a continuación.

La marca LabWindows se usa bajo una licencia de Microsoft Corporation. Windows es una marca comercial registrada de Microsoft Corporation en los Estados Unidos y otros países.

Was this information helpful?

Yes

No