Elegir un FPGA basado en la frecuencia de muestreo ADC

6

Tengo un proyecto que involucra un muestreo de ADC a 500 MHz. Necesito tomar estos datos de ADC y resumirlos en algo que una CPU barata pueda procesar. Creo que esta es una buena aplicación para un FPGA de bajo grado, por lo que estoy tratando de entender la mejor manera de abordar la selección de un dispositivo FPGA específico.

Las matemáticas involucradas en el FPGA serán mínimas. Básicamente, necesito la velocidad de muestreo de 500 MHz para capturar el evento físico, pero el FPGA descartará selectivamente la mayoría de las muestras. Así que no creo que me importe la cantidad de LUT, celdas o RAM que tenga el FPGA. Necesito I / O relativamente rápido, y necesito que sea barato.

¿Cómo puedo saber si uno de los FPGA baratos (ejemplo: Spartan-6) que estoy viendo es lo suficientemente rápido para estar al día con mi ADC? Para los fines de esta pregunta, supongamos que el ADC tiene una conexión LVDS. Dos chips de ADC que estoy considerando son el AD9434 y el ADS5403 . Estoy tratando de entender los requisitos mínimos para interactuar con un ADC de este calibre.

¿Qué determina el límite en la velocidad de comunicación de E / S de un FPGA?

¿Cuáles son los parámetros clave de la hoja de datos a los que debo prestar atención cuando busco una pieza adecuada?

Tenga en cuenta que esta es una aplicación integrada, por lo que unir algunas placas de desarrollo puede ser eficaz para demostrar el rendimiento del chip, pero en última instancia, será un diseño personalizado.

También tenga en cuenta que la velocidad de muestreo final para trabajos futuros puede diferir, por lo que estoy interesado en comprender y comparar los parámetros de E / S clave entre los FPGA en general. Otras aplicaciones pueden requerir un muestreo de 250MHz, o 1GHz, o 1.5GHz. Quiero comprender los cuellos de botella de E / S de FPGA para poder elegir un FPGA rentable para cualquier velocidad de muestreo que se requiera.

    
pregunta Chris Fernandez

4 respuestas

1
  

¿Cómo puedo saber si uno de los FPGA baratos (ejemplo: Spartan-6) estoy   ¿Mirar es lo suficientemente rápido para mantenerse al día con mi ADC?

Hay muchos factores que determinan qué tan rápido puede ejecutarse la lógica en un FPGA, la mayoría de las veces no lo sabrá hasta que no ponga la lógica en el FPGA porque los retrasos en la lógica determinan qué tan rápido puede operar la lógica. La forma de verificar es la hoja de datos de cada dispositivo, lo cual es tedioso. Una cosa es segura: ninguna lógica se ejecutará más rápido que la velocidad de reloj del FPGA, y la lógica siempre se ejecutará un poco más lenta (debido a los retrasos de la puerta en cascada).

  

¿Cuáles son los parámetros clave de la hoja de datos a los que debo prestar atención?   ¿Al buscar una pieza adecuada?

El más importante sería la E / S que usa el ADC, los ADC de alta velocidad usan transceptores la mayor parte del tiempo, deberá asegurarse de que el transciever funcione más rápido que la velocidad del ADC, por ejemplo, el Spartian. La hoja de datos 6 contiene información sobre la velocidad de funcionamiento de los transceptores LVDS:

Fuente:HojadedatosdeDS162

  

Tengaencuentaqueestaesunaaplicaciónincrustada,porloqueuniralgunas  Lostablerosdedesarrollopuedenserefectivosparademostrarelrendimientodelchip,pero  Enúltimainstancia,esteseráundiseñopersonalizado.

Asegúresedetenerelequipoadecuadoantesdeintentarundiseñodemuyaltavelocidad,necesitarácomomínimounasondadiferencialqueejecute2veceslafrecuenciadesuvelocidaddeE/Smásrápidaparalasolucióndeproblemas.Asegúresedequesabecómoigualarlaimpedanciadelastrazas.Sinuncahahechoaaltavelocidad,nomeharíadañoconestetipodediseñoamenosquetengaunasesoroalguienquelohayahechoantes.Siestaeslaprimeravezquelohace,ytienepocacantidad,megustaríacomprarunaplacadeevaluaciónyusarla.

OtracosaesquepodríahabermejoresmanerasderealizarsumediciónqueunADCde500MHz,algoasícomoun SDR puede superar los 500 MHz y ser mejor para su aplicación dependiendo del ancho de banda

    
respondido por el laptop2d
0

