Agregar funcionalidad de activador para FPGA en la tableta de captura ADC

0

Estoy utilizando la placa LM97600RB de Texas Instruments para capturar señales de datos y esta placa contiene un ADC así como un FPGA Virtex-5. Estoy tratando de agregar una funcionalidad de disparador a la placa mediante un disparador externo. La forma en que funciona la placa es que los datos son adquiridos por el ADC y luego enviados a la FPGA, donde son recibidos por los transceptores GTX y almacenados en bloques BRAM internos. Por lo que entiendo de cómo funciona el activador, los datos siguen siendo capturados continuamente por el ADC, pero la funcionalidad del activador solo se activará cuando se almacenen los datos. ¿Estoy en lo cierto? ¿Quizás necesito seguir revisando el disparador y solo cuando se activa la placa, permito que los datos se almacenen dentro de la RAM interna del FPGA? ¿O hay una forma alternativa de hacer esto?

Si mi razonamiento es correcto, cuando se activa la placa y se capturan los datos, pierdo algunas muestras de datos debido a la demora en el registro del activador y luego a los datos que se almacenan. ¿Cómo puedo superar esto? Incluso unos pocos nanosegundos de datos son importantes en este caso.

Aprecio cualquier idea sobre esto.

    
pregunta GamingX

1 respuesta

1

No estoy familiarizado con su diseño de placa / referencia, y usted es libre de implementar lo que considere oportuno, por lo que aquí hay algunas ideas generales.

Parece que la conexión ADC-FPGA es a través de SERDES. Todos los pasos de serialización / deserialización tienen un costo de latencia. Los datos se serializan en el ADC y se deserializan en la GTX, por lo que probablemente haya un centenar de nanosegundos de latencia; esto es mucho más grande que el retardo de pin a registro del FPGA. Por lo tanto, cuando su señal de activación llega al FPGA, hay un tipo de búfer de datos integrado que garantiza que tendrá muestras que comienzan con el borde de activación. Si le importa la sincronización en el nivel de nanosegundos, debe buscar los números, hacer el análisis y verificar en hardware.

Si no tenía una latencia incorporada en el sistema, podría crear un búfer de tubería para crear su propia latencia. Pero, por lo general, la forma de garantizar la disponibilidad de los datos es con un anillo de almacenamiento . Creo que los Virtex-5 BRAM son de doble puerto, por lo que un buffer de anillo debería ser sencillo de implementar; Si lo necesitas, depende de ti.

    
respondido por el mng

Lea otras preguntas en las etiquetas