Ethernet RMII en PCB de dos capas

INTRODUCCIÓN: Mi objetivo es diseñar un sistema conectado a Ethernet como un pasatiempo (es decir, mucho tiempo pero no quiero gastar mucho). Lo ideal sería que mis restricciones de diseño se apegaran a una placa de circuito impreso de 2 capas de 100 mm x 100 mm con orificios mínimos de 0,3 mm y un espacio libre/pista mínimo de 0,15 mm, con un apilamiento total de hasta 0,6 mm de espesor. El costo de producir un PCB de 4 capas en mi fabricante conocido excede el de los componentes en las cantidades que necesito (solo uno realmente, pero hasta 10 PCB van por el mismo costo en mi caso particular).

MI ENFOQUE: Un microcontrolador ATSAME54N20 con Ethernet MAC incorporado conectado con un RMII a un KSZ8091RNA PHY en Altium Designer.

Microcontrolador ATSAME54N20 con Ethernet MAC incorporado conectado con un RMII a un KSZ8091RNA PHY en Altium Designer.

Esquema de ATSAME54N20 y KSZ8091RNA

PREGUNTA 1: ¿Cuáles son mis probabilidades de éxito? Mantener una impedancia característica de 68 ohmios a GND (GND aún no vertido) para trazas RMII parece imposible incluso con la opción de apilamiento de altura total de 0,6 mm, pero la longitud máxima de traza es inferior a 30 mm, con trazas como CLK de 4 mm de largo. ¿Es probable que surjan problemas de timbre y reflexión en un circuito como este?

PREGUNTA 2: Ambas trazas de TX se enrutan juntas y separadas de las de RX, aunque no se realizó ninguna coincidencia de longitud. ¿Debo considerar tolerancias ajustadas de coincidencia de longitud?

PREGUNTA 3: La RED resaltada ahorra vías al pasar por dos pines no utilizados que se configurarían en alta impedancia. ¿Es esta una práctica común? ¿Se ve afectada la integridad de la señal al hacer esto? ¿Usar vias es una mejor práctica?

NOTA 1: Encontré temas que discutían la ejecución de rastros a través de los pines NC, en mi caso, me pregunto acerca de los pines no utilizados bien documentados. También encontré esta publicación , pero estoy planeando soldar por reflujo esta placa yo mismo y no tengo experiencia en hacerlo, por lo que preferiría evitar cortar pines y lidiar con fuerzas de tensión superficial desiguales que actúan sobre el chip.

NOTA 2: las pistas de impedancia diferencial de 100 ohmios desde el PHY hasta el magnetismo aún no se han ejecutado, pero salen del PHY sin acercarse a las señales RMII.

NOTA 3: Aprovecho esta oportunidad para agradecer a la comunidad por su conocimiento y ayuda. ¡Espero que alguien encuentre útil mi publicación en el futuro!


HACER UN SEGUIMIENTO:

ingrese la descripción de la imagen aquí

  • Todas las redes RMII tenían una longitud equivalente a 29,9 mm +/- 0,1 mm.
  • Los pines no utilizados no se utilizaron para ejecutar seguimientos.
  • Stackup consta de una placa de 1,6 mm de espesor total y no se realizó ninguna impedancia controlada.
  • Todavía se debe verter GND, junto con algunos polígonos de 3.3V, sin romperse debajo de ninguna vía.

¿Es mejor este diseño?

¿Parece que podría funcionar?


SEGUIMIENTO 2:

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí- Se implementó una guía de onda coplanar con tierra para una igualación de impedancia más cercana.

ingrese la descripción de la imagen aquí

La respuesta más completa a la impedancia correcta de la línea de transmisión para las trazas de RMII que encontré fue Wikipedia:

