Con la tecnología de E/S reconfigurable (RIO) de NI, puede definir sus propios circuitos de hardware de medición personalizados utilizando chips FPGA reconfigurables y herramientas de desarrollo gráfico NI LabVIEW. Los dispositivos RIO multifunción de la serie R ofrecen la mejor combinación de valor y rendimiento al integrar esta tecnología FPGA con ocho entradas analógicas, ocho salidas analógicas y hasta 96 líneas de E/S digitales en un solo dispositivo que se ofrece en factores de forma de PC estándar como PCI, PCI Express, PXI/CompactPCI y USB. Con el LabVIEW FPGA Module, puede crear sus propias personalidades de hardware para la adquisición de datos personalizada, el control de alta velocidad, los protocolos de comunicaciones digitales, la simulación de sensores y el procesamiento de señales integrado sin conocimiento profundo de los lenguajes de descripción de hardware.
Figura 1. Los dispositivos de la serie R se ofrecen en factores de forma de PC estándar como PCI, PCI Express, PXI/CompactPCI y USB.
Los dispositivos RIO multifunción más recientes se pueden encontrar en las siguientes páginas de la tienda:
Los nuevos dispositivos de la Serie R están equipados con FPGA Kintex-7 de alto rendimiento, que ofrecen capacidades de optimización mejoradas para lograr una ejecución de código más rápida y más capacidad de código LabVIEW que los dispositivos de la Serie R de la generación anterior. Las nuevas FPGA Kintex-7 son ideales para dispositivos USB Serie R. Esta familia de dispositivos tiene la capacidad y el rendimiento de los FPGA anteriores de gama alta, pero con la mitad del consumo de energía. La impresionante reducción de potencia ha resultado en la capacidad de empaquetar hasta 10 veces la capacidad de procesamiento de señales digitales (DSP) por dispositivo que la generación anterior de dispositivos de la Serie R. Con este aumento en los recursos lógicos y DSP, puede implementar algoritmos más complejos con un uso más extenso del procesamiento de señales y análisis en tiempo real, y abordar las crecientes velocidades de datos de E/S y la complejidad de las actuales aplicaciones. Para obtener más información sobre las FPGA de Kintex-7, consulte [Ventajas de los módulos FPGA de la serie 7 de Xilinx].
Además, los nuevos dispositivos NI USB-785xR pueden muestrear hasta 1 M/s en los ocho canales de entrada analógicos con resolución de 16 bits y resolución de ganancia seleccionable de ±10 V, ±5 V, ±2 V y ±1 V. Con la ejecución paralela basada en FPGA, múltiples bucles de control no tienen que competir por el ancho de banda del procesador. Las velocidades de entrada analógicas más rápidas también mejoran la precisión de disparo analógico y las capacidades de medición de frecuencia. Los nuevos dispositivos NI USB-785xR también admiten de forma nativa E/S de punto fijo, lo que le permite trabajar directamente con las unidades de ingeniería de la FPGA.
Por último, los nuevos dispositivos de la Serie R cuentan con canales de E/S digitales más rápidos que pueden alternar a velocidades de hasta 80 MHz. Además, puede seleccionar los niveles de tensión de las líneas de E/S digitales directamente desde LabVIEW FPGA. Los niveles lógicos disponibles son 3,3 V, 2,5 V, 1,8 V, 1,5 V y 1,2 V.
El número de puertas ha sido tradicionalmente una forma de comparar chips FPGA con la tecnología ASIC, pero no describe realmente el número de componentes individuales dentro de un FPGA. Esta es una de las razones por las que Xilinx se ha alejado de especificar el número de puertas en una FPGA. En su lugar, se comparan en algunos componentes diferentes, incluidos biestables, tablas de consulta (LUT), segmentos DSP y RAM de bloque disponible. Revise las tablas de la guía Slices on an FPGA Chip para obtener más información.
Desafortunadamente, es difícil determinar si una aplicación o programa requerirá una FPGA más grande o más pequeña. El LabVIEW FPGA Module y el controlador NI-RIO le dan la capacidad de compilar diagramas de bloques sin tener ningún hardware en absoluto, así que la mejor manera de ver cuántos recursos necesita es probarlo.
Puede utilizar lo siguiente como guía general al decidir qué FPGA funciona para su aplicación: Para una aplicación que realiza temporización, disparo y sincronización básicos en la FPGA, puede usar una FPGA más pequeña. Si la aplicación incluye temporización, activación y sincronización junto con procesamiento de señal adicional en la FPGA (control, filtrado digital, activación analógica compleja), necesitará una FPGA más grande que tenga más recursos para implementar esas operaciones.
En general, un programa compilado para una FPGA Virtex-II de 1M compuertas también debería compilarse para una Virtex-5 LX30 o superior, y un programa compilado para una FPGA Virtex-II de 3M compuertas también debería compilarse para una Virtex-5 LX50 o superior. Debido a las diferencias arquitectónicas entre las dos familias FPGA, no hay garantías, y la única manera de ver si un programa migra entre familias es probarlo. Con el LabVIEW FPGA Module y el controlador NI-RIO, puede compilar diagramas de bloques sin tener ningún hardware.
No. Usando el LabVIEW FPGA Module, puede sintetizar código gráfico directamente desde LabVIEW al FPGA en dispositivos de la Serie R. Si bien saber cómo LabVIEW compila el diagrama de bloques gráfico a VHDL puede ayudarle a identificar las compensaciones de optimización, no necesita entender las FPGA o VHDL para usar LabVIEW. LabVIEW es ideal para ingenieros que necesitan la personalización de hardware que ofrece la tecnología FPGA pero que no conocen ni entienden lenguajes de descripción de hardware de bajo nivel como VHDL o Verilog.
Sí, debe usar el LabVIEW FPGA Module para programar dispositivos de la Serie R. Sin embargo, si tiene núcleos IP VHDL existentes u otro código VHDL que desee utilizar, puede integrar VHDL en un diagrama de bloques LabVIEW utilizando el nodo de interfaz HDL.
Lea esta nota de aplicación para aprender a integrar VHDL en un diagrama de bloques de LabVIEW.
Con la FPGA Interface C API, puede programar el procesador en tiempo real en hardware basado en NI FPGA utilizando herramientas C como LabWindows™/CVI de NI y Microsoft Visual Studio, e interactuar con el código LabVIEW FPGA ejecutándose en la FPGA. En otras palabras, el código que se ejecuta en su máquina host puede escribirse en C/C++ o LabVIEW, mientras que el código realmente implementado en la FPGA debe escribirse en LabVIEW FPGA.
Obtenga más información sobre la API FPGA-Interface C.
En lugar de un ASIC fijo para controlar la funcionalidad del dispositivo, los dispositivos de adquisición de datos (DAQ) de la serie R ofrecen un chip FPGA programable por el usuario para el procesamiento a bordo y la operación flexible de E/S. Los dispositivos de la serie R tienen un convertidor analógico-digital dedicado por canal para temporización y disparos independientes. Esto ofrece funcionalidad especializada como muestreo de velocidad variable y disparo de canal individual, los cuales están fuera del alcance del hardware típico de adquisición de datos. Puede definir la E/S digital temporizada por hardware en dispositivos de la serie R como contadores, canales PWM, codificadores flexibles o líneas para protocolos de comunicación digital.
Todos los dispositivos RIO multifunción Serie R utilizan el software controlador NI-RIO; no son compatibles con NI-DAQmx o NI-DAQmx Base. Sin embargo, en el NI Measurement Hardware DDK (Kit de desarrollo de controladores) se presta apoyo para el desarrollo de controladores personalizados mediante programación a nivel de registro. Una vez que haya compilado y descargado una aplicación LabVIEW FPGA en un destino de la serie R, el NI Measurement Hardware DDK proporciona documentación para que la aplicación host se interconecte con los registros de la FPGA.
El LabVIEW FPGA Module incluye una paleta de procesamiento de señales con numerosas funciones como:
Sí. Todos los dispositivos multifunción de la Serie R tienen convertidores analógicos a digitales (ADC) y digitales a analógicos (DAC) dedicados en cada canal de entrada/salida analógico, lo que permite muestrear/actualizar todos los canales simultáneamente o a diferentes velocidades. Con los ADC independientes, puede muestrear todos los canales del dispositivo a la velocidad máxima (hasta 1 MS/s). Puede programar los DAC independientes para actualizar los canales de salida analógicos a velocidades de hasta 1 MS/s.
El diagrama de bloques LabVIEW FPGA de la Figura 2 muestra lo fácil que es implementar entradas/salidas analógicas simultáneas en FPGA de la Serie R. Mediante el uso de un Nodo de E/S de Entrada Analógica LabVIEW FPGA que está leyendo de los ocho canales del dispositivo de la Serie R en el mismo While Loop, el programa muestrea de los ocho canales simultáneamente. El bucle inferior que se ejecuta en paralelo utiliza el LabVIEW FPGA Analog Output I/O Node y actualiza los ocho canales de salida analógica a 1 MS/s.
Figura 2. Entrada/salida analógica simultánea con la Serie R y LabVIEW FPGA