¿Cómo sabe si la impedancia es la misma para 2 circuitos integrados?

en mi última pregunta obtuve algunas respuestas muy interesantes que me hicieron repensar mucho sobre mi diseño en cuanto a si necesito o no resistencias de terminación. Además, el diseño propuesto en esta respuesta, así como la respuesta en esta pregunta en particular , me hicieron repensar mi enfoque en general. Ahora, esta probablemente será una pregunta larga, pero espero que alguien tenga la paciencia de leer y aclarar las cosas. :)

Fondo

Estoy trabajando en un proyecto desde hace un tiempo que, entre otras cosas, involucra el diseño e implementación de la comunicación entre un FPGA y un puente USB 3.0, el MachXO2 y el FT601 respectivamente. Es mi primer diseño de alta velocidad y mi objetivo es adquirir experiencia y conocimientos sobre los principios de este tipo de diseño.

Pasé el mes pasado estudiando una gran cantidad de literatura que incluye recursos de aquí , varios otros artículos de fuentes confiables (como TI o preguntas hechas aquí), así como el libro del Sr. Bogatin, "Integridad de señal y energía: simplificado". Debido a limitaciones de tiempo, no he estudiado con tanta profundidad como me gustaría, pero creo que tengo las ideas fundamentales. Mi problema y confusión radica en la aplicación de aquellos.

Primer enfoque

Mi primer enfoque sobre el tema fue examinar los datos que tengo para ambos circuitos integrados para determinar si puedo o no escapar de la integridad emitida manteniendo los rastros lo suficientemente cortos. FT relojes a 100 MHz pero no proporciona tiempo de subida. Por otro lado, el MXO2 proporciona un archivo IBIS para el diseño, que informa un tiempo de subida de 0,8 ns, que parece racional para usar también como tiempo de subida para FT. Para 0,8 ns, PCB Toolkit informa una longitud máxima de seguimiento de 1,25 pulgadas. Aunque logré tal longitud, los rastros estaban muy apretados, lo que puede introducir una diafonía significativa. Además, la simulación con MXO2 IBIS para mi diseño en Altium reveló un exceso y un defecto significativos. Ahora entiendo que esto puede no ser del todo correcto ya que no tengo un IBIS adecuado para FT, pero de todos modos me alarmé.

Terminación de R

Para estar seguro, decidí usar resistencias en serie y terminar las trazas con 50 Ω. El PCB, por supuesto, está diseñado de tal manera que las pistas particulares tienen una impedancia de 50 Ω. Elegí ese valor porque la Utilidad de configuración FT le permite configurar la fuerza de la unidad pin como 50 Ω, por lo que estamos bien con este controlador, y MXO2 maneja las líneas como 3.3 V, 8 mA, lo que se traduce aproximadamente como 50 Ω también por lo que he leído. Además, el hecho de que muchas de las líneas sean bidireccionales desconcierta aún más la situación. Por lo que he leído, las líneas bidir deben terminar en ambos sentidos. Entonces, coloqué R en mi diseño tanto al principio como al final de las líneas, ejecuté la simulación nuevamente y obtuve algunas curvas suaves. Entonces hice mi pregunta anterior.

Mi fuente de confusión

Ahora, puede preguntarse por qué, dado que ambos controladores parecen tener una salida de 50 Ω, utilicé el esquema de terminación. Y mi respuesta es porque no conozco la impedancia de cada receptor. Y aquí es donde empieza la confusión para mí. La teoría y esas cosas están bien, pero estoy atascado en la aplicación práctica.

Según la teoría, si Zt, Zr y Z0 son iguales (o cercanos), no se producirán reflexiones. Conozco Z0 desde que lo diseñé, pero ¿qué pasa con Zt y Zr? Y para complicar aún más las cosas, esas líneas son bidireccionales, por lo que cambian de funcionalidad.

Para el FT, sé que puede ser de 50 Ω, ya que puede configurar el chip para que lo haga. Pero aunque MXO2 en LVCMOS33, 8 mA también deberían tener 50 Ω, y el visor IBIS informó que la línea en realidad tiene mucho menos, como 25-30 Ω, lo que me complica más las cosas.

Pero independientemente del archivo IBIS (muchos proveedores no proporcionan uno de todos modos), mi confusión se resume en estas preguntas simples y probablemente ingenuas:

  • Tengo las hojas de datos de ambos circuitos integrados. ¿Dónde está escrita, implícita o se puede calcular/extraer la impedancia de entrada/salida de los pines?

  • ¿La impedancia de salida es la misma que la impedancia de entrada para los pines de E/S?

  • ¿La especificación del protocolo (en este caso LVCMOS33) especifica la impedancia de E/S?

  • ¿Cómo se supone que un diseñador sabe que las impedancias coinciden entre esos 2 circuitos integrados, por lo que todo lo que se requiere es una línea controlada?

Dado que el diseño mencionado en mi otra pregunta no usa R, entonces la única respuesta razonable en la que puedo pensar es que probablemente todo el diseño sea de hecho una impedancia específica, así como los FPGA adjuntos.

Todo eso probablemente parezca bastante trivial para un diseñador experimentado, pero realmente me ha intrigado durante bastante tiempo. Si mi reputación lo permitiera, con mucho gusto ofrecería una recompensa por esta pregunta. Busqué pero pude aterrizar en cualquier información.

Respuestas (3)

No leí todo tu muro de texto, pero no creo que las respuestas a tus preguntas dependan mucho de lo que escribiste.

Tengo las hojas de datos de ambos circuitos integrados. ¿Dónde está escrita, implícita o se puede calcular/extraer la impedancia de entrada/salida de los pines?

Los diferentes proveedores tienen diferentes convenciones sobre cómo lo informan. Uno podría reportar una impedancia de salida. Uno podría reportar un | S 22 | límite. Uno podría reportar un típico S 22 ( F ) curva. Tendrá que leer cada hoja de datos individual y ver cómo especifican su chip.

Para algunos tipos de circuitos integrados, las impedancias de entrada y salida no se especifican en absoluto.

¿La impedancia de salida es la misma que la impedancia de entrada para los pines de E/S?

No necesariamente. Para un búfer digital, esperaría que la impedancia de entrada fuera muy alta y la impedancia de salida muy baja, por ejemplo.

¿La especificación del protocolo (en este caso LVCMOS33) especifica la impedancia de E/S?

Para CMOS, sí, puede esperar una impedancia de salida "muy baja", tal vez unos pocos ohmios. Y la impedancia de entrada estará dominada por la capacitancia, que muy a menudo se especificará.

¿Cómo se supone que un diseñador sabe que las impedancias coinciden entre esos 2 circuitos integrados, por lo que todo lo que se requiere es una línea controlada?

Para los diseños CMOS, por lo general, no hace coincidir las impedancias, simplemente mantiene las líneas lo suficientemente cortas como para que no importe. Se puede usar una resistencia en serie de unos pocos ohmios en los controladores para reducir el timbre, pero aún así no se espera una terminación coincidente real.

Una cosa que elegí de tu texto,

Para 0,8 ns, PCB Toolkit informa una longitud máxima de seguimiento de 1,25 pulgadas.

Una opción es usar una resistencia en serie en la fuente para aumentar los tiempos de subida y bajada. Si aumenta el tiempo de borde a 2 ns más razonables (para un período de reloj de 10 ns), obtendrá una longitud de seguimiento máxima inigualable con la que es mucho más fácil trabajar.

Muchas gracias por su respuesta, aunque no aclara las cosas del todo, me hace sentir más seguro con mi diseño. Una última pregunta que me gustaría elaborar si pudiera (que probablemente no haya leído en mi texto) es que muchas de estas líneas son bidireccionales. En general, entiendo que coloca una resistencia en serie en la salida. En el caso de un bidireccional, ya que ambos funcionan como salida y entrada, ¿dónde coloca la R? O se coloca uno en ambos lados? Una respuesta en mi pregunta anterior sugirió una R y en longitudes cortas por debajo de 2-3 pulgadas realmente no importa dónde se coloque.
@Manos, ¿quiere compartir el número de pieza (o proporcionar un enlace a la hoja de datos en su publicación) para las piezas que está considerando?
Por supuesto, FT601 y MachXO2 . De nuevo, gracias por tu respuesta.
Tengo un diseño basado en FT601 en mi banco en este momento, pero no es mi diseño, así que todo lo que puedo decirles es que el bus paralelo no es lo que causó problemas. Sin embargo, probablemente tengamos el FT601 a 2 pulgadas del FPGA con el que se comunica (puede comprobarlo mañana).
Entonces, ¿quiere decir que las huellas de 2 pulgadas son una distancia segura y no se usaron R? Lo pregunto porque la simulación en Alitum con trazas de 50 Ω de 1,3 pulgadas mostraba una distorsión significativa.
@Manos, lo revisaré dos veces mañana.
@Manos: entiendo su frustración al tratar de llenar el vacío entre la teoría y la práctica en el campo de la integridad de la señal. No estoy familiarizado con las partes que está usando ni con qué pin en particular está conectado. De todos modos, si está conectando señales lógicas regulares, es mejor simplemente usar la terminación en serie en la fuente para que la resistencia externa más la impedancia de salida interna del controlador sea igual a la impedancia característica de la traza. Si son bidireccionales y en un momento dado cada lado es una entrada o una salida, tendría resistencias en serie en ambos extremos.
@Manos, mi proyecto usó terminación en serie de 33 ohmios en el lado FTDI, sin terminación en el lado FPGA. La longitud del rastro es ~ 1 pulgada. No se conocen problemas con esta interfaz con docenas de placas implementadas en el campo.
@ThePhoton ¡Muchas gracias por recordar echarle un vistazo! Hoy descubrí que configurar la salida del FPGA como LVCMOS33, 4 mA da como resultado una impedancia de 50 Ω según el IBIS generado. FT también se puede configurar como 50Ω, por lo que estoy a favor de omitir las R, ¿estoy en lo correcto? La simulación parece estar bien, subimpulso/sobreimpulso muy bajo (<=40mV)
@Manos, prefiero poner la ubicación de la resistencia y rellenarla con 0 ohmios si decido que no la necesito que no poner la ubicación de la resistencia y tener que volver a girar la placa si decido que la necesito. Probablemente querrá usar una matriz de 4 u 8 resistencias para ahorrar espacio.

¿Este es un enlace punto a punto?

Luego, la terminación de la fuente por la impedancia de salida de los controladores es probablemente todo lo que necesita si puede configurar el controlador para que coincida con la impedancia de línea (que parece que puede).

Si, por ejemplo, el controlador es de 50 ohmios y la impedancia de línea es de 50 ohmios impulsando una entrada cmos (esencialmente, un circuito abierto ligeramente capacitivo), obtendrá casi un 100% de reflexión en el receptor, lo cual está bien porque será correctamente terminado por la impedancia de salida del controlador. Tenga en cuenta que el doble voltaje en el receptor en comparación con el voltaje que se propaga en la línea es correcto debido al divisor formado por la impedancia de la línea y la impedancia de salida del controlador, obviamente una vez que la reflexión llega al controlador y se termina la condición de estado estable se aplica y la impedancia de línea ya no es relevante.

Donde este tipo de cosas va en forma de pera es si tiene una topología de bus de caída múltiple o controladores muy rígidos, cualquiera de los cuales terminará necesitando algún tipo de terminación para obtener un buen comportamiento, pero no parece que ese sea el caso aquí.

¡Gracias por la respuesta! Por lo que yo sé y usted dijo, si pudiera configurar ambos controladores para que emitieran a 50 Ω, entonces no se necesitan R, siempre que la impedancia de seguimiento sea de 50 Ω también, y todo esté bien. Lo que me llevó a la otra pregunta: ¿cómo sé la impedancia de salida del controlador? No se dice explícitamente en la hoja de datos. FT tiene opciones de configuración que le permiten elegir 50 Ω muy bien por eso. Pero MXO2 (FPGA) tiene opciones para que LVCMOS33 emita a 4, 8, 16, 24 mA. ¿Cómo se correlaciona esto con una impedancia de salida?

Hay muchas formas de interconectar dos dispositivos. Según el tiempo y la velocidad de la conexión, puede usar un espectro de conexión, desde líneas sin terminación de un solo extremo hasta muchos tipos de transceptores diferenciales controlados por impedancia. No estoy seguro acerca de Altera, pero simplemente obtenga casi cualquiera de las hojas de datos de Xilinx o guías de diseño de E/S, como esta , y verá toda la variedad y muchas opciones disponibles.

Gracias por tu respuesta, definitivamente lo leeré. Sé acerca de las diversas conexiones y estoy utilizando LVDS en otra parte del diseño, es este caso particular que estoy describiendo que da tantos problemas.