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 VDDCORE
se 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?
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:
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.
EEDATA/GANGED
vinculado 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.
Ale..chenski
Tomás