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

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 que vayan por el camino correcto? Mi idea actual es rotar el atmega 180 grados y enrutarlos 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 salirme con la mía con un enrutamiento menos que perfecto.

Enrutamiento bajo la MCU con vías

Si tiene suficiente espacio, mantenga las huellas en la capa superior e ingrese el conector desde el otro lado. También puede valer la pena rotar el chip.
¿Te refieres al otro lado como en la capa inferior? Lamentablemente no puedo hacerlo por problemas de espacio.
No, el otro lado desde la parte superior (como se muestra en la imagen), en lugar de la parte inferior, como lo hace ahora.
Con USB a toda velocidad, puede salirse con la suya. Vias ciertamente, resistencias de 0 ohmios 0805 o incluso 1206 para unir una sobre otra en una sola capa, etc. Ya tiene resistencias en línea (como muchos diseños) para que pueda explotarlas.

Respuestas (2)

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í

Se me adelantó antes de que subiera el mío: i.imgur.com/nELi3dP.png Ahora, la hoja de datos dice que debería ser una zona sin señal, ¿debería estar bien?
@monty Olvidé que el microUSB es todo de metal. Aconsejaría seguir las instrucciones de la hoja de datos siempre que sea posible.
@monty, tomaré prestada tu imagen para mi respuesta, si está bien.
¿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 trazo hacia R1alrededor?
@par USB utiliza señalización diferencial, por lo que debe hacer coincidir las longitudes de seguimiento y mantenerlas juntas para mantener la impedancia diferencial. Puede que no importe demasiado en este caso (debido a la menor velocidad, como mencionaron otros), pero es una buena práctica y un hábito que se debe desarrollar.

Como complemento a la respuesta de Armandas:

Si desea utilizar vías, hay un truco simple para intercambiar las líneas: gire las vías 90 grados, es decir, colóquelas "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:

Intercambio de dos líneas con vías

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

En 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 a la mitad de cada período de bit y que los tiempos de subida y bajada de las señales no superan los 30 ns (que 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 una falta de coincidencia de varios centímetros no es un problema en absoluto.

Otra buena opción.
¿Podría proporcionar una imagen? Me cuesta imaginar lo que estás describiendo.
@vini_i Aquí tienes - agregó un dibujo de rastros.
Si todo estuviera en la capa superior, por ejemplo, ¿lo dejaría caer al fondo y luego lo traería de vuelta con el cruce?
En su caso específico, difícil de decir. Intentaría seguir el comentario de Chris Stratton y usar dos resistencias grandes y enrutar un rastro entre las almohadillas de las otras resistencias. El truco con las vías es útil cuando ya tienes que ir a otra capa por otras razones.
El via swap es excelente! Sabía que era posible, pero estaba luchando por entender cómo.
¿Puede explicar brevemente su 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 un 1 o un 0 válido, ¿sí? ¿Por qué tampoco eliminarías la mitad del tiempo de caída? ¿Y por qué solo usa 41 ns (la mitad del período de bits) en lugar de los 83 ns completos? Entonces, ¿por qué no sería 83ns (período completo) -30/2 -30/2 = 53ns? ¿Básicamente está diciendo que tiene un margen de +/- 26 ns en cualquier dirección para darle un margen completo de 53 ns?
83/2 = 41 ns, porque puedes desplazarte 41 ns en cada dirección. Y el tiempo de subida/2 porque necesita que la señal haya subido/bajado lo suficiente como para ser detectada como un 0/1 válido; esto es solo una estimación aproximada, en realidad este tiempo es aún más corto. Al final, tenemos un margen de 26 ns a cada lado, lo que da como resultado una ventana de 52 ns.