Las señales RMII se tratan como señales agrupadas en lugar de líneas de transmisión; no se necesita terminación ni impedancia controlada; la unidad de salida (y, por lo tanto, las velocidades de giro) deben ser lo más lentas posible (tiempos de subida de 1 a 5 ns) para permitir esto. Los controladores deben poder manejar 25 pF de capacitancia, lo que permite trazas de PCB de hasta 0,30 m. Al menos el estándar dice que las señales no necesitan ser tratadas como líneas de transmisión. Sin embargo, a velocidades de borde de 1 ns, una traza de más de 2,7 cm, los efectos de la línea de transmisión podrían ser un problema importante; a 5 ns, las trazas pueden ser 5 veces más largas. La versión IEEE del estándar MII relacionado especifica una impedancia de traza de 68 Ω. National recomienda ejecutar trazas de 50 Ω con resistencias de terminación en serie de 33 Ω (se suma a la impedancia de salida del controlador) para el modo MII o RMII para reducir los reflejos.

Algunos otros incluyen la especificación RMII v1.2:

Todas las conexiones están destinadas a ser conexiones punto a punto en PCB. Por lo general, estas conexiones se pueden tratar como rutas eléctricamente cortas y los reflejos de la línea de transmisión se pueden ignorar de manera segura. Ni un conector ni una impedancia característica para trazas de PCB eléctricamente largas están dentro del alcance de esta especificación. Se recomienda que la unidad de salida se mantenga lo más baja posible para minimizar el ruido del nivel de la placa y la EMI.

Y una directriz de Sun Microsystems:

