Pregunta sobre una entrada de activación de un moderno ARB / VSG (Vector Signal Generator)

0

Dada una configuración común:

ElcuadroverdeesunPCBqueconsisteprincipalmenteenundispositivodeadquisicióndedatos(ADC+RFfrontend)controladoporunFPGASpartan-6.

ElADC&FPGAutilizaunrelojdeungeneradordeseñalesdeTektronixqueestáconfiguradoparatomarelrelojdereferenciade10MHzdeungeneradordeseñalesvectorialesSM&200RR&S.

LaadquisicióndedatosseiniciadesdeunacomputadoraportátilqueenvíauneventodeactivaciónalFPGA.Internamente,elFPGAtienemúltiplesrelojes,perotodosellossonsíncronospara(ysegeneranapartirde)elrelojde80MHz.

EleventodesencadenantesesincronizaconlosrelojesFPGArespectivoseinicialacapturaADC.Además,la"Señal de activación" se sincroniza con el reloj FPGA más lento y se estira.

El SMW200A está configurado para iniciar la salida de datos exactamente en esta "Señal de activación". Suponiendo que todos los relojes estén sincronizados, todos los retrasos deberían corregirse para cada evento desencadenante.

Sin embargo, estos son los datos capturados para múltiples ejecuciones:

Los datos siempre comienzan con un retraso de 118.5us o 118.75us. La diferencia es exactamente una muestra de ADC (ADC es 4 MSps pero usa el reloj de 80 MHz).

Ahora estoy tratando de averiguar qué podría estar mal aquí.

  1. ¿La salida del SMW200A siempre comienza exactamente después de un tiempo constante después de que se aplica el activador (no lo creo)?
  2. ¿El disparador en la SMW está sincronizado con un reloj interno? Si es así, ¿qué reloj es este?
  3. ¿Cómo se puede sincronizar este reloj con el resto del sistema? (Supongo que la compartición del reloj de referencia de 10 MHz solo se asegura de que todos los sistemas compartan las mismas incertidumbres de frecuencia)
pregunta divB

2 respuestas

0

Aunque hay muchos retrasos asíncronos ocultos en sus relojes lentos Spartan, deben estar libres de carreras en la sincronización del activador ASG al ADC retardado.

Parece que hay un sesgo de 1 ciclo de 80MHz que indica que existe una condición de carrera. Sin embargo, no es obvio en la falta de detalles de tiempo donde ocurre la variación en la condición de sesgo o carrera y cuán pequeña o grande es la fluctuación que causa un retraso en el salto de ciclo.

Podría ser < < 1ns turno en el borde o podría ser tanto como + -6ns.

Por lo tanto, debe analizar por qué y dónde hay sesgo y cuánto jitter debido a las variables dependientes, como la tensión de alimentación, la temperatura o los retardos de CMOS o lo que sea.

Luego, el desencadenante y la sincronización de inicio de ADC se pueden hacer, si es necesario, a una velocidad de reloj de 10 MHz más lenta con un retardo de disparo variable "xxx ns" variable pero preciso. Es posible un retraso digital, pero más difícil de controlar, así como la resolución de un bote.

  

Usando un contador / N síncrono para probar su sistema para ambos disparadores, puede determinar dónde está la ventana de resultados sin fluctuaciones y la latencia real del sistema.

    
respondido por el Tony EE rocketscientist
0

¿Dice que el disparador de la computadora portátil está sincronizado con el reloj FPGA y el reloj FPGA más lento, son estos sincronizadores separados?

Lo que estoy pensando es que dos sincronizadores (incluso para el MISMO RELOJ) no están garantizados para la transición en el mismo borde.

Estaría sincronizado con el reloj lento y luego usar el hecho de que ese reloj está al límite es sincronizado con los relojes rápidos para evitar la necesidad de sincronizadores adicionales (probablemente tendría que usar algunas cosas de ruta de varios ciclos en el archivo de restricciones ).

    
respondido por el Dan Mills

Lea otras preguntas en las etiquetas