Adaptador Ethernet LAN9500A

Estoy diseñando un adaptador de USB a Ethernet (en realidad, un prototipo de una pieza de una placa más grande). Como sabrán aquellos que siguen mis preguntas, he tenido algunos altibajos para que la parte USB funcione, pero ahora aparece como un concentrador USB en Linux y puedo usar dispositivos conectados a él. Ahora para la parte de Ethernet.

Por lo que puedo decir, he seguido las diversas instrucciones en la hoja de datos. El esquema se muestra a continuación. Puedo confirmar que VDDCOREse está generando correctamente y que hay una onda sinusoidal de 25 MHz en el cristal de 25 MHz, por lo que el chip muestra algunos signos de vida. Pero no aparece en un escaneo del bus USB. Ambos puentes (JX1 y JX2) están instalados, aunque también he probado sin ellos.

¿Qué puedo hacer para tratar de depurar esto? ¿Qué debo comprobar en la pizarra? ¿He cometido algún error evidente?

ingrese la descripción de la imagen aquí

De sus consultas anteriores, está conectando todo esto a Raspberry Pi. Rpi tiene un host USB 2.0 HS de tamaño completo, 480 Mbps. ¿Por qué está paralizando su diseño a un nivel de 12 Mbps?
Porque no necesito nada mejor.

Respuestas (1)

El mayor error en sus esquemas es que la señal nRESET (pin 24) no sigue las especificaciones de retardo. La anulación de esta señal debe retrasarse hasta que todos los voltajes de suministro alcancen un nivel válido:

ingrese la descripción de la imagen aquí

En sus esquemas, el nRESET está vinculado directamente al riel de alimentación, lo que obviamente viola las especificaciones. Si el LAN7500 IC no puede recibir un "restablecimiento válido", se atornillará internamente y no funcionará.

Para manejar esta señal correctamente, se recomienda encarecidamente utilizar un IC de "supervisor de voltaje" como MAX809. Este método proporcionará un restablecimiento garantizado en diversas condiciones de encendido y apagado. En el caso más simplista/barato, puede usar un retardo RC en este pin, pero esto será una apuesta en situaciones de encendido inestables.

ADICIÓN: Otro problema típico con concentradores integrados y dispositivos integrados es la secuenciación de VBUS_DET en el lado LAN9500. Para conectarse al concentrador, el LAN9500 ​​debe subir D+ alto cuando ve VBUS_DET, y no antes. Debe obtener trazas de alcance de lo que sucede en los cables D+/D- entre el concentrador y la LAN. Teóricamente, el evento de conexión NO debería ocurrir antes de que el concentrador esté listo para operar (estar enumerado y tal). Si el evento de conexión (D+ pull HIGH) ocurre antes de eso, el informe de estado del concentrador podría estar jodido. Para probar si este es el problema, cambie momentáneamente el VBUS_DET a tierra y vea si el concentrador/host comenzaría a reconocer el evento de conexión y comenzaría a hacer algo (USB_RESET, etc., etc.).

Para realizar la conexión correctamente y obtener una secuencia adecuada independientemente de las tasas de rampa de potencia, se recomienda conectar el VBUS_DET al pin de control de potencia en el lado del concentrador, PWRON1, con la polaridad adecuada. El pin PWRON1 estará lógicamente inactivo hasta que el concentrador esté completamente enumerado y operativo, lo que garantizará que LAN9500 ​​inicie el proceso de conexión una vez que todo esté listo.

Examine el diseño de referencia con más atención, ww1.microchip.com/downloads/en/DeviceDoc/…
Gracias. De acuerdo con la hoja de datos, puedo dejar esto desconectado (lo que hice en una revisión anterior, ¡pensé que estaba haciendo lo correcto al conectarlo a +3.3!)
@Tom, no existe tal tontería en la especificación LAN7500 como para dejarlo desconectado. La especificación dice: "Se requiere la afirmación de nRESET después del encendido". - Tabla 2-6, ww1.microchip.com/downloads/en/DeviceDoc/00001734A.pdf
Pero esto no es un LAN7500, es el LAN9500A. La sección 5.13.2 de la hoja de datos dice: "El pin nRESET es puesto alto internamente por el dispositivo y puede dejarse desconectado si no se usa. Si se usa, nRESET debe estar bajo durante un período mínimo como se define en la Sección 8.5.3". ww1.microchip.com/downloads/en/DeviceDoc/00001875C.pdf
Pero luego, el diseño de referencia solo tiene nRESET vinculado a 3.3V - ww1.microchip.com/downloads/en/DeviceDoc/9500a_sch.pdf
@Tom, lo siento, estaba leyendo y consultando un documento incorrecto. Aún así, el consejo de alternar nRESET correctamente se mantiene, independientemente de si el IC tiene POR incorporado. Véase también una adición.
Cambié la conexión de VBUS_DET a 3,3 V a un pull-up a 3,3 V a través de 12k y luego intenté conectar a tierra momentáneamente VBUS_DET. USBDP permanece en su nivel inactivo (600 mV aprox.) - tenga en cuenta que he quitado el puente JX1. Con JX1 instalado, D+ se conecta a tierra durante un tiempo considerable después del encendido, supongo que por el concentrador como parte del REINICIO USB. Pero el LAN9500A no responde a esto.
La hoja de datos de LAN9500A no dice nada sobre si necesita un pull-up externo en D+, pero deduzco que los dispositivos USB 2.0 deben tenerlo internamente para poder desconectarlo.
@Tom, el LAN9500A debería tener D+ pull-up integrado en USB 2.0 PHY. Algo está realmente mal con su diseño, 600 mV inactivo está mal. Le falta la conexión a tierra principal (la parte inferior no está soldada) o algo así. Obtenga un dongle de evaluación LAN9500A y compare señales/diseño, element14.com/community/docs/DOC-70322/l/…
Bueno, la pista sobre una bala inferior sin soldar me llevó allí. No sin soldar; la huella que estaba usando para LAN9500A tiene la barra como NC. Conectar esto a tierra (afortunadamente bastante fácil ya que tiene vías descubiertas) resolvió algunos de los problemas; USBD+ ahora está inactivo a alrededor de 3,3 V. Todavía no hay comunicaciones USB, pero creo que esto se debe a que el TUSB2046B está en modo de alimentación agrupada ( EEDATA/GANGEDvinculado a 3,3 V) y las entradas de sobrecorriente no utilizadas no están conectadas, lo que lleva a que todos los puertos USB descendentes se deshabiliten.
Muchas gracias de nuevo por su paciencia y ayuda; ¡Estoy aprendiendo mucho, principalmente sobre el valor de tener a alguien calificado para revisar los diseños!