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


9

Estoy usando el controlador LED TLC5945 . El microcontrolador (estoy usando LPC1343 ) debe proporcionar un reloj para su temporizador / contador PWM interno. La velocidad de reloj máxima permitida se especifica como 30MHz.

Tendré varias placas con TLC5945 en cadena. Las placas se conectarán mediante conectores de placa a placa o cables de cinta cortos, el ancho de una placa es de 10 cm. Tendré un máximo de 4 de ellos conectados en serie.

Probablemente no usaré 30MHz completos, pero sin embargo quiero hacerlo bien. ¿Cómo encamino / condiciono la señal del reloj para mantenerlo intacto?

Si agrego un búfer como 74HC245 en la salida de cada placa, obtendré un retraso de 10ns después de cada búfer, no quiero eso. ¿Debo usar buffers de reloj especializados de "retraso cero"? ¿Qué tipo de esquema de terminación debo emplear?


2
Un solo ciclo a 30MHz es ~ 33ns. ¿Estar fuera por 1/3 de un solo ciclo por placa es un problema tan grande?
Toby Lawrence

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

Respuestas:


20

30 MHz es suficiente para que necesite tratar la señal como un problema de línea de transmisión. Deberá prestar atención al diseño de la placa en todo el diseño, incluidos y especialmente en los conectores. Deberá traer pines de tierra adicionales junto con su señal de 30 MHz, o posiblemente usar conectores especiales.

Necesitará información sobre el diseño de su placa, el número de capas, y es posible que deba coordinar con el fabricante de la placa para que puedan apuntar a una impedancia característica específica para usted, o simplemente para obtener parámetros como las constantes dieléctricas.

Parece que está al tanto de muchos de estos problemas, pero pensé que era mejor abordarlos, porque si no tiene cuidado, puede obtener un diseño que sea funcional pero que emite mucha RF y nunca pasará por un Prueba de EMI.

Pautas para enrutar la señal:

  • Calcule la impedancia y el ancho de la traza.
  • Dirige tus relojes primero.
  • Si es posible, nunca dirija la señal a través de una vía. Si es necesario, coloque los condensadores de derivación cerca de la vía.
  • Si es posible / aplicable, enrute la señal a través de una capa interna (de modo que los planos de tierra y energía externos puedan funcionar como una especie de jaula de Faraday). En este caso, la señal debe enrutarse en una capa, excepto por las vías que necesita para acceder a los chips.
  • La señal nunca llega a ningún lado sin un plano de tierra (o, estrictamente hablando, un plano de referencia).
  • La señal nunca cruza un límite entre los planos de poder.
  • Cuando atraviese un conector, rodee con tierra.
  • En una conexión en cadena, diríjase directamente a las entradas del reloj sin usar trozos, si es posible. Diagrama de cadena de margaritas sin trozos de Altera PDF
  • Cruce otras señales en una perpendicular.
  • Si otras señales deben viajar con él, déles autorización. Cuatro veces el ancho de la traza.
  • Use la terminación paralela a tierra con una resistencia igual a la impedancia característica de la microbanda / línea de banda, o la terminación de la fuente si la señal tiene un solo destino. Para una discusión vea esta pregunta relacionada .

Por supuesto, en un diseño del mundo real, es posible que deba romper alguna de esas pautas.

La mayoría de estas reglas se desprenden de la observación de que a altas frecuencias, la corriente de retorno intentará viajar cerca de la señal, por lo que debe proporcionar un camino para la corriente de retorno. Si la corriente de retorno está físicamente separada, está creando una antena parásita. El plano de tierra (¡o potencia!) Que proporciona una ruta para la corriente de retorno se denomina referencia. No dejes el plano de referencia. Si tiene que pasar por una vía, el plano de referencia cambia. El condensador de derivación se establece entre los planos de referencia nuevos y antiguos.

Sus conectores plantearán un problema, porque probablemente tendrán una impedancia diferente de la PCB, por lo que causarán reflejos y degradarán la señal. Una opción puede ser usar un conector controlado por impedancia que coincida con la impedancia de la placa.

