Enrutamiento de señal USB - ¿Intercambiar líneas de datos usando vias?

16

Estoy haciendo mi segundo diseño USB, pero los pines D + / D- en la MCU (atemga16u2) no están en el orden correcto para el conector micro B. ¿Cuál es la mejor práctica para enrutar estos para ir por el camino correcto? Mi idea actual es rotar el atmega 180 grados y guiarlos hacia abajo, pero parece que las huellas son bastante largas.

También podría colocar una de las líneas debajo de la otra, pero estoy seguro de que eso alteraría las longitudes del par diferencial.

Este dispositivo no superará la velocidad máxima, por lo que puedo escapar con un enrutamiento menos que perfecto.

Enrutamiento bajo la MCU con vias

monty
fuente
Si tiene suficiente espacio, mantenga los rastros en la capa superior e ingrese el conector desde el otro lado. Puede valer la pena rotar el chip también.
Armandas
¿Te refieres al otro lado como en la capa inferior? Desafortunadamente no puedo hacer eso debido a problemas de espacio.
monty
No, el otro lado desde arriba (como se muestra en la imagen), en lugar de abajo, como lo haces ahora.
Armandas
A USB a toda velocidad, puede salirse con la suya. Vias ciertamente, 0805 o incluso 1206 resistencias de 0 ohmios para unir una sobre la otra en una sola capa, etc. Ya tiene resistencias en línea (como lo hacen muchos diseños) para que pueda explotarlas.
Chris Stratton

Respuestas:

8

Como es difícil describirlo en los comentarios, lo pondré como respuesta.

Si el espacio lo permite, puede enrutar sus señales de la siguiente manera:

ingrese la descripción de la imagen aquí

Armandas
fuente
Simplemente me ganaste antes de que subiera el mío: i.imgur.com/nELi3dP.png Ahora, la hoja de datos dice que debería ser una zona libre de señal, ¿debería estar bien?
Monty
@monty Olvidé que el microUSB es todo metal. Aconsejaría seguir las instrucciones de la hoja de datos siempre que sea posible.
Armandas
@monty Tomaré prestada tu imagen para mi respuesta, si está bien.
Armandas
¿Hay algún beneficio en enrutar ambos rastros de esa manera? ¿Por qué no enrutar el uno R2desde la posición de las seis en punto de la almohadilla superior a la posición de las doce en punto de la almohadilla inferior y luego enrutar solo el rastro a R1alrededor?
par
3
@par USB utiliza señalización diferencial, por lo que debe hacer coincidir las longitudes de rastreo y mantenerlas juntas para mantener la impedancia diferencial. Puede que no importe demasiado en este caso (debido a la menor velocidad, como lo han mencionado otros), pero es una buena práctica y un hábito que uno debe desarrollar.
Armandas
23

Como una adición a la respuesta de Armandas:

Si desea usar vías, hay un truco simple para intercambiar las líneas: gire las vías 90 grados, es decir, colóquelas "una encima de la otra". Si ingresa ambas vías desde la izquierda en la capa superior y las deja a la izquierda en la capa inferior, ambas líneas se intercambian sin costo alguno:

Intercambiando dos líneas con vias

(Solo un dibujo rápido ya que mi computadora esquemática me acaba de decir que es absolutamente necesario instalar actualizaciones ahora ...)

Con USB Full Speed ​​no tiene que preocuparse por la coincidencia de longitud en el par diferencial. La señal eléctrica se propaga a unos 20 cm / ns en la traza.

Como la señal se transmite a 12 MBit / s, cada bit tiene una longitud de 83 ns. Suponiendo que el muestreo se realiza en la mitad de cada período de bits y los tiempos de subida y bajada de las señales no son más largos que 30 ns (lo cual es muy conservador), todavía hay un margen de 41 ns - 30 ns / 2 = 26 ns, correspondiente a una longitud de traza de 5 metros. Dado esto, uno puede asumir con seguridad que un desajuste de varios centímetros no es absolutamente ningún problema.

asdfex
fuente
Otra buena opcion.
Armandas
¿Podría darnos una foto? Me está costando imaginar lo que estás describiendo.
vini_i
@vini_i Aquí tienes: se agregó un dibujo de trazas.
asdfex
Si todo estuviera en la capa superior, por ejemplo, ¿lo dejarías caer al fondo y lo levantarían de nuevo con la cruz?
vini_i
1
¿Puedes explicar brevemente tu ecuación 41ns - 30 / 2ns? El período completo es de 83 ns, y está eliminando la mitad del tiempo de subida para obtener la cantidad de tiempo en que la señal es válida 1 o 0, ¿sí? ¿Por qué tampoco eliminarías la mitad del tiempo de caída? ¿y por qué solo usa 41ns (la mitad del período de bits) en lugar de los 83ns completos? Entonces, ¿por qué no sería 83ns (período completo) -30/2 -30 / 2 = 53ns? ¿Básicamente estás diciendo que tienes un margen de +/- 26ns en cualquier dirección para darte un total de 53 ns de margen?
buceo