9 votos

Enrutamiento del reloj de 30MHz a través de varias placas

Estoy usando TLC5945 Controlador de LED. Microcontrolador (estoy usando LPC1343 ) debe proporcionar un reloj para su temporizador/contador PWM interno. La velocidad de reloj máxima permitida es de 30MHz.

Tendré varias placas con TLC5945 conectadas en cadena. Las placas se conectarán a través de conectores placa a placa o cables de cinta cortos, la anchura de una placa es de 10 cm. Tendré como máximo 4 de ellas conectadas en serie.

Probablemente no usaré los 30MHz completos, pero sin embargo quiero hacerlo bien - ¿cómo encamino/acondiciono la señal de reloj manteniéndola intacta?

Si añado un buffer como el 74HC245 en la salida de cada placa, obtendré un retardo de 10ns después de cada buffer, no quiero eso. ¿Debería utilizar búferes de reloj especializados de "retardo cero"? ¿Qué tipo de esquema de terminación debería emplear?

2 votos

Un solo ciclo a 30MHz es de ~33ns. ¿Es un problema estar fuera de 1/3 de un ciclo por placa?

1 votos

Qué gran pregunta y respuestas. Cada respuesta se suma a la solución, ¡sin repetir ninguna de las anteriores!

20voto

jperras Puntos 361

30 MHz es suficiente para que tengas que tratar la señal como un problema de línea de transmisión. Tendrás que prestar atención a la disposición de la placa en todo el diseño, incluyendo y especialmente en los conectores. Tendrás que llevar pines de tierra adicionales junto con tu señal de 30 MHz, o posiblemente utilizar conectores especiales.

Necesitarás información sobre el diseño de tu placa, el número de capas, y puede que tengas que coordinarte con el fabricante de tu placa para que te apunte una impedancia característica específica, o simplemente para obtener parámetros como las constantes dieléctricas.

Parece que eres consciente de muchos de estos problemas, pero he pensado que es mejor abordarlos, porque si no tienes cuidado puedes conseguir un diseño que sea funcional pero que emita mucha RF y nunca pase una prueba de EMI.

Pautas para el enrutamiento de la señal:

  • Calcula la impedancia y la anchura de la traza.
  • Enruta primero tus relojes.
  • Si es posible, nunca dirijas la señal a través de una vía. Si es necesario, coloque condensadores de derivación cerca de la vía.
  • Si es posible/aplicable, enrute la señal a través de una capa interna (para que los planos exteriores de tierra y energía puedan funcionar como una especie de jaula de Faraday). En este caso, la señal debe dirigirse a una sola capa, excepto las vías que necesita para acceder a los chips.
  • La señal nunca va a ninguna parte sin un plano de tierra (o estrictamente hablando, un plano de referencia).
  • La señal nunca cruza un límite entre planos de potencia.
  • Al pasar por un conector, rodéalo de tierra.
  • En una cadena tipo margarita, diríjase directamente a las entradas de reloj sin usar stubs, si es posible. Diagram of daisy chain without stubs from Altera PDF
  • Cruzar otras señales en perpendicular.
  • Si otras señales deben viajar con él, déles permiso. Cuatro veces la anchura del trazado.
  • Utilice una terminación paralela a tierra con una resistencia igual a la impedancia característica de la microstrip/stripline, o una terminación de origen si la señal tiene un solo destino. Para más información, consulte esta pregunta relacionada .

Por supuesto, en un diseño del mundo real, puede que tengas que romper alguna de esas pautas.

La mayoría de estas reglas se derivan de la observación de que, a altas frecuencias, la corriente de retorno intentará viajar cerca de la señal, por lo que hay que proporcionar un camino para la corriente de retorno. Si la corriente de retorno está separada físicamente, se está creando una antena parásita. El plano de tierra (¡o de potencia!) que proporciona un camino para la corriente de retorno se llama referencia. No te salgas del plano de referencia. Si tiene que pasar por una vía, el plano de referencia cambia. El condensador de bypass se coloca entre los planos de referencia nuevo y antiguo.

