En un blog anterior, discutí algunos de los puntos básicos en la preparación de reglas de enrutamiento para PCBs de 2 capas para apoyar el enrutamiento y diseño con señales digitales. En particular, miramos algunas de las reglas básicas de apilamiento y enrutamiento necesarias para soportar una interfaz digital como I2C o SPI en una PCB de 2 capas. Al trabajar con estas interfaces, unas pocas pautas simples pueden ayudar a asegurar la integridad de la señal en tu placa y reducir la EMI.
¿Qué pasa con una interfaz controlada por impedancia como USB? La necesidad de control de impedancia, y saber cuándo se puede violar, es el punto principal para el enrutamiento de algo como USB en una PCB de 2 capas. En este artículo, mostraré cómo debes enrutar un protocolo de alta velocidad como USB. Específicamente, veremos las reglas de diseño importantes necesarias para el enrutamiento de la placa, particularmente la limitación de longitud que podríamos aceptar para las pistas que llevan datos USB. Si aún no has leído el artículo anterior de esta serie, échale un vistazo ya que establece algunos de los fundamentos conceptuales necesarios para entender los límites que se establecen en los requisitos de enrutamiento USB.
En el artículo anterior sobre el enrutamiento de PCB de 2 capas, examinamos un procedimiento para determinar la longitud de línea más larga que podrías usar en tu diseño sin necesidad de aplicar emparejamiento de impedancia. Descubrimos que el límite de longitud depende del nivel de desviación de impedancia de entrada que puedes tolerar a lo largo de la longitud de la línea de transmisión. En particular, dependiendo de si consideras que el 10% al 25% de la distancia de viaje de la señal es el factor importante para limitar la longitud de la traza.
Para esta demostración, quiero mirar el enrutamiento de USB 2.0 en esta placa bajo el estándar de Alta Velocidad, y me estoy enfocando en este estándar por una razón específica. USB 2.0 (Alta Velocidad) todavía se utiliza en algunos sistemas ya que proporciona conectividad con dispositivos antiguos junto con una tasa de transferencia de datos rápida, y todavía se usa en plataformas populares como Arduino con un enchufe Tipo B.
Solo para ilustrar dos diseños posibles, he comparado la tasa de datos y el tiempo de subida de dos especificaciones de USB 2.0 (Velocidad Completa y Alta Velocidad):
|
|
|
|
|
|
El proceso que mostraré a continuación se lleva a cabo para señales USB 2.0 con el tiempo de subida y la desviación de la Alta Velocidad, pero podrías aplicar el mismo proceso a USB 3.0 o cualquier otra interfaz de alta velocidad. Solo recuerda: el enrutamiento en una placa de 2 capas no es apropiado para todas las interfaces. Por ejemplo, no conozco a nadie que recomendaría enrutar DDR4 en una placa de 2 capas debido a los límites de longitud pequeños y el ruido radiado de estas señales rápidas.
Primero, nos gustaría saber la longitud crítica para una señal USB que se está enrutando en una PCB típica de 2 capas. Para un núcleo de Dk = 4.8 de material FR4, tendríamos un retraso de propagación de aproximadamente 150 ps/pulgada, o aproximadamente 6 pulgadas/ns. Con nuestro tiempo de subida de 500 ps para la especificación de Alta Velocidad, esto nos da una distancia de propagación de la señal de 3 pulgadas durante el tiempo de subida. Si somos muy conservadores y usamos un límite del 10% en la longitud crítica, ¡esto nos da una longitud crítica de 0.3 pulgadas!
La topología que necesitamos enrutar aquí es simplemente una línea serial con pares diferenciales. Así que tienes tres elementos:
Puede que te estés preguntando, ¿cómo se hace en una plataforma como Arduino? Echa un vistazo a la imagen de abajo de un Arduino Mega que puedes comprar en Amazon. El controlador USB está colocado cerca del conector y definitivamente está a menos de 1 pulgada.
Encontrarás una colocación y enrutamiento similares en otras placas de Arduino. Para evitar una desadaptación de impedancia de entrada con el conector, el cable y el receptor, querríamos seguir el consejo mostrado arriba y mantener la ruta corta en nuestro PCB de 2 capas. Sin embargo, no necesitamos ser tan conservadores como para aplicar un límite del 10%. En cambio, si vamos con un límite del 25%, tendremos una distancia de enrutamiento mucho más cómoda de 0.75 pulgadas, lo cual es mucho más manejable en un PCB de 2 capas.
Tenga en cuenta que esto es para la especificación de Alta Velocidad. Bajo la especificación de Velocidad Completa, tenemos una longitud crítica más relajada de 2.4 pulgadas (límite del 10%) o una longitud crítica de 6 pulgadas (límite del 25%) para un tiempo de subida de 4 ns.
Una cosa importante a tener en cuenta es la siguiente: no hay un límite establecido (10%, 25% o de otro tipo) donde tengamos una longitud crítica válida, y dependiendo del tamaño de su PCB, podría estar por encima de la longitud crítica y ahora necesitar diseñar para la impedancia correcta. El límite depende de varios factores, y determinar el porcentaje correcto para su longitud crítica requiere calcular múltiples valores de impedancia de todos modos. En lugar de desarrollar una regla basada en esta longitud crítica, siempre es más fácil simplemente diseñar para la impedancia USB requerida.
A continuación, necesitamos considerar cómo se termina la salida del controlador. Dado que estamos hablando específicamente de USB aquí, ten en cuenta que la especificación USB 2.0 requiere algunas resistencias de terminación en las líneas D+ y D- cerca del conector para igualar las impedancias. Estas podrían estar integradas en el transceptor USB en el dado, o podrían ser necesarias como un componente externo. Los valores típicos son 15 Ohmios, 22 Ohmios o 45 Ohmios, aunque se podrían usar otros valores; asegúrate de revisar la hoja de datos de tu componente para ver qué terminación se necesita. Solo como un ejemplo, el controlador de Hub USB TUSB2077APTR utiliza resistencias de terminación de 27 Ohmios. Asegúrate de revisar la hoja de datos para verificar si necesitas estas resistencias externas.
Con un límite de desviación de 100 ps en el estándar de Alta Velocidad, ahora podemos calcular la diferencia de longitud permitida entre los dos lados del par diferencial (las señales D+ y D-). Tomando la estimación aproximada de 6 ns/pulgada para el retardo de propagación en el enrutamiento de la capa superficial, y multiplicándolo por el límite de desviación, obtenemos una diferencia de longitud de traza de 0.6 pulgadas (600 mil). ¡Esto es mucho! Tenemos mucha libertad para permitir cierto emparejamiento de la longitud de las trazas. Sin embargo, hay un punto importante aquí: esto incluye la longitud total del interconector (tu placa + cable + placa receptora). Por lo tanto, solo para estar seguros, haz lo mejor que puedas para limitar la desviación tanto como sea posible enrutando los pares juntos y aplicando un poco de emparejamiento de longitud donde sea posible. Esto es bastante fácil porque los chips controladores USB generalmente colocarán las señales D+ y D- en el mismo borde del chip.
Cuando la diferencia de longitud es corta, puede que no necesites implementar el ajuste de longitud ya que ocupa espacio en el diseño del PCB. Solo para ver qué harán otros sistemas funcionales, echa un vistazo a la imagen del diseño del PCB de Arduino UNO mostrada a continuación (nota: esto se convirtió de archivos Eagle). Las líneas USB han sido resaltadas en la imagen. Si medimos las longitudes de los lados positivo y negativo de estas líneas (cubriendo cada lado de los resistores de terminación), encontramos que la diferencia de longitud es de aproximadamente 180 mils. Esta es la razón por la cual estas líneas no están siendo emparejadas en longitud entre el Arduino y el conector USB.
En este espacio reducido, la interfaz aún funcionará correctamente porque la diferencia en longitudes es solo de aproximadamente 180 mils, lo cual es mucho menor que la tolerancia de desfase permitida. Incluso con el peor caso de efecto de tejido de fibra en un laminado de tejido de vidrio suelto, el desfase total (en términos de longitud) solo equivaldría a menos de aproximadamente 230 mils, aún mucho menor que la tolerancia de desfase para esta interfaz.
Como señalé en el blog anterior, no puedes usar el ancho de traza correspondiente a la impedancia característica en USB 2.0 de alta velocidad y aún así cumplir con la especificación de impedancia. Recuerda, el ancho de traza en un PCB de espesor estándar con dos capas era de aproximadamente 110 mils para Dk - 4.8. ¿Cómo podemos posiblemente cumplir con la especificación de impedancia de par diferencial en USB 2.0 de alta velocidad con ese ancho de traza?
En realidad, no necesitamos usar ese ancho de traza debido a la forma en que las trazas en pares diferenciales se acoplarán entre sí. Si usas tu calculadora de apilado de capas con una placa de 2 capas gruesa para calcular la impedancia diferencial para microstripes, encontrarás que el ancho de traza real necesario es mucho menor y es una función del espaciado. Para nuestras líneas microstrip de ejemplo en un PCB de 2 capas, el Layer Stack Manager en Altium Designer nos indica que el ancho de traza es de aproximadamente 16 mils para un espaciado de 5 mils.
Podrías usar trazas más delgadas con estos microstrips diferenciales, pero necesitarías usar un espaciado más pequeño. En este diseño, estamos cerca del límite de las claras entre trazas para el grabado, así que mantener la separación de 5 mil entre las trazas está bien ya que estamos alcanzando la especificación de modo único y la especificación diferencial con estos anchos de traza. ¿Cómo sabemos que estamos alcanzando la parte de modo único de la especificación? Esto es porque: el ancho de traza dado arriba es para la impedancia en modo impar de una traza única, ¡no la impedancia característica! Por eso necesitas apegarte a este valor particular para el ancho de traza y no usar el valor de la impedancia característica para un microstrip aislado.
Hay una alternativa que no discutimos: usar pares diferenciales de microstrip coplanares. Al correr el vertido de tierra hasta los microstrips en la capa superficial, y colocando el vertido de tierra debajo de las señales en la capa inferior, puedes lograr una impedancia diferencial de 90 Ohms con trazas de 9.5 mil de ancho, un espacio de traza de 5 mil y un espaciado a tierra de 5 mil. Podemos ver por los valores abajo que logramos muy bien la impedancia de 90 Ohm requerida en la especificación USB 2.0 con estos valores.
Con esta disposición, no tendremos que preocuparnos tanto por el problema de la longitud crítica y el problema del ancho de traza en una placa de 2 capas. Sin embargo, debes tener en cuenta que este ancho y espaciado deben mantenerse a lo largo de toda la longitud de la ruta. El enrutamiento USB trata las trazas como trazas individuales de extremo único que simplemente transportan una señal diferencial, por lo que podrías enrutarlas por separado.
La topología de enrutamiento es bastante simple: enrutar desde el chip USB hasta las resistencias de terminación/subida/bajada, y luego al conector, todo como pares diferenciales. La imagen a continuación muestra la topología de enrutamiento de alto nivel con resistencias de subida y bajada. También se requieren algunos capacitores bajo el estándar USB 2.0 como se muestra a continuación.
El enrutamiento es bastante simple: obedezca las prácticas estándar de enrutamiento de pares diferenciales al ir entre cada parte del sistema y no tendrá problemas con el registro de señales o la coincidencia de impedancias. Mantenga rutas cortas con conexiones directas que salgan de las líneas de pares diferenciales para hacer conexiones a GND/VCC para las resistencias de pull-down y pull-up. Asegúrese de verificar el circuito de aplicación para su dispositivo en sus hojas de datos, ya que las líneas D+/D- pueden tener capacitores externos adicionales en el dispositivo; verá esto en el dispositivo TUSB2077A que cité anteriormente.
Mostraremos un ejemplo real en el diseño de PCB en un blog próximo. Por ahora, intente hacer esto usted mismo y vea si puede conseguir que el diseño sea enrutado.
En este blog y en nuestra publicación de blog anterior, examinamos algunas de las reglas de enrutamiento importantes a seguir al configurar y enrutamiento una interfaz de alta velocidad como USB en un PCB de 2 capas. Aquí están nuestras pautas de enrutamiento finales:
Las guías de enrutamiento mostradas aquí no siempre garantizarán EMC, hay otros aspectos del diseño a considerar, los cuales a veces se hacen de manera deficiente en PCBs de 2 capas. Sin embargo, estas guías ciertamente ayudarán con EMI si estás trabajando con la especificación de Full Speed. Mi preferencia personal es usar una PCB de 4 capas para buses digitales seriales y protocolos de alta velocidad, particularmente si la placa es más grande o va a entrar en producción en volumen.
Si estás usando USB 3.0, entonces tienes requisitos estrictos sobre el emparejamiento de longitudes debido a las rápidas tasas de cambio, y deberías colocar la interfaz cerca del conector como hemos hecho con la especificación de Full Speed mencionada arriba.
Cuando necesites trazar una interfaz como USB en una PCB de 2 capas o en una placa multicapa más avanzada, utiliza las herramientas de diseño y trazado de PCB en CircuitMaker. Todos los usuarios de CircuitMaker pueden crear esquemáticos, diseños de PCB y documentación de fabricación necesarios para llevar un diseño de la idea a la producción. Los usuarios también tienen acceso a un espacio de trabajo personal en la plataforma Altium 365™, donde pueden subir y almacenar datos de diseño en la nube, y ver fácilmente los proyectos a través de un navegador web en una plataforma segura.
Empieza a usar CircuitMaker hoy y mantente atento al nuevo CircuitMaker Pro de Altium.