SPI es un caso muy diferente.
Aquí el reloj está relacionado con UNA salida y UNA entrada. Ambos están sincronizados desde la misma fuente, por lo que el meandro no es particularmente útil o aconsejable y puede ser perjudicial. De hecho, las transiciones de reloj a datos están tan separadas que hasta la frecuencia más alta posible con el meandro SPI no agregaría ningún efecto. Una vez que tenga que deambular, de todos modos estará mal sincronizado con los datos devueltos.
El serpentear es para señales relacionadas con la dirección, como USB: Las señales D + y D- deben llegar al mismo tiempo a ambos dispositivos en el cable, y como van a una velocidad bastante alta, el serpenteado es muy útil para obtener Datos de muy alta fidelidad en ambos extremos. Lo mismo ocurre con los buses RAM, donde hay 8, 16, 32 o 64 líneas de datos que necesitan llegar al chip al mismo tiempo, así como al borde derecho del reloj.
Una regla general es usar el 66% de la velocidad de la luz (velocidad de la luz = ~ 2.9979 * 10 ^ 8 m / s) para la velocidad de transmisión a lo largo de una traza de cobre, algunos tipos de revestimiento o post-procesamiento pueden tiene algunos efectos menores sobre eso, pero el 66% no suele estar muy lejos de la marca.
Digamos que tiene alguna señal, transmitida a 100MHz y un sesgo permitido de 1/8 del ciclo de transmisión de datos (también conocido como ciclo de reloj). (Sesgo es lo que se llama si dos señales se envían al mismo tiempo, pero llegan a un tiempo diferente). Entonces obtienes un tiempo de retardo diferencial máximo de:
t = (1 / (100*10^6)) / 8 = 1.25ns
(como t = 1/f
y / 8 representa la regla de diseño 1/8 de la señal)
Entonces, en ese caso, generalmente intentas diseñar para un retraso diferencial de hasta la mitad, pero ciertamente nunca más de 1 ns, porque también hay tolerancias de producción y algunos elementos internos de chips que pueden desempeñar roles y no quieres quedar atrapado en 100ps.
Supongamos que vive en el límite y diseña para 1ns, obtiene, con un 66% de velocidad de transmisión de 3 * 10 ^ 8 m / s:
trace length difference limit = 1*10^-9 * 0.66 * 3*10^8 = 198mm
Pero tenga en cuenta que esto es asumiendo que el reloj solo necesita entregar datos en una dirección con esta cantidad de fidelidad, si usa el mismo reloj para sacar los datos del chip y desea que llegue a tiempo. Para la velocidad de transmisión, debe tomar ese número como la longitud total máxima de la ruta de la señal más larga (el tiempo de espera para el retorno de rastreo de datos más largo) y para el diferencial máximo debe intentar tomar 1/4.
A menos que, por supuesto, solo realice transferencias masivas sin connotaciones de tiempo y diseño avanzado, lo que le permite predecir cuándo regresarán los datos del reloj que envió, lo que le permite corregir el cambio en respuesta a trazos de 30 cm de longitud . Pero eso es algo que uno debería tratar de no querer hacer, dada la mitad de la opción.
Algunos diseños de alta velocidad incluyen un Reloj y un Reloj de retorno por tales razones, donde el "dispositivo esclavo" registra los datos que salen en una traza diferente al reloj original (o incluso a veces incluso la misma traza). Si el maestro utiliza ese reloj para sincronizar los datos, puede transferir de manera confiable a velocidades mucho más altas, ya que no necesita tener en cuenta el retraso total del reloj siempre que todas las trazas estén diseñadas según los límites establecidos por la velocidad y las reglas de reloj. .