Al igual que las señales MII, las señales GMII terminarán en la fuente para preservar la integridad de la señal según la siguiente ecuación: Rd (impedancia de búfer) + Rs (impedancia de terminación de fuente = Z0 (impedancia de línea de transmisión).

  • Todas las redes RMII tenían una longitud equivalente a 40 mm +/- 0,1 mm.
  • Los pines no utilizados no se utilizaron para ejecutar seguimientos de señal.
  • Los pines no utilizados se usaron para la conexión GND y 3.3V.
  • Stackup consta de un tablero de 1,6 mm de espesor total.

¿Es mejor este diseño?

¿Parece que podría funcionar?

¿Es aceptable vincular algunos pines a 3.3V o GND? Podría prescindir de esta práctica.

¿Cuántas vías debo colocar a lo largo de la guía de onda coplanar? Hay espacio adicional para más vías ATM.

Los rastros de GND entre los rastros de señal tienen un ancho de hasta 0,15 mm, ¿está bien?

¡Gracias de antemano por su amable ayuda para responder! Realmente lo aprecio !

Este es un diseño bastante arriesgado, pero creo que funcionará para 10 Base T, que tiene márgenes bastante generosos. Pero, será doloroso mantener un producto oa largo plazo. Probablemente obtendrá algunos reflejos destructivos en los trazos largos, y ejecutar sus trazos más largos a través de almohadillas adicionales puede ayudar porque esas almohadillas agregarán capacitancia y ralentizarán sus bordes. No necesita preocuparse mucho por la coincidencia de impedancia en longitudes tan cortas. La coincidencia de tiempo de vuelo (longitud) es más preocupante, pero nuevamente 10 Mbps deberían ser bastante generosos.
Muchas gracias por la respuesta ! ¿Debo mover el IC un centímetro más y tratar de hacer coincidir las longitudes de las trazas?
Un pin "NC" no significa que no esté conectado dentro del chip: significa que no debe conectarse a ellos. La razón para tener pines NC en un chip varía, pero podrían ser pines reservados, pines usados ​​para pruebas, etc. Conectarse a ellos podría causar un comportamiento impredecible.
Gracias por publicar el Seguimiento. Pensé que habías dicho la acumulación con 0,6 mm (que es una PCB muy delgada), no con 1,6 mm. De cualquier manera, no hace mucha diferencia en los cálculos de impedancia. Dentro de la restricción (indeseable) de querer hacer esto en 2 capas, diría que esta es una solución más segura, y se ha tratado la diferencia de propagación de la señal (sospecho que nunca estuvieron a esta velocidad). Sin embargo, ¿no parece haber tratado el aspecto de impedancia del diseño? Los cálculos que hice en mi Respuesta fueron para un escenario de ondas coplanares, donde llenas las señales intermedias con Gnd, por lo que ahora están mal.
En primer lugar, ahora es ~ 140 ohmios (cálculo de microstrip), anteriormente ~ 86 ohmios (cálculo de onda coplanar). Lo instaría, al menos para el ejercicio de aprendizaje, a buscar la impedancia de la fuente de ambos circuitos integrados, confirmar mi cálculo Z0 en la parte posterior del sobre y averiguar si tendrá un problema de reflejos/timbre (suponiendo que el extremo de recepción es Hi-Z). En segundo lugar, todas las señales regresan a través de Tierra, pero esto es especialmente importante para alta velocidad (diafonía, EMI, etc.), por lo que siempre debe tenerse en cuenta, de lo contrario, solo está "haciendo la mitad del trabajo", por lo que estamos interesados ​​en mira cómo haces el plano gnd del lado inferior :-), si nada del lado superior.
esto acaba de aparecer en un google aleatorio que podría ayudar, si no está familiarizado con la teoría y las matemáticas de la línea de transmisión. No lo apoyo personalmente, pero parece 'lo suficientemente bueno' para este caso :-) : web.cecs.pdx.edu/~greenwd/xmsnLine_notes.pdf
Gracias de nuevo por las respuestas ! Haré otro seguimiento intentando cumplir con la impedancia característica sugerida por RMII. Todavía tengo muchas preguntas, por lo que el pdf probablemente será útil. Las placas de 0,6 mm de grosor de mi proveedor elegido cuestan lo mismo y se mencionaron en mi publicación, usaré esa acumulación ahora. La razón por la que preferí el apilamiento de 1,6 mm si no se tenía en cuenta la impedancia característica es que tengo miedo de romper la placa al desconectar los conectores de fuente de alimentación ATX mate-N-lock de 24 pines.
Bueno, la diferencia debido al grosor de la placa de circuito impreso no es tan grande, podría quedarme con una placa más gruesa.
Debe usar resistencias en serie, particularmente en el reloj. Como muestras, puede buscar el esquema y el diseño de "LAN8720 Eth Board" y "DP83848 Eth Board".
@JuanManuelLópezManzano me gusta mucho más. Tengo que seguir mordiéndome la lengua y recordar que la principal restricción de este diseño es que es una placa de circuito impreso de dos capas, por lo que creo que parece mucho más prometedor que el primer corte.
@JuanManuelLópezManzano ¡Sin embargo! "Los pines no utilizados se usaron para la conexión GND y 3.3V". Por favor, aclare lo que quiere decir con esto. Por "pines no utilizados", ¿quiere decir que los pines GPIO de MCU no están en uso? Y los estás usando para... ¿qué?
@Techydude ¡Gracias por responder! Algunos pines GPIO se conectaron a GND porque tienen señales que viajan en la capa inferior debajo de sus almohadillas. También hay un pin conectado a 3.3V para evitar usar una vía extra. Podría prescindir de ambos. ¿Debo desconectar estos pines de GND/3.3V?
@TEMLIB, la placa LAN8720 Eth a la que hizo referencia usa resistencias de la serie 33Ω como una de las recomendaciones que encontré en Wikipedia. El diseño de referencia para el microcontrolador elegido tiene trazas de 50Ω RMII cumpliendo con la misma recomendación, pero tiene resistencias en serie de 0Ω. ¿Sería una opción válida la impedancia característica de 68 Ω sin resistencia en serie? ¡Gracias por señalar esas muestras!
@JuanManuelLópezManzano Exactamente por la misma razón por la que no debe ejecutar señales RMII sobre GPIO no utilizados para facilitar el enrutamiento / evitar vías, tampoco debe conectar GPIO (incluso uno que no esté usando) a Vcc / GND, porque un El firmware SNAFU donde se realizan las salidas podría crear un cortocircuito, y también es malo para los diseños de bajo consumo. Así que sí, ese es el último cambio que haría.
@Techydude ¡Gracias! ¡Cambiaré eso y una vez que se fabrique el diseño, publicaré los resultados!

Respuestas (2)

Creo que sería bueno para 100BaseT (señales RMII de 50 MHz), aunque por otras razones creo que sigue siendo un diseño arriesgado. No tengo tiempo para realizar un análisis exhaustivo de temporización e impedancia, pero puedo ofrecer los siguientes comentarios improvisados:

a) Si bien no tengo idea de dónde se encuentra o si tiene acceso a una tarjeta de crédito, los PCB de 4 capas son muy asequibles para muchos fabricantes de PCB. Me viene a la mente OSHpark.com. Al lidiar con esta limitación, su (b) problema (siguiente punto) también se evita.

b) La conexión a pads "NC" es arriesgada y prácticamente no se permite en un entorno profesional. Tal vez sean realmente "NC", o tal vez estén "reservados" para algún uso futuro en una pieza actualizada de silicio que no solo se integre en un nuevo IC estrechamente relacionado, sino también en la fabricación futura de este IC. Obviamente, habrá un marco de plomo allí, pero tal vez también uniendo el cable al silicio. Simplemente no lo sabes, ni hoy, ni en el futuro. ¡Es por eso que el fabricante dice "No Connect"! Ese NC "bien documentado" (¿quién dice?) Hoy podría conectarse a algún silicio mañana. Pero tal vez esto no importe en su situación por una sola vez.

c) La velocidad de la señal a través del cobre en FR4 es de aproximadamente 6"/15 cm por ns. A juzgar por la hoja de datos KSZ8091 (diagramas de tiempo 7.0), creo que querrá que sus tiempos tengan una precisión de 1 ns. espacio (longitud) con el que trabajar aquí, mucho más que su diseño actual 'estrecho'; desde una perspectiva de tiempo, no necesita estar tan cerca de la MCU. Personalmente, no me preocuparía demasiado por el tiempo y la duración. emparejando en esta situación, no creo que importe. Habiendo dicho eso, es una buena práctica que estas señales rápidas tengan la misma longitud, porque esto sí importa en diseños más rápidos. Menos mal que tienes el espacio para extraer el PHY chip más lejos de la MCU para darle espacio para la coincidencia de longitud.

d) Integridad e impedancia de la señal: con la conexión a tierra del lado inferior a 0,6 mm de distancia, no obtiene mucho control de acoplamiento o impedancia. Esta es la razón por la que existen PCB de 4 capas :-). Si yo fuera usted, usaría ese espacio adicional (distancia entre PHY y MCU) disponible (desde una perspectiva de tiempo) para agregar también algunas resistencias 0402 en serie con estas señales de 50 MHz (colocadas más cerca de la fuente), para que tenga la opción de ralentizarlos y aumentar el componente R de su impedancia, en caso de que el timbre (reflejos) sea un problema. Si se queda con una capa de 2, entonces también usaría ese espacio disponible entre PHY y MCU para agregar un poco de vertido de cobre conectado a tierra en la parte superior entre estas señales de alta velocidad.

Captura de pantalla de Saturn PCB Toolkit

Curiosamente, vi algo curioso en los conmutadores Gigabit Ethernet de 5 puertos GS305 (derecha) e incluso más baratos (izquierda) GS105 de Netgear. IIRC, siendo Gigabit, estas serán señales de ~250MHz hacia el magnetismo, donde uno pensaría que el control de impedancia sería más importante. Por otra parte, sospecho que su magnetismo solo está clasificado para 10/100BaseT, no 1000, ¡pero parece que también se salen con la suya!

Netgear GS105 a la izquierda, GS305 a la derecha

El modelo GS105 aún más económico tiene solo 2 capas:

¡Netgear GS105, PCB de 2 capas!

