Aktiverar Ethernet på ESP32

ESP32 är den senaste och största Wonderchip från Espressif. Det är ett 32-bitars dual-core chip med WiFi, Bluetooth och massor av kringutrustning som burk och Ethernet. För de flesta av dessa kringutrustning har Espressif redan några bitar i exempelkod, men [Frank Sautter] tyckte inte om Ethernet-implementeringen. Koden “lager” kräver en TLK110 Ethernet Phy, men det är ett dyrt chip när det köpts i kvantitet. Ett bättre chip skulle vara LAN8720, så [Frank] byggt ett bräde för att aktivera Ethernet på ESP32 med detta chip.

ESP32 behöver bara några komponenter för att leda den i ett Ethernet-nätverk. Bara några få motstånd, kondensatorer och en RJ45 Jack tar hand om det mesta av arbetet, men för att han tar Ethernet-sköldens rutt, måste han lägga till sin egen Ethernet Phy. Waveshare LAN8720 är chipet för detta, men det finns ett problem med PIN-konfigurationen av ESP32. GPIO0 på ESP32 har två funktioner – den första drar det lågt under uppstart för seriell programmering, och den andra är klockingången för EMAC-funktionsblocket. Någon bit av kretsar måste utformas för att möjliggöra båda förhållandena att aktivera Ethernet på ESP32.

[Frankens lösning är att lägga till några pull-up och neddragningsmotstånd till ett breakoutbräda och använda en oanvänd gpio-stift för att byta GPIO0 hög under uppstart, men tillåter en kristall att ta det lite senare. Det är ett hack, säkert, men det gör det möjligt för några mycket billigare chips att användas för att ge ESP32 Ethernet.

Leave a Reply

Your email address will not be published. Required fields are marked *