Tengo un problema con una placa relativamente simple que consta de un controlador Ethernet ENC28J60 y un ATmega168.
El circuito que rodea al ENC28J60 está sacado de la hoja de datos y tengo el mismo circuito creado en un prototipo con partes DIP en el que funciona, pero en mi versión SMD, el ENC chupa 40 mA a 3.3 V y se pone bonito caliente.
La hoja de datos menciona que los dos pines TPOUT hunden una corriente relativamente alta y que la corriente total es de alrededor de 180 mA, pero no se menciona la cantidad de corriente que el ENC sacará del VDD.
El oscilador funciona perfectamente y CLKOUT es de 6.25 MHz, por lo que el chip no está completamente muerto.
He medido el voltaje en cada pin y:
- Cada pin VSS es 0V
- Cada pin VDD es 3.3V
- El oscilador y la salida de CLKOUT están bien.
- VCAP es 2.65V
- RBIAS está a 1.2V.
- ! RESET es 3.3V.
- SPI se ve bien.
Sin embargo, parece que no puedo subir el chip sobre el SPI desde el AVR y se pone muy caliente.
¡He intentado tirar! RESET baja y eso no afecta el uso de energía. ¿Alguna pista?
Tenga en cuenta que los números de pines para OSC1, OSC2, VDDOSC y VSSOSC están equivocados en el esquema, solucioné ese error después de exportar esa versión del PDF, pero ya no está disponible en línea.
Bien, aquí está la verdadera lista de problemas con mi diseño que condujo a mi problema:
- Mi regulador de 3.3V está descargando demasiado poder, por lo que se calienta demasiado.
- El ENC28J60 consume mucha energía, incluso cuando trabaja normalmente, por lo que también se calienta.
- Me equivoqué y me olvidé de volver a revisar el pinout de la biblioteca de Eagle, así que tuve que hacer algunos pirateos para arreglar eso.
- La toma central de RX no debe estar conectada.
- Olvidé actualizar mi Makefile para compilar para la parte Mega168.
El problema número 5 fue la verdadera fuente de mi problema, # 1 & # 2 me mantuvo mirando el hardware durante demasiado tiempo, lo cual es doblemente embarazoso porque me gano la vida escribiendo software.