En el lado del firmware, es posible que deba experimentar con la fuerza de la unidad para controlar la velocidad de borde. La fuerza máxima de manejo es a menudo la respuesta incorrecta Su proveedor de IC debería poder proporcionarle un modelo IBIS , con el que pueda simular el circuito para estimar la integridad de la señal. Estrictamente hablando, no es la frecuencia del reloj lo que causa problemas de integridad de la señal o EMC, sino la velocidad de borde (el tiempo de transición entre alto y bajo) porque los bordes rápidos se manifiestan como transitorios de banda ancha en el dominio de la frecuencia. La reducción de la fuerza de transmisión y / o la velocidad de rotación reducirá la velocidad de borde y las emisiones armónicas, mientras que (probablemente) aumentará la fluctuación del reloj. Consulte las hojas de datos para ver cuál es la velocidad de borde aceptable para los receptores del reloj.

Mi sensación es que si haces tu tarea, probablemente no necesitarás ningún tipo de repetidor de señal. Considere SCSI, por ejemplo, que es un enorme bus paralelo de alta velocidad distribuido sobre cables de alrededor de 100 MHz. Si es posible, considere invertir en un programa como HyperLynx para simular su diseño.

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


Gracias por grandes ideas. Por su respuesta, ¿entiendo que no hay forma de que pueda lograr esto con tableros grabados con bricolaje?
miceuz

@miceuz: Bueno, si es un proyecto de pasatiempo, entonces no estás tan preocupado por EMC, así que tal vez. El consenso emergente es que sería difícil para los ingenieros superiores acertar, y tratar de hacerlo bricolaje no hace nada más fácil. Por otro lado, puede reducir la frecuencia del reloj si no funciona en este caso. Intentaría encontrar un diseño alternativo para reducir la longitud de la cadena de margaritas.
jbarlow

Votaría esto dos veces si pudiera.
Renan

10

No va a lastimarte hacer todas las cosas que jbarlow y David sugieren, pero déjame tratar de hacerte las cosas un poco más fáciles (o tal vez más difíciles, porque voy a decir que probablemente puedas salirte con la tuya) de cosas, pero no voy a prometer ).

Una regla general clásica es que puede considerar que un circuito es un circuito agrupado si ninguna de sus dimensiones es más larga que 1/10 de la longitud de onda de la señal de mayor frecuencia de interés. Si se trata de un circuito concentrado, puede considerar sus pistas como solo conexiones entre elementos discretos. Si no es un circuito agrupado, debe preocuparse por los efectos de circuito distribuido y considerar sus trazas 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 aproximadamente 4,7 m. Y una longitud de circuito de 40 cm. Entonces, para lo fundamental de la señal de reloj, estás justo al borde de la antigua regla de oro.

Problema: no solo tiene que preocuparse por la frecuencia del reloj, sino por cuántos armónicos de esa frecuencia deben transmitirse para obtener el tiempo de subida y bajada que desee. Si deliberadamente reduce la velocidad de los bordes que transmite , probablemente pueda arreglárselas solo con los armónicos primero y tercero (David aludió a esto cuando mencionó que no necesariamente usaba la fuerza de conducción máxima).

Esto le proporciona una frecuencia de interés máxima de 90 MHz y una longitud de onda correspondiente (en FR4) de aproximadamente 1,6 m. Entonces la distancia crítica es de 16 cm. Eso significa que, en general, desea proporcionar una ruta de retorno estrechamente acoplada, diseñar sus pistas como líneas de transmisión y terminar con una impedancia adecuada, etc.

Pero probablemente no tenga que pagar extra por la impedancia controlada. Si diseña con trazas por encima del ancho mínimo disponible de su proveedor (por ejemplo, 8 o 10 mil), las tolerancias normales probablemente le proporcionarán un rendimiento adecuado.

Y si en el camino tiene que pasar por una vía, o pasar por un espacio corto en el plano de tierra, o no puede colocar un condensador de derivación justo al lado de una parte de carga, no se preocupe demasiado. Si desea ejecutar sus pistas directamente de un conector a otro, con unos pocos trozos de cm para llegar a los chips de carga en cada placa, estará bien. Si la longitud de la parte no controlada de la ruta (o la ranura en el plano de tierra) es inferior a unos pocos cm, no arruinará su día. Incluso si son 10 cm, es probable que te salgas con la tuya, pero no presiones tu suerte.

Por ejemplo, esto significa que cuando se conecta entre placas, no hay necesidad de un conector controlado por impedancia de alto costo. Incluso un par de centímetros de cable plano estarán bien. Una buena idea es un patrón de tierra-señal-tierra o tierra-señal-señal-tierra de cables en la cinta, pero no se preocupe por los cables de par trenzado o coaxiales de impedancia.

