¿Quitar el borde/anillo de una señal de reloj con un circuito RC?

Estoy diseñando una placa para un proyecto de pasatiempo en el que estoy usando un machxo2 cpld de celosía como interconexión del sistema.

El cpld debe tener una frecuencia de reloj de 80-100 MHz, y debido a que busqué un cpld más económico, no tiene PLL integrados. La forma más fácil para mí de cronometrarlo es usar un reloj programable de mi mcu principal (Atmel SAM4S) para cronometrar el cpld (con un trazo de pcb de aproximadamente 3 cm).

Debido a que la señal es de 100 MHz, la velocidad de respuesta tendrá que ser bastante alta y espero que suene mucho. ¿Puedo reducir el timbre agregando una pequeña resistencia al pin de salida de la MCU (10-100 ohmios) y una pequeña tapa a tierra en la línea del reloj (10-100pF)? De acuerdo con mis matemáticas del dorso del sobre, estos valores obligarán al tiempo de subida/bajada a ser de alrededor de 1 ns.

esquemático

simular este circuito : esquema creado con CircuitLab

¿Funcionará este enfoque? ¿Es una práctica común? Vengo de un fondo de CS, por lo que mi conocimiento es un poco inestable.

Gracias.

Respuestas (2)

Supongo que esta su fuente de reloj es una salida de reloj dedicada en la MCU, por lo que debería poder manejar bien las velocidades de cambio (suponiendo que esté diseñado para estas frecuencias). Una posible fuente de timbre podría ser los efectos de la línea de transmisión (o cualquier problema de diseño defectuoso).

Una regla general es que si su longitud de onda es mayor que 10 veces la longitud de la traza, puede ignorar los efectos de la línea de transmisión.

Una onda cuadrada se compone de armónicos impares, así que tomemos el quinto armónico a 500 MHz. Con 2/3 de la velocidad de propagación de la luz, la longitud de onda es ~0,4 m. Esto es más de 10 veces la longitud de su rastreo, por lo que probablemente pueda ignorarlos. Sin embargo, considerando el séptimo armónico, es una historia diferente. Ahora los efectos de la línea de transmisión sí importan.

La técnica habitual para sortear los efectos de la línea de transmisión es usar resistencias de impedancia adaptadas (no un filtro RC). Esto es relativamente fácil cuando tiene un cable con una impedancia característica nominal; es más difícil para un trazo y depende de la geometría. Por ejemplo, he enlazado la forma de calcular la impedancia característica de una microcinta . Por lo general, puede encontrar calculadoras en línea que manejan varias geometrías comunes.

Dado que su seguimiento de reloj siempre se originará en la MCU, puede colocar esta resistencia de terminación en serie con el seguimiento cerca del pin de salida del reloj (nuevamente siguiendo la regla general de <10x la longitud del seguimiento).

Otra forma de medir cuánto debe preocuparse por los efectos de la línea de transmisión es con este simulador de línea de transmisión en línea (enchufe desvergonzado). En el armónico 11, la amplitud ha disminuido a 1/11 de la amplitud de la frecuencia fundamental, por lo que puede usar el inverso del armónico 11 (909ps) como el tiempo de subida y bajada. Elija un R1 (resistencia de terminación) que no coincida bien y vea si el nivel de timbre supera el ~10 % (o cualquier tolerancia que considere aceptable para su aplicación) para determinar si debe preocuparse por la terminación.

editar:

La razón por la que no se usa un circuito RC es porque no resuelve el problema de la línea de transmisión. Para ilustrar esto, he creado dos circuitos:

Filtrar cerca de CPLD

El primer circuito coloca el filtro RC en el extremo receptor de la línea de transmisión (cerca del CPLD).

ingrese la descripción de la imagen aquí

Simulé esto usando varios valores para C1. R1 y R2 se eligieron intencionalmente para que no coincidieran con la impedancia característica.

C1 = 100pF ( F 3 d B = 1590 METRO H z )

ingrese la descripción de la imagen aquí

C1 = 330pF ( F 3 d B = 482 METRO H z )

ingrese la descripción de la imagen aquí

C1 = 500 pF ( F 3 d B = 318 METRO H z )

ingrese la descripción de la imagen aquí

Como puede ver, ninguno de estos es efectivo para reducir el exceso; simplemente convierten tu agradable onda cuadrada definida en basura.

Filtrar cerca de MCU

ingrese la descripción de la imagen aquí

C1 = 100pF ( F 3 d B = 1590 METRO H z )

ingrese la descripción de la imagen aquí

C1 = 330pF ( F 3 d B = 482 METRO H z )

ingrese la descripción de la imagen aquí

C1 = 500 pF ( F 3 d B = 318 METRO H z )

ingrese la descripción de la imagen aquí

Parece que esta es una técnica efectiva, sin embargo, si observa el caso de 500pF, el borde del reloj se está volviendo cada vez más exponencial. Eventualmente disminuirá la amplitud de salida, lo cual no es bueno.

Podría construir un filtro de orden superior que sea mucho mejor para eliminar solo las frecuencias por encima del límite de la línea de transmisión, pero hay problemas:

  1. Estos realmente eluden el problema real y no siempre se pueden usar.
  2. Estos requieren muchos componentes y ocupan mucho espacio en la junta. ¡Incluso puede encontrarse con efectos de línea de transmisión antes de llegar al final del filtro!
  3. Una resistencia de terminación es una sola resistencia, lo cual no es nada difícil de hacer.
Gracias por vincular a su simulación. Fue realmente educativo de usar. Ahora, ¿por qué la gente no usa la técnica de tener un circuito RC como filtro de paso bajo para eliminar los armónicos 5, 7, 9, 11, etc.? ¿La capacitancia de entrada de los mosfets es suficiente para actuar como un filtro RC?
@johnny_boy editó la respuesta para incluir por qué un filtro RC (o cualquier filtro) no es la mejor solución.
Desearía poder darle otro voto positivo por su increíble respuesta. Supongo que necesito leer un poco más sobre cómo funcionan las líneas de transmisión porque, sinceramente, me cuesta un poco entender por qué ayuda una sola resistencia de terminación. (¿Está amortiguando el circuito RLC en la línea de transmisión?)
Las líneas de transmisión son cosas raras... el método tradicional para usar un modelo "agrupado" (lo que solemos hacer con los circuitos) realmente no funciona con ellas. Una forma de visualizar cómo se comportan es simular que en cualquier momento antes de tdelay la fuente ve solo la impedancia característica, y después de 2*tdelay (tiempo que tarda la fuente en llegar al otro lado y volver), ven la impedancia de carga. Ver: diagramas de rebote

Tanto la velocidad de giro demasiado alta como la demasiado baja no son buenas, según here .

Para las señales de entrada de reloj, los flancos de reloj muy lentos captan grandes cantidades de ruido de conmutación de la placa y el dispositivo. Además del problema del ruido, los bordes de reloj más lentos son más susceptibles al jitter, lo que puede reducir los márgenes de tiempo ya ajustados en los diseños de alta velocidad.

Para las señales de entrada de datos, las velocidades de flanco muy rápidas provocan problemas de ruido de entrada de conmutación simultánea (SSI) en los buses de datos anchos. También pueden ocurrir problemas de diafonía.

Por lo tanto, asegúrese de que su velocidad de respuesta no sea demasiado alta ni demasiado baja.

Suponga que su reloj de 100 MHz necesita un tiempo de subida/bajada de 1,7 ns, según la regla de 2 pulgadas/ns, su traza debe ser inferior a 3,5 pulgadas, aproximadamente 9 cm. Si puede controlar la longitud de su rastro en aproximadamente 3 cm, es posible que no necesite la terminación.

Sin embargo, si debe reducir la velocidad de giro (puede que no se deba a un problema de timbre sino a los problemas proporcionados por el enlace anterior), puede usar el circuito RC. Puede consultar este enlace , p. 2.

Gracias por proporcionar los enlaces a los 2 artículos anteriores. Ambos fueron informativos y útiles.