Enc28j60 - sin comunicación por ethernet

el problema es: no hay comunicación a través de ethernet: no se recibe ni se envía ningún paquete desde mi placa. Ambos diodos indican que debe haber conexión (uno está constantemente encendido y el otro parpadea en el paquete) y Wireshark ve solo los paquetes enviados por PC. Probé tanto el cable ethernet cruzado como el no cruzado. Intenté intercambiar ENC: el mismo resultado, la revisión se lee correctamente, por lo que no debería haber ningún problema con las comunicaciones con uP. La historia detrás: hace un par de semanas, mientras trabajaba con la versión anterior de esta placa, todo estaba bien (recepción y envío de paquetes) de repente, la bobina junto a RJ se quemó. No sé por qué. Lo volví a soldar, cambié el conector RJ y ENC, nada ayudó. Ahora estoy trabajando con una nueva versión y el problema persiste.
Alguien podría decirme cual es el problema?

ingrese la descripción de la imagen aquí

Respuestas (1)

Para resumir: su placa/circuito funcionó anteriormente, luego algo provocó que un componente (¿bobina?) explotara, por lo que cambió algunas partes (incluido el componente reventado) y su circuito/placa ya no funciona...

Dado que su MCU aparentemente puede hablar con su ENC28J60 y su ENC28J60 evidentemente está interactuando con el Mag Jack (como lo demuestran los LED parpadeantes), la conclusión lógica es que su ENC28J60 está recibiendo marcos de Ethernet pero se rechazan como no válidos (tal vez debido a CRC errores o algo por el estilo). Eso indicaría que hay algo escamoso con los componentes entre el Jack y el ENC28J60 o quizás los componentes de soporte externo para el ENC28J60 (por ejemplo, cristal, capacitores, resistencias).

Puede obtener más información de diagnóstico del ENC28J60 a través de SPI leyendo los registros de estado, y le recomiendo que lo haga e informe lo que encuentre.

según PHSTAT2: enc está recibiendo (RXSTAT=1) y transmitiendo (TXSTAT=1) al mismo tiempo, por lo que se produce una colisión (COLSTAT=1) <br/> leyendo el vector de envío (la recepción solo está disponible después de una recepción "exitosa") el paquete de transmisión tiene un tamaño de 8k, por lo que viola MAXFRMLEN = 1,5k y hubo algunas colisiones
Problema resuelto: después de la inicialización de ENC, necesito esperar un tiempo antes de realizar cualquier operación de recepción/envío. Anteriormente no era necesario... Los valores de registro perturbadores de PHSTAT2 son causados ​​por el perro guardián: mi ciclo de prueba no lo restablecía y el valor de PHSTAT2 en realidad era varias lecturas superpuestas entre sí.