En lugar de inventar un diseño desde cero, intente buscar "Tableros de evaluación - Convertidores analógicos a digitales". Diga, comience con Digi-Key y limite su búsqueda a productos de 500 Msps. Clasifíquelo por los más baratos. El primer elemento apuntará a una placa de referencia Renesas / Intersil KMB001 para ISLA110P50 ADC . La hoja de datos muestra "Spartan" en una imagen borrosa. La búsqueda adicional en Google de [Renesas KMB001 eval board] te lleva a los esquemas, lo que revela que el FPGA es solo Spartan-3. La referencia de ADC le costará $ 136, más $ 324 por la tarjeta FPGA, difícil de superar este precio.

Entonces, para responder literalmente a tu pregunta, sí, Spartan-6 debería ser capaz de obtener una transmisión LVDS / SPI de 500 Mbps fuera del ADC adecuado.

Para comparar, Analog Devices utiliza una plataforma de evaluación universal HSC-ADC-EVALCZ basada en Virtex-4 para su ADC de rango medio, que solo tiene un costo de ~ $ 700.

    
respondido por el Ale..chenski
0

Es ciertamente posible lograr 500 Msps con uno de los FPGA de gama baja, pero se está acercando a los límites de esos dispositivos. Debe observar las velocidades máximas del LVDS en la hoja de datos y la velocidad de reloj máxima del FPGA.

La estabilidad de la meta no suele ser un problema porque el FPGA controla el reloj del ADC. Solo debe tener cuidado con las infracciones de tiempo en su análisis de integridad de señal. Definitivamente necesita hacer un análisis de nivel de línea de transmisión en los datos de ADC y las líneas de reloj. Por lo general, ejecuta el ADC en el reloj FPGA invertido. Por lo tanto, la actualización de ADC en el borde negativo y el FPGA retienen los datos en el borde positivo. Sin embargo, a esas altas velocidades, es posible que deba usar un desplazamiento diferente debido a los retrasos de línea.

Un problema mayor será lograr el reloj interno de 500MHz que necesita para el ADC IO. No necesita ejecutar todo el FPGA en él, pero incluso alcanzar esta velocidad para la lógica IO es un desafío. A estas velocidades, los contadores más grandes que unos pocos bits dejan de funcionar debido al retraso en la propagación de acarreo.

La forma en que lo haría es así: ADC - > registro de desplazamiento - > RAM. Tienes un registro de desplazamiento para cada bit ADC. Rellena el registro de turnos con un par de muestras y luego las guardas en un búfer, que se ejecuta a una velocidad de reloj más lenta. El registro de desplazamiento en efecto concatena muestras.

Necesitará un contador para contar el número de muestras en el registro de desplazamiento antes de insertar los datos en la RAM. Como dije, no podrás usar un contador estándar debido a la alta velocidad, pero puedes usar un LFSR. Debido a la cadena de transporte, un LFSR puede ejecutarse a la velocidad máxima de reloj FPGA.

Una gran bandera roja que noté es que quieres ir aún más rápido. A velocidades de muestreo más altas, resulta bastante difícil interactuar directamente con el ADC sin SERDES. En tales situaciones, un curso de acción popular es utilizar ADC con el estándar JESD204B. Luego, SERDES puede hacer la concatenación de los datos por usted y el reloj se recupera de los datos.

    
respondido por el user110971
0

Una respuesta general del caso sería: No, no encontrará un FPGA de bajo costo que pueda comunicarse con un ADC arbitrario a 500 MSa / s.

Los FPGA con los que he tratado (en su mayoría en la línea Intel Cyclone V / 10) muestran una velocidad máxima para el árbol del reloj de ~ 400MHz. Los pines de E / S en la misma parte están limitados a 200 Mbps. Dicho esto, la mayoría de los nuevos FPGA tienen hardware dedicado en sus entradas que pueden traducir las líneas LVDS / DDR estandarizadas en algo que el resto del FPGA puede manejar. Sin conocer el estándar de comunicación del ADC, es imposible saberlo. Encontrará lo que necesita saber en la hoja de datos en algo similar a "Periferia" o "Periférico". (Consulte página 25 de este hoja de datos para un ejemplo )

Una cosa que podrías hacer es construir y sintetizar una versión simplificada del diseño, y luego ejecutar el análisis de tiempo para ver si tu FPGA seleccionado puede manejarlo.

EDITAR: La pregunta se actualizó para referirse a dos ADC específicos: AD9434 y ADS5403. Ambos utilizan una interfaz LVDS. En la hoja de datos mencionada anteriormente , el hardware LVDS aparece como compatible con hasta 840 Mbps para el dispositivo de grado más rápido (C6). Esto está bien dentro de los 500MHz requeridos.

    
respondido por el sbell

Lea otras preguntas en las etiquetas