Sus conectores supondrán un problema, porque probablemente tendrán una impedancia diferente a la de la placa de circuito impreso, por lo que provocarán reflexiones y degradarán la señal. Una opción puede ser utilizar un conector de impedancia controlada que se adapte a la impedancia de la placa.

En cuanto al firmware, es posible que tengas que experimentar con la fuerza de accionamiento para controlar la velocidad de los bordes. La fuerza de accionamiento máxima suele ser la respuesta incorrecta. Su proveedor de CI debe ser capaz de proporcionar un IBIS con el que se puede simular el circuito para estimar la integridad de la señal. Estrictamente hablando, no es la frecuencia del reloj la que causa problemas de integridad de la señal o de EMC, sino la tasa de flancos (el tiempo de transición entre alto y bajo) porque los flancos rápidos se manifiestan como transitorios de banda ancha en el dominio de la frecuencia. La reducción de la fuerza de accionamiento y/o de la velocidad de giro reducirá la tasa de flancos y reducirá las emisiones armónicas, aunque (probablemente) aumentará la fluctuación del reloj. Consulta las hojas de datos para ver cuál es la tasa de flancos aceptable para los receptores del reloj.

Mi opinión es que si haces los deberes, probablemente no necesitarás ningún tipo de repetidor de señal. Piensa en SCSI, por ejemplo, que es un enorme bus paralelo de alta velocidad distribuido por cables a unos 100 MHz. Si es posible, considera invertir en un programa como HyperLynx para simular su diseño.

Altera tiene una excelente guía para cuestiones de enrutamiento de alta velocidad.

0 votos

Gracias por la gran información. De su respuesta entiendo que no hay manera de que pueda lograr esto con las placas grabadas de bricolaje?

0 votos

@miceuz: Bueno, si es un proyecto de hobby entonces no estás tan preocupado por la EMC, así que tal vez. El consenso que está surgiendo es que esto sería complicado para los ingenieros de alto nivel, y tratar de hacerlo DIY no hace nada más fácil. Por otro lado, puedes bajar la frecuencia de reloj si no funciona en este caso. Yo trataría de encontrar un diseño alternativo para reducir la longitud de la cadena.

0 votos

Lo votaría dos veces si pudiera.

10voto

RWH Puntos 21

No te va a perjudicar hacer todas las cosas que sugieren jbarlow y David, pero déjame que intente facilitarte un poco las cosas (o tal vez dificultarlas, porque voy a decir que probablemente puedas salirte con la tuya en muchas cosas, pero no voy a promesa ).

Una regla clásica es que se puede considerar que un circuito es un circuito lumped si ninguna de sus dimensiones es mayor que 1/10 de la longitud de onda de la señal de mayor frecuencia de interés. Si se trata de un circuito de masas, se pueden considerar las pistas como simples conexiones entre elementos discretos. Si no es un circuito lumped usted necesita preocuparse por los efectos del circuito distribuido, y considerar sus pistas como líneas de transmisión.

Estás hablando de una frecuencia de reloj de 30 MHz, que corresponde a una longitud de onda de 10 m. Si se propaga a través de FR4, esta longitud de onda se reducirá a unos 4,7 m. Y una longitud de circuito de 40 cm. Así que para la fundamental de la señal de reloj estás justo en el límite de la antigua regla general.

Problema: no sólo hay que preocuparse de la frecuencia del reloj, sino de cuántos armónicos de esa frecuencia hay que transmitir para dar el tiempo de subida y bajada deseado. Si deliberadamente ralentiza los bordes que transmite probablemente puedas arreglártelas sólo con el 1er y 3er armónico (David aludió a esto cuando mencionó no necesariamente usar la máxima fuerza de accionamiento).

Esto nos da una frecuencia máxima de interés de 90 MHz, y una longitud de onda correspondiente (en FR4) de aproximadamente 1,6 m. Así que la distancia crítica es de 16 cm. Esto significa que, en general, hay que proporcionar una vía de retorno estrechamente acoplada, diseñar las pistas como líneas de transmisión y terminarlas con una impedancia adecuada, etc.

Pero probablemente no tengas que pagar más por la impedancia controlada. Si diseñas con trazas por encima de la anchura mínima disponible de tu proveedor, (digamos 8 o 10 mil), lo más probable es que las tolerancias normales te den un rendimiento adecuado.

Y si por el camino tienes que pasar por una vía, o pasar por un hueco corto en el plano de tierra, o no puedes poner un condensador de bypass justo al lado de una parte de carga, no te preocupes demasiado. Si quieres pasar tus pistas directamente de conector a conector, con un trozo de unos pocos centímetros para llegar a los chips de carga de cada placa, todo irá bien. Si la longitud de la parte no controlada de la vía (o la ranura en el plano de tierra) es inferior a unos pocos cm, no te va a arruinar el día. Incluso si es de 10 cm, es probable que te salgas con la tuya, pero no tientes la suerte.

Por ejemplo, esto significa que cuando se conecta entre placas, no es necesario un conector de impedancia controlada de alto coste. Incluso un par de centímetros de cable de cinta será suficiente. Un patrón de cables tierra-señal-tierra o tierra-señal-tierra en la cinta es una buena idea, pero no te preocupes por los cables de par trenzado con impedancia controlada o coaxial.

Por otro lado, si decides utilizar un buffer en cada placa, eso te permitiría tratar prácticamente el circuito de cada placa (a 10 cm de longitud) como un circuito agrupado. Tendrás que gestionar el sesgo del búfer, como ha descrito David, y tendrás que limitar los tiempos de subida y bajada de cada búfer, pero ganarás mucha flexibilidad en el diseño de cada placa sin degradar la funcionalidad. Dicho esto, cuanto más hagas para mantener tus rutas de retorno cerca de tus trazas de señal, menos probable será que te lleves una sorpresa desagradable a la hora de realizar las pruebas de EMC.

6voto

Creo que la respuesta de @jbarlow es bastante acertada. Quiero añadir algo más, pero no me voy a molestar en repetir lo que ha dicho.

Lo único en lo que no estoy de acuerdo con @jbarlow es en el uso de repetidores, o en la amortiguación de todas las señales. Lo que dice es correcto, "si haces los deberes...". Pero ese es el problema, hacer los deberes. Puedes hacerlo, pero necesitarás cables y conectores relativamente caros... y entonces sólo será "realmente difícil".

No parece que añadir 10 ns de retardo para amortiguar el reloj en cada PCB sea realmente un problema. Es difícil de decir con certeza ya que dejaste fuera muchos detalles sobre las otras señales como BLANK y XLAT. Pero incluso si es un problema, siempre puedes amortiguar TODAS las señales. Todas las compuertas del 74xx245 tenderán a tener el mismo retardo (o al menos similar), y así la temporización general en el controlador de LEDs seguirá siendo buena.

(Nota: compruebe las hojas de datos. Un buen chip indicará dos números diferentes de retardo de propagación. Uno para una puerta individual, y otro que muestra la diferencia o desviación en el retardo entre puertas dentro del mismo chip. No se fíe de mi palabra. Tendrás que hacer un análisis de tiempo adecuado).

Conseguir la terminación e impedancia de las señales entre PCB's es fundamental para que este diseño funcione. Controlar la impedancia en los cables multiconductores siempre es difícil, y hacer pasar una sola señal por varias placas de circuito impreso y cables es buscarse problemas. Habrá un cambio de impedancia en muchos puntos a lo largo de la longitud de la señal, lo que creará problemas de integridad de la señal. La amortiguación de todas las señales entre las placas de circuito impreso ayudará a solucionar este problema. Al menos las longitudes de las trazas y los cambios de impedancia en cada señal se mantendrán al mínimo.

El uso de búferes de retardo cero no es necesario, y en realidad podría empeorar las cosas (y hacerlas más caras). Los búferes de retardo cero son en realidad bucles de bloqueo de fase (PLL) y requieren un diseño cuidadoso para funcionar perfectamente. En la mayoría de los casos esto no es un gran problema, pero podría serlo si tu reloj no es perfecto. Lo mejor sería evitarlos para esta aplicación. Además, un buffer de retardo cero no es adecuado para amortiguar nada que no sea un reloj de funcionamiento continuo - por lo que no ayuda a amortiguar cualquier otra señal.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X