Por otro lado, si decide usar un búfer en cada placa, eso le permitiría tratar el circuito de cada placa (a 10 cm de longitud) como un circuito agrupado. Querrá administrar el sesgo del búfer, como lo describió David, y tendrá que limitar los tiempos de subida y bajada de cada búfer, pero obtendrá mucha flexibilidad en el diseño en cada placa sin degradar la funcionalidad. Dicho esto, cuanto más hagas para mantener tus rutas de retorno cerca de tus rastros de señal, menos probable es que tengas una desagradable sorpresa cuando se trata de pruebas EMC.


6

Creo que la respuesta de @ jbarlow es bastante acertada. Quiero agregarle algo, pero no me molestaré en repetir lo que ha dicho.

Lo único en lo que no estaría de acuerdo con @jbarlow es el uso de repetidores o el almacenamiento en búfer de todas las señales. Lo que dice es correcto, "si haces tu tarea ...". Pero ese es el problema, hacer tu tarea. Puede hacerlo, pero necesitará cables y conectores relativamente caros, y entonces solo será "realmente difícil".

No parece que agregar un retraso de 10 ns para amortiguar el reloj en cada PCB sea realmente un problema. Es difícil para mí decirlo con certeza ya que omitió muchos detalles sobre otras señales como BLANK y XLAT. Pero incluso si es un problema, siempre puede almacenar TODAS las señales. Todas las puertas en el 74xx245 tenderán a tener el mismo retraso (o al menos similar), por lo que la sincronización general en el controlador LED seguirá siendo buena.

(Nota: Verifique las hojas de datos. Un buen chip enumerará dos números diferentes de retardo de propagación. Uno para una puerta individual y otro que muestra la diferencia o sesgo de retraso entre las puertas dentro del mismo chip. No confíe en mi palabra. Usted aún tendrá que hacer un análisis de tiempo adecuado).

Obtener la terminación y la impedancia de las señales entre los PCB es fundamental para que este diseño funcione. Controlar la impedancia en cables multiconductores siempre es difícil, y ejecutar una sola señal a través de varios PCB y cables solo es un problema. Tendrá un cambio en la impedancia en muchos puntos a lo largo de la longitud de la señal, lo que creará problemas de integridad de la señal. Almacenar todas las señales entre los PCB ayudará a gestionar esto. Al menos las longitudes de traza y los cambios de impedancia en cada señal se mantendrán al mínimo.

El uso de memorias intermedias de cero retraso no es obligatorio, y en realidad podría empeorar las cosas (y hacerlas más caras). Las memorias intermedias de retardo cero son realmente bucles de fase bloqueada (PLL) y requieren un diseño cuidadoso para funcionar perfectamente. En la mayoría de los casos, esto no es un gran problema, pero ciertamente podría ser un problema si su reloj no es perfecto. Sería mejor evitar estos para esta aplicación. Además, un búfer de retardo cero no es adecuado para almacenar en búfer nada más que un reloj en funcionamiento continuo, por lo que no le ayuda a almacenar en búfer ninguna otra señal.


Excelentes puntos. Estoy de acuerdo en que el enfoque de las señales almacenadas es probablemente mucho más seguro y más probable de tener éxito
jbarlow

¿Cómo puedo amortiguar y terminar la señal? ¿Es MCU-> Buffer-> Término de la serie-> cable-> Buffer-> TLC5945-> Buffer-> término de la serie-> cable ... o MCU-> Buffer-> Término de la serie-> cable-> TLC5945-> Buffer -> término de la serie-> cable ... es decir, ¿necesito almacenar en búfer las señales de ambos extremos del cable o puedo transmitir en el búfer y la terminación para trabajar tanto para el conector / cable como para la placa que viene a continuación?
miceuz

@miceuz Lo ideal sería almacenarlo dos veces en cada tablero. Una vez cuando la señal ingresa a la placa en un conector. Otra vez cuando la señal sale de la placa en el otro conector. Prácticamente, hacerlo una vez es probablemente suficiente. Entonces sería MCU-> Cable-> LED-> term-> buf-> cable-> led-> term-> buf-> cable-> etc. Tenga en cuenta que la terminación de la serie fuente solo funciona si tiene una sola carga en la señal, que no tiene. Tiene un chip controlador de LED y un búfer. Debe mirar la terminación de CA, que tiene una resistencia y una tapa en serie a tierra en el extremo más alejado.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.