Evitando interferencias entre cables improvisados

1

Mi configuración es la siguiente. Tengo cables de calibre 22 de 6 pies de largo que conectan los encabezados de una placa de evaluación de códec de audio y una placa hija FPGA. Estoy enviando señales de reloj de 8KHz y 128KHz y una señal de datos que cambia con el reloj rápido. En este momento, todo lo que he hecho es regresar las señales de la placa de audio al FPGA y luego a la placa de audio. Puedo hacer este mismo loopback sin pasar por el FPGA y la integridad de la señal está bien. El problema es cuando camino a través del FPGA. En los pines de salida en cada transición de reloj rápido hay un ruido significativo en el reloj lento, tanto que a veces cambia el nivel lógico. ¿Cómo puedo aislar estos unos de otros de manera efectiva? Estos pines en la placa base están actualmente uno al lado del otro. ¿Mover las asignaciones de pines haría una diferencia o no importaría porque los cables aún estarán uno al lado del otro?

Gracias por cualquier consejo!

    
pregunta ballaw

2 respuestas

2

Algunas cosas que probaría:

  • Usa la unidad más lenta con la que puedas escapar. A estas velocidades de reloj, debería poder utilizar muy controladores lentos. No menciona un tipo de FPGA específico, pero si fuera Xilinx, estaría usando los controladores "silenciosos", o "lento" si no está disponible, y una corriente de 4 mA. Vea cómo se ve en el alcance, aumente la corriente de la unidad si es necesario.
  • Tuerza un cable a tierra con cada una de sus señales, o al menos con las señales del reloj. O si usa un cable plano, ponga tierra a ambos lados de ambos relojes. Mantenga los relojes bien alejados el uno del otro. En el extremo, use el cable coaxial para los relojes (pero tenga cuidado de usar una conexión corta a tierra muy para el escudo, de lo contrario, tiene una buena posibilidad de no ganar nada)

Debe pensar en cómo fluye la corriente, tanto "fuera" como "atrás"; cada vez que la corriente de una señal se mezcle con otra (por ejemplo, usando un solo cable de retorno a tierra), tendrá la posibilidad de problemas.

Otra sugerencia: para comprender lo que está sucediendo para que pueda predecir estos problemas la próxima vez, lea (y compíngala internamente: ) un libro sobre la integridad de la señal

    
respondido por el Martin Thompson
1

Una imagen aquí sería muy buena para entender tu configuración.

Primero: la diafonía se acopla de forma inductiva y / o capacitiva. Si sus alambres son solo alambres individuales ampliamente espaciados en el aire, lo más probable es que no tenga mucho de ninguno de los dos.

A esa longitud, tendrás reflexiones si no lo gestionas correctamente. Los reflejos pueden causar fácilmente doble reloj. Con cables individuales en el aire, la impedancia es bastante impredecible. Debe llevar los cables cerca de una referencia (tierra) para tener una impedancia predecible. Una buena manera de hacerlo es utilizar un cable plano con un patrón Gnd-Signal-Gnd-Signal-Gnd.

Una vez que haya hecho eso, puede terminar las señales usando una resistencia de terminación en serie en el extremo del controlador de cada señal, o puede programar su FPGA (¿si ese es el controlador de todas las señales?) para que tenga una impedancia de salida suficientemente alta para coincidir con la impedancia del cable de cinta (en términos FPGA que se denomina menor potencia de la unidad de salida).

El patrón G-S-G-S-G también solucionará otro problema (aún peor) que probablemente esté viendo. La inductancia del cable de retorno (¿un solo?) Crea una caída de voltaje (L * di / dt) cada vez que cambian las señales. Esto puede parecer crosstalk. Al tener casi tantos cables de retorno como cables de señal, esto normalmente no es un problema.

Solo piénsalo. Digamos que cambia 4 señales en 400ps y tiene cerca de 2uH en un solo cable de retorno con una corriente de 16mA por salida que podría crear una caída de voltaje de 4 * 2uH * 16mA / 400ps (mucho más que su voltaje de alimentación). En realidad, eso es una sobrestimación general, pero está seguro de que verá el impacto en sus señales bastante mal.

Hazme saber si esto resolvió tu problema?

    
respondido por el Rolf Ostergaard

Lea otras preguntas en las etiquetas