¿Por qué es importante la coincidencia de longitud para las señales de alta velocidad?

1

Hablando en términos generales, entiendo que la coincidencia de la longitud de la traza de PCB es importante desde el punto de vista de la temporización de la señal y la integridad de la señal, pero quiero saber algunos detalles más específicos sobre estos dos parámetros y si hay otras consideraciones y parámetros que hagan la comparación de longitud importante para las señales de alta velocidad en particular.

Cualquier comentario es muy apreciado. Gracias.

EDITAR: Lo siento si mi contexto no estaba claro. Por alta velocidad, por supuesto me refiero a señales de alta frecuencia, como por ejemplo DDR4, HDMI, USB 2.0 / 3.0, etc.

    
pregunta LoveEnigma

2 respuestas

4

Tomemos DDR4. En este caso, la coincidencia de longitud se realiza para las líneas de datos y las líneas DQS dentro de un grupo. El motivo de la coincidencia de longitud en este caso es debido a la sincronización. Las líneas de datos y DQS con longitud similar sufrirán un retraso de propagación similar en la traza de PCB.

Tomemos otro caso, una línea diferencial. La razón para que la longitud coincida entre las trazas positiva y negativa de la línea diferencial es que la onda electromagnética que recorre la línea diferencial llegue al mismo tiempo en las trazas positiva y negativa. Si estas líneas no están emparejadas, la línea diferencial se comporta menos como tal y usted comienza a perder sus ventajas (rechazo de ruido en modo común, incluido EMI, RFI generado).

Para cada bus estándar que mencionó, no es raro encontrar pautas de enrutamiento muy detalladas del fabricante, incluida la razón de esas pautas, como esta de TI para HDMI enlace

    
respondido por el Claudio Avi Chami
7
  • Buses síncronos:

Considere DDR, PCI, etc. Hay varias señales, más un reloj.

Le gustaría que la señal que dice "estos datos son válidos" llegue cuando los datos son realmente válidos. También todos los bits deben llegar al mismo tiempo. Y todo debería estar correctamente alineado en relación con el reloj.

  • Fuente sincrónica (HDMI)

Esto es similar, ya que tiene algunas líneas de datos sincronizadas con un reloj. (ver más abajo).

  • Asíncrono (SATA)

En este caso, no hay reloj, por lo que la longitud del cable no importa. Sin embargo, todavía tienes un:

  • par diferencial

Ambas mitades de un par diferencial irradian y captan la misma cantidad exacta de ruido de lo que lo haría un solo cable o rastro de PCB. Dado que ambas mitades llevan señales exactamente opuestas, los campos radiados se cancelan, y como resultado, el ruido radiado general es muy bajo. Además, el receptor puede rechazar el ruido de modo común que es captado por ambas mitades del par.

Sin embargo, si las longitudes de ambas mitades son incomparables, esto ya no funciona. El ruido que se capta aparecerá primero en la mitad del par, luego en la otra. Ya no es el modo común, por lo que no puede ser rechazado. Además, si una línea es más larga que la otra, las señales en cada mitad ya no serán opuestas, una se retrasará. Por lo tanto, los campos EM emitidos ya no se cancelarán e irradiará ruido.

  • El reloj

El reloj es el más importante. Por lo general, el dispositivo bloqueará los datos entrantes en un borde del reloj:

Ahora, los datos cambian de "S0" al siguiente bit "S1", luego a "S2", etc. En este ejemplo, los datos están bloqueados en el flanco ascendente del reloj. Así que quieres que el flanco ascendente del reloj esté justo en el medio de cada bit. Esto asegura la máxima robustez a las variaciones en el tiempo hacia un lado del otro. (Dependiendo de los tiempos de configuración / retención, el óptimo puede variar un poco).

Tanto la RAM como la CPU pueden enviar señales en el mismo bus de datos. En los viejos tiempos, todo usaría un solo reloj. Este esquema simple tiene un inconveniente: los tiempos de ida y vuelta. Considera esto:

  • El reloj se agota
  • El reloj se propaga del generador de reloj al chip RAM
  • La RAM recibe el borde del reloj, luego genera un bit (esto también toma algo de tiempo)
  • El bit se propaga del chip RAM a la CPU

En este escenario, el reloj utilizado por la CPU para leer los datos enviados por la RAM es el reloj principal ... por lo tanto, el tiempo de propagación del generador de reloj a la CPU debe coincidir con el tiempo de propagación de toda la secuencia anterior. , incluye el tiempo de respuesta del chip RAM. Esto es un desastre, y la razón por la que los buses como PCI se limitaron a frecuencias más bien lentas.

Si desea un alto rendimiento, entonces el reloj debe generarse en la fuente de datos y enviarse junto con los datos, en trazas de longitud coincidente. Esto elimina la necesidad de sincronizar todo con un chip de reloj distante.

Es por esto que SDRAM (SDR, DDR, etc.) usa dos relojes. La CPU envía su reloj y sus datos. Cuando la RAM responde, también envía su propio reloj junto con los datos. Ambos relojes tienen la misma frecuencia, pero diferentes retardos. Por lo general, el chip esclavo necesita un PLL para regenerar el reloj mientras ajusta su fase en relación con el reloj principal, para compensar las variaciones en los tiempos de propagación debidos a diferentes chips, placas, temperatura, envejecimiento, etc.

Todos los enlaces modernos de alto rendimiento utilizan uno de dos esquemas:

  • Incrustar el reloj en los datos (SATA, PCI-Express, USB, Ethernet, etc.). En este caso, es posible que las diferentes líneas paralelas no tengan que coincidir en longitud.
  • Ambos lados transmiten en modo de fuente sincronizada (datos + reloj) para permitir un reloj más rápido que el retardo de ida y vuelta (SDRAM, DDR, etc.).

La coincidencia de las longitudes de traza es solo una parte de la historia. Los retrasos de los conductores y receptores varían con la temperatura y de chip a chip. Esto se llama "sesgo". Por ejemplo, un búfer paralelo de 8 bits especificará un sesgo, que es la diferencia en los tiempos de propagación entre cada búfer individual en el chip.

    
respondido por el peufeu

Lea otras preguntas en las etiquetas