Hallo, ich stelle mir die Frage wie ich bei einem Ethernet System bestehend aus ESP32 als MAC und LAN8720A als PHY das RMII Interface bezüglich timing constraints auf Kompatibilität überprüfe. Ich würde mich über eure Hilfe sehr freuen. Links im Bild: Datenblatt LAN8720A DS00002165B-page 61, RMII Timing (REF_CLK In Mode) Rechts im Bild: Technical Reference Manual ESP32 TRM (Version 4.8), p228-229, 10.6.4 RMII Timing Meine Interpretation soweit: Leitungslänge zwischen MAC und PHY sind bei RXD: 41mm-42mm und TXD:43mm-44mm, hab ich aber nicht berücksichtigt. PHY sendet zum MAC: RXD[1:0] beim LAN8720 = Sender zum MAC (der RXD beim PHY ist laut Pins Liste ein output). Dessen Holdzeit t_ohold beträgt minimum 3ns nach positiver CLK Flanke. Valide Daten liegen aber erst nach spätestens t_oval = 14ns nach Flankenwechsel an. --> Hier steige ich schon aus. Wenn das eine Art output Delay sein soll, dann greift doch erst das Delay und dann kommt die Hold Zeit hinzu, oder nicht? Mein nächster Schritt wäre, dass der ESP nun eine Setup Zeit bietet, die sich mit Hold Zeit vom Sender "verträgt". Also nun rechte Bildhälfte oben: input delay plus hold time: mindestens 4ns bis 9ns. Das ist die Zeit, die dem Empänger vor dem Taktwechsel die Daten zur Verfügung gestell werden müssen (also durch die hold time). Wir haben hier 50MHz, also 20ns Zykluszeit. Und jetzt stelle ich mir die Frage wie das Zusammenpassen soll?(Natürlich fehlt dann noch die andere Richtung, also MAC sendet zu PHY.) Kann mir jemand weiterhelfen? sg Martin
Martin Z. schrieb: > Und jetzt stelle ich mir die Frage wie das Zusammenpassen > soll? Ich stelle mir zunächst die Frage welchen besonderen Sinn es machen soll ein WLAN-fähiges Controller-Modul mit LAN-Anbindung auszustatten, noch zudem es dann vermutlich auf Arduino-Basis stattfinden soll. Wenn meine Zweifel ausgeräumt sein sollten dann behaupte ich dann das Gegenteil von dem was ich vermute.
Wastl schrieb: > Ich stelle mir zunächst die Frage welchen besonderen Sinn es > machen soll ein WLAN-fähiges Controller-Modul mit LAN-Anbindung > auszustatten Wer Funk kennt, nimmt Kabel. Ganz einfach. Warum sollte man das integrierte Ethernet-Interface eines µC nicht verwenden?
Harald K. schrieb: > Warum sollte man das integrierte Ethernet-Interface eines µC nicht > verwenden? Im Prinzip stimme ich dir zu. Aber bei der Verwendung eines Controllers mit Ethernet gibt es eine Menge Kandidaten die leichter zu handlen sind als ein ESP32. Hat man erst mal die Hardware (hoffentlich richtig) angebunden folgt der mühsame Weg der Software-Implementierung die beim ESP32 ohne Arduino sicherlich um einiges steiniger ist als bei Atmel oder STM32.
Hat der Threadstarter irgendwo irgendwas von Arduino geschrieben? Vielleicht nutzt er ja das Espressif-SDK, und hat schon lange Erfahrung im Umgang mit dem ESP32 -- bis auf das Ethernet-Interface. Immerhin guckt er sich Datenblätter an, was schon mal gegen das beliebte Arduino-"Library"-Zusammenklicken spricht. Könnte ja sein.
Harald K. schrieb: > Könnte ja sein. Ja schon. Ich habe ja auch nur eine Vermutung ausgesprochen, wie du in meinem Beitrag vorher nachlesen kannst. Für mich ist jedenfalls der ESP32 (wie auch sein Vorgänger) ein rotes Tuch was Hardware-Implementierungen betrifft. An der Hardware-Programmierung (ohne Arduino) habe ich mich schon mal versucht und habe die "Learning Curve" aufgegeben. Dann schrub ich auch noch: Wastl schrieb: > Wenn meine Zweifel ausgeräumt sein sollten > dann behaupte ich dann das Gegenteil von dem was ich vermute. Das tu ich auch gerne und sage dann: was kümmert mich mein Geschwätz von vorher.
Ich bin für das HW Design zuständig, die Software für den ESP32 macht jemand anderer und ist auch schon ziemlich weit fortgeschritten. Der ESP war glaub ich billig in der Anschaffung und Erfahrung war mit diesem Controller auch vorhanden, genaueres weiß ich nicht. Ich würde mich nun um Hilfe freuen.
Martin Z. schrieb: > Ethernet System bestehend aus ESP32 als MAC und LAN Gibt's fertig zu kaufen wenn der Basteldrang nicht an erster Stelle steht. https://www.roboter-bausatz.de/p/wt32-eth01-esp32-modul-mit-ethernet-bluetooth-wifi Und funktioniert, hab ich schon mit gearbeitet.
Wastl schrieb: > An der Hardware-Programmierung (ohne Arduino) habe ich mich > schon mal versucht und habe die "Learning Curve" aufgegeben. Falls Du es nochmal probieren möchtest: Es gibt jemanden namens "bitluni", der mit dem ESP32 recht bizarres Zeug angestellt hat, u.a. ein PAL-Videosignal erzeugen (Composite Video in Farbe) oder auch ein VGA-Videosignal. https://bitluni.net/esp32-color-pal https://bitluni.net/esp32-vga Vielleicht hilft das ja beim arduinofreien Einstieg. 900ss D. schrieb: > Gibt's fertig zu kaufen Und da ist genau der gefragte LAN8720A verbaut.
Es gibt von Olimex diverse Esp32 Boards mit dem LAN8710, auch mit RMII Interface. Die sind Open source. Vielleicht da mal reinschauen? Das ESP32-EVB und ESP32-Gateway laufen bei mir vielfach stabil. grüße Flo
Ich habe noch immer Schwierigkeiten mit dem Verständnis der genannten Setup und Hold Zeiten. LAN8720 sendet zum ESP32: Holdzeit vom LAN8720: 3ns Setupzeit vom ESP32: 1ns --> sollte so ok sein, der ESP32 benötigt nur 1ns, erhält aber 3ns. ESP32 sendet zum LAN8720: Holdzeit vom ESP32: 1ns Setupzeit vom LAN8720: 4ns --> hier passt das nicht zusammen, der LAN8720 benötigt 4ns! Über sachliche Hilfe würde ich mich freuen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.