Capturando un flujo de datos de 16.368MHz con una MCU funcionando a 32MHz

4

Tengo un MCU a 32MHz (Atmel XMEGA A4) y necesito recuperar una señal digital proveniente de un chip de extremo frontal del GPS que está emitiendo datos SIGN y MAGNITUDE a 16.368MHz. Claramente, esta es una tarea increíble para el XMEGA que se ejecuta a solo 32MHz. ¿Hay alguna manera de que esto sea posible?

En última instancia, quiero guardar los datos en forma comprimida en alguna memoria. Me gustaría convertir el flujo de datos de 16.368MHz a muestras I / Q en banda base (0Hz IF). Usando algunas técnicas DSP, esto es bastante factible, podría filtrar los datos entrantes y luego reducir la muestra (guardar cada muestra M'th y descartar todas las demás). Esto podría hacerse en un número razonable de ciclos de reloj, aunque parece un poco complicado para el XMEGA de 32MHz.

¿Entonces una MCU es incluso la herramienta adecuada para este trabajo? He elegido este porque la aplicación final es un dispositivo alimentado por batería y es necesario conservar cada nanoCoulomb. Con esto en mente, si no hay una buena manera de lograr esto con XMEGA, ¿debería estar mirando algún tipo de chip DSP? ¿O posiblemente un FPGA de baja potencia?

    
pregunta MattClimbs

2 respuestas

1

Dudo que su procesador pueda leer datos y almacenarlos en cada ciclo (dado que 16.368 MHz es más que la mitad del reloj de 32 MHz, algunas las entradas deberán procesarse en secuencia ciclos del procesador.

Un procesador más potente (por ejemplo, Teensy 3.2) puede funcionar a 96 MHz, y con DMA puede procesar las entradas lo suficientemente rápido.

    
respondido por el jp314
0

Antes de que siquiera pienses en la capacidad del hardware o algo así, ¿recuerdas el teorema de Nyquist?

Solo con eso, tendría que muestrear la señal al menos el doble de su frecuencia más alta, pero sabemos que incluso el doble no es suficiente. Quizás, según este argumento, verá que se requiere un hardware más rápido.

    

Lea otras preguntas en las etiquetas