Cómo interconectar Ethernet ENC28J60 IC con Atmega32 usando Codevision AVR

ENC28J60 como dice la hoja de datos es un controlador Ethernet independiente que utiliza SPI (interfaz de periféricos en serie) para comunicarse con el microcontrolador principal.

Supongo que está utilizando un “Módulo” ENC28J60, es decir, algo como esto -> Módulo de placa de red LAN Ethernet Robomart ENC28J60.
Si ese es el caso, entonces solo se conectan los pines SPI de esclavo y maestro (MOSI, MISO, SCK y CS), fuente de alimentación al controlador IC de Ethernet (3.3V), interrupción de ENC (opcional), activación en LAN (opcional) y restablecer la conexión del pin (opcional).

Si solo tiene el IC, puede consultar el siguiente enlace
http://tuxgraphics.com/electroni…

La hoja de datos de ENC28J60 establece claramente que se puede usar hasta un voltaje máximo de 3.3V y normalmente los controladores AVR están diseñados para trabajar a 5V (también se pueden usar a 3.3V, pero no se recomienda hacerlo).
Pocos pines de entrada de ENC son tolerantes a 5V EX: CS, SCK y SI. Por lo tanto, estos pines se pueden conectar directamente a los pines SPI de su AVR. Pero los pines SO, INT y WOL solo pueden tener un voltaje máximo de 3.3V.
Los controladores de la serie Atmega tienen pines de E / S capaces de detectar un estado “ALTO” a un voltaje de 2V en VCC siendo 5V. Por lo tanto, puede detectar 3.3V como alto. Pero a altas tarifas de autobús esto podría tener problemas. Puede consultar más sobre esto en el siguiente enlace
http://www.pocketmagic.net/atmeg…

Se recomienda usar una palanca de cambio de nivel y la que se puede usar es 74LVC245. Pero en mi caso he usado 74LS245 debido a la no disponibilidad de 74LVC245 y funciona bien.

Después de todo esto, ha terminado con la interfaz ENC28J60 con Atmega32 o cualquier otro controlador de la serie AVR Atmega.

El resto depende de lo que quieras construir sobre esto.