Muchas gracias ! Haré otro intento de diseño y publicaré de nuevo, los circuitos integrados se alejarán más y las longitudes se igualarán. Con respecto a su punto b), estoy usando pines regulares para evitar vías. Se pueden configurar como salidas o lo que sea. ¿Cuánto cree que afectará la capacitancia adicional de los pines a la coincidencia de longitud? Muchas gracias por esas fotos, son reconfortantes !
@JuanManuelLópezManzano Oh mierda, ¡¿pensé que habías dicho que eran pines sin conexión?! ¿Pero son GPIO que tiene la intención de configurar como entradas Hi-Z? Demonios, no, terrible idea. No solo tiene la capacitancia de los circuitos GPIO reales en silicio y la aplica a algunas, pero no a todas, las señales RMII, sino que también tiene el riesgo de que un firmware SNAFU las convierta en salidas y dañe los controladores de salida ( de MCU o PHY IC), y eso es después de confirmar que esos GPIO en particular se vuelven Hi-Z durante RESET. Simplemente no. Tienes margen de tiempo más que suficiente para hacer frente a las vías.
gran respuesta @Techydude, ¡gracias! Estoy diseñando una PCB como esta y tengo que usar una placa de 2 capas.. . en su respuesta mencionó que sería mejor agregar algunas resistencias en serie a las señales. ¿Debo agregarlos en ambas señales laterales? señales entre PHY y MAC __ y__ PHY y magnetismo?
¿Deberían las resistencias ser exactamente el paquete 0402 o podría ser más grande una línea 0805? @techydude
@EricMatevosian (a) buena suerte, hacer este tipo de cosas en 2 capas requiere clavar básicamente todos los demás aspectos/técnicas de control de impedancia, ¡cuando no tienes un plano de tierra debajo de tus pistas de alta velocidad! No sé si JuanManuelLópezManzano consiguió alguna vez que funcionara su intento.
@EricMatevosian 'Terminación de fuente' es donde agrega elementos resistivos o de impedancia al comienzo de una línea de transmisión, en lugar de al final de una línea de transmisión, básicamente para ralentizar los bordes ascendentes/descendentes que crean reflejos/resonancias. desde el final de la línea cuando es la impedancia relativamente alta de un pin de recepción digital. El lado lejano/de la interfaz (entre PHY y magnetismo) tendrá sus propias características de impedancia diferentes, deberá consultar las hojas de datos de ambos extremos y determinar cuál debe ser la impedancia de seguimiento diferencial y qué adicional. ..
Se necesitan elementos de resistencia/impedancia de @EricMatevosian para acercarse a eso (sin la ayuda de un plano de tierra debajo de ellos). El magnetismo tendrá un perfil de impedancia bastante diferente al de los buzos/receptores digitales/de silicio del PHY :-) Cuanto más grandes sean las resistencias, más difícil será lograr la impedancia deseada, y agregarán su propia impedancia a la línea. Sugeriría que 0402 sería su tamaño máximo.
gracias @Techydude por tu tiempo. Vi en algunos esquemas que solo agregaron las resistencias en serie en las líneas RXD0/RXD1 y no en TXD0/TXD1, ¿cuál es la razón de eso?
Es difícil decirlo sin profundizar en las hojas de datos, pero tal vez las salidas RXDx del chip PHY (al chip MAC) tienen tiempos de subida/bajada lo suficientemente rápidos como para generar más contenido armónico (una onda cuadrada de ciclo de trabajo 50/50 = la suma de series infinitas de ondas sinusoidales de la fundamental más los armónicos impares en una fracción de la amplitud de la fundamental), lo que hace que la necesidad de control de impedancia sea más crítica en esos, en comparación con las salidas del chip MAC, ¿quizás? Al crear prototipos, siempre es bueno agregar estos elementos de terminación en caso de que sean necesarios. ¡Por supuesto, necesitas un buen osciloscopio para verlos!
No lo señalé en mi respuesta original, pero la lección general es que, aunque es posible 'salirse con la suya' con una PCB de 2 capas, incluso si es necesario un control estricto de la impedancia, lo están haciendo ingenieros experimentados que estarán manipulando todos los demás aspectos del control de imedancia (en ausencia de un plano de tierra), NO es que sea fácil de lograr para los neófitos :-). e incluso si un intento de 2 capas tiene éxito, no significa que pasaría los requisitos de emisiones de EMC para un producto comercial :-)

Para RMII, creo que desea que todas las trazas coincidan con la línea del reloj. Pero, en algunos rastros, tendrá capacitancia adicional de las almohadillas adicionales, lo que los ralentizará más, y no estoy seguro de cómo explicar eso.

¿Son 10 Mbps lo suficientemente buenos? Si es así, puede que estés bien.

10 Mbps estaría bien. Estoy diseñando una alternativa con trazas más delgadas (más alejadas del objetivo de impedancia característico) pero con longitudes coincidentes. Si alguien sabe cómo contabilizar las almohadillas adicionales, ¡hágamelo saber!