El proceso experimental de comunicación paralela entre DSP y FPGA a través de XINTF

El proceso experimental de comunicación paralela entre DSP y FPGA a través de XINTF (FPGA es la serie A7 de XILINX de la familia Xiaomei y DSP es la serie C28335 de la familia Puzhong)

DSP y FPGA son placas de desarrollo, conectadas con cables Dupont ordinarios (16 bits), y luego usan ila para observar la señal en VIVADO, y usan el emulador para observar el valor variable en DSP.Para la lectura y escritura de XINTF, es necesario primero Definir una dirección en una zona, y luego definir una determinada señal en la dirección. Cuando se asigna un valor a la variable, se generará una secuencia de escritura. Cuando la variable se asigna a otra variable o se transporta por DMA, se se generará automáticamente leer el tiempo. Cabe señalar que el período de tiempo válido de la línea de dirección y la línea de datos en la secuencia de lectura y escritura solo se puede transmitir correctamente de acuerdo con este período de tiempo.

Cuando el DSP envía datos, se prueban tres situaciones, enviando todos 0, enviando todos 1 o enviando una secuencia de 0-1024, cambiando el tiempo de escritura de XINTF en el DSP y leyéndolo en el FPGA durante la etapa de validez de datos. , es Exacto.

Sin embargo, al enviar datos en FPGA como DSP, al principio se usa lógica secuencial para cambiar XDATA juzgando la señal rd de DSP, pero el resultado no es ideal, luego se prueba directamente con lógica combinacional, es decir, en el programa de FPGA, utiliza directamente la asignación de lógica combinacional para que sea =X"0000", y en este momento, todos los 0000 se pueden recibir en el DSP. Luego comience a probar todos los 1, es decir, envíe FFFF, y el DSP recibe muy complicado, pero ocasionalmente será FFFF (porque se usa una matriz unidimensional en DSP para generar lecturas y escrituras). No sabía el motivo, y luego lo intenté una y otra vez, y luego descubrí que solo cuando era 000F, todo era correcto, y cuando los siguientes 12 bits altos eran 1, el error sería aún mayor. Puede ser porque la IO de salida en la FPGA no es muy estable, después de escuchar la sugerencia del profesor, configure la IO de salida en VIVADO como un modo pull-up, pero esto solo se puede configurar con una resistencia pull-up de 50 ohm por defecto, y el resultado aún no es el ideal.

El resumen es: debido a que el trabajo de verificación se realiza entre dos placas de desarrollo, aún puede haber algunos problemas debido a problemas de hardware.

-------------------------------------------------- -----------20230417------------------------------------------------------ -----------------Medí que hay diferencia de presión entre las dos placas de desarrollo, es decir, también hay diferencia de presión entre las dos masas, lo cual también es un problema Todavía es arriesgado construir directamente una placa de desarrollo, por lo que si realmente planea usar dos juntas, es mejor dibujar una fuente de alimentación común y tierra en una placa.

-------------------------------------------------- -----------20230420------------------------------------------------------ -------------- El pin xintf de la placa de desarrollo Puzhong está conectado a un chip sram, y su pin de selección de chip está asociado con la señal estroboscópica de zone7, por lo que cuando el pin xintf envía datos , no hay problema, incluso si el fpga está conectado a la línea de datos, puede leer el estado del pin correspondiente; pero cuando el dsp lee datos de estos pines, el pin estará en conflicto, porque cuando el fpga envía datos, el El chip sram también está habilitado en consecuencia, y también enviará datos como el dsp, por lo que habrá un fenómeno experimental posterior, de hecho, el estado del registro original siempre se lee.

Entonces, la forma de cambiar es reconfigurar la inicialización de la interfaz xintf, no use el área zone7, entonces xzcs7 no generará un nivel bajo, y el uso del chip sram estará prohibido.Podemos usar el área zone6 o zone0.

Los siguientes resultados del experimento son normales, al menos los datos de fpga se pueden recibir normalmente, hay un pequeño error de sincronización, que es el problema de sincronización antes de fpga y dsp, simplemente ajústelo nuevamente.

Supongo que te gusta

Origin blog.csdn.net/qq_43811597/article/details/130101877
Recomendado
Clasificación