Recientemente compré una placa ZYBO FPGA solo para descubrir que hay exactamente seis líneas GPIO regulares de un solo extremo conectadas a la FPGA. En contraste con eso, 18 líneas diferenciales están disponibles. El manual de referencia de la placa dice que la comunicación de un solo extremo a través de las líneas diferenciales funcionará, pero tiene una "diafonía significativa". En este caso, se sugiere poner a tierra una línea del par diferencial, pero esto obviamente anulará todo el propósito de tener más líneas de E/S de un solo extremo.
Entonces, ¿qué es exactamente la diafonía "significativa"? ¿Qué tan rápido podría comunicarme (un solo extremo)? ¿Funcionaría bien I2C de alta velocidad? 2mbit SPI? ¿Qué pasa con una transferencia de datos en paralelo de 25 MHz? ¿Se puede hacer algo más para evitar o corregir la diafonía?
Aunque las líneas se enrutan como pares diferenciales, no es necesariamente un factor decisivo para su tipo de aplicación. En realidad, es probable que la cantidad de diafonía sea bastante pequeña, ya que los pares diferenciales a menudo se enrutan más cerca del plano de tierra que entre sí. No es como si fueran un cable trenzado sin blindaje, donde las señales se acoplan mucho mejor entre sí. Y es probable que las huellas sean relativamente cortas, imagino (si está contemplando la transmisión en paralelo).
Sugeriría que felizmente podría configurar un bus paralelo de 25 MHz, con un reloj terminado en serie para señalar el dispositivo en el otro extremo para bloquear los datos. Conduzca los datos en un borde, asegúrelos en el borde opuesto, tendrá 20 ns de tiempo para que se estabilicen las diafonías y los reflejos). Puede conducir el lado negativo del controlador del reloj a '0' y colocarlo lejos del bus de datos para mantener esa señal lo más limpia posible. No suena tan diferente de cómo solíamos enrutar buses de datos SRAM asíncronos (todos los cables corren muy juntos con una línea de habilitación de escritura activada por el borde) y eso solía funcionar bien :)
Los cables de los pares diferenciales se tenderán muy cerca uno del otro, lo que permitirá que las señales de un cable se acoplen al cable adyacente. Es probable que la mayor parte de la diafonía sea capacitiva. Piense en los dos cables como placas en un capacitor. Un cambio repentino en un cable se 'filtrará' en el otro. Este tipo de acoplamiento depende de la frecuencia. DC no se acoplará en absoluto. Los bordes lentos pueden acoplarse un poco. Los bordes muy rápidos pueden acoplarse de manera muy significativa. Si coloca una onda cuadrada con flancos muy rápidos en un cable, el cable adyacente obtendrá flancos agudos positivos y negativos, seguidos de pendientes que decaen exponencialmente. Los picos positivos corresponden al borde ascendente de la onda cuadrada, los picos negativos corresponden al borde descendente.
Si se ve obligado a utilizar E/S diferenciales como E/S de terminación única, existen algunas consideraciones. Si la longitud total del trazo es corta, los efectos pueden ser tan pequeños que pueden ignorarse. Si el seguimiento es largo, es posible que deba hacer algo para mitigar la diafonía. Una solución fácil es usar solo un cable de cada par. El otro cable se puede conectar a tierra o los dos se pueden conectar al mismo nivel lógico. Sin embargo, esto reduce el número de E/S disponibles en un factor de 2. Otra posibilidad es disminuir la velocidad de giro de los pines de E/S de salida. Los FPGA de Xilinx tienen varias selecciones para la fuerza de la unidad y la velocidad de giro. Gire la velocidad de respuesta a la configuración más baja, quietio. Pruebe también a reducir la potencia de la unidad. También puede intentar encender la impedancia de la fuente de 50 ohmios, ya que esto limitará la cantidad de corriente que puede fluir desde el pin.
Es difícil decir qué tan rápido podría correr sin mucha más información sobre lo que está tratando de hacer. Desafortunadamente, no estoy lo suficientemente familiarizado con el tablero para poder darle una estimación. Sin embargo, parece que los rastros podrían ser bastante cortos.
Para tener una idea de cuánta diafonía puede obtener en un par, configure el FPGA para mantener uno en un nivel constante (GND o VDD) y cambie el otro a unos pocos MHz. Establezca la velocidad de giro en rápida en el pin IO. Luego conecte un endoscopio al pin de 'víctima' y mida la altura de los picos. Si es mucho menor que VDD, es posible que no cause ningún problema.
Si tiene un solo cable y un retorno (tierra) y datos transmitidos, en cualquier punto a lo largo del cable, el campo eléctrico promedio será del cable de datos y tierra; en términos simples, si los datos fueron 5V pp, el campo eléctrico sería la mitad de este valor. Esto no está justo en el cable sino a una corta distancia del par.
En un par de cables impulsados diferencialmente, las señales son antifase, lo que significa que si uno está a 5 V, el otro estará a -5 V: el campo eléctrico neto es cero en toda la longitud del cable, excepto cuando está cerca de un cable u otro.
Es lo mismo con los niveles lógicos antifase normales: puede imaginar que 2,5 V es el punto medio: un cable está a 2,5 V por encima del punto medio mientras que el otro está a 2,5 V por debajo del punto medio.
Entonces, si un cable accionado diferencialmente no genera un campo eléctrico significativo, entonces no hay diafonía. Esa es la versión simple. También hay que considerar el campo magnético pero, debido a que la corriente viaja por un cable y en sentido inverso por el otro Y los dos cables tienen geometrías iguales, el campo magnético neto a una distancia más corta es cero teóricamente.
Entonces, ¿qué es exactamente la diafonía "significativa"? ¿Qué tan rápido podría comunicarme? ¿Funcionaría bien I2C de alta velocidad? 2mbit SPI? ¿Qué pasa con una transferencia de datos en paralelo de 25 MHz? ¿Se puede hacer algo más para evitar o corregir la diafonía?
Puede obtener el mismo chip de TI pero tiene un número diferente y son intercambiables.
sol
Andy alias
FarhadA