Servus, Vorab: Ich bin kein Experte und kenne mich in dem Bereich auch nur Semi aus, arbeite nicht in dem Bereich. Also lasst Gnade walten :D. Jedenfalls möchte ich für ein Projekt gerne ein PCB bzw eine Schaltung mit nem STM32F407 und nem DP83848i entwerfen. Habe alles soweit schonmal mit Breakoutboards von Waveshare und ST getestet. Ist natürlich keine sonderlich kompakte und schöne Lösung. Also würde ich mir gerne selber ein Board designen. Um Fehler auszuschließen und etwas Erfahrung zu sammeln, habe ich erstmal nur ein seperates Board nur mit dem DP8384I in KiCad designed. Dann kann ich ja schonmal sehen, was wie läuft, etc. Ich habe mir ein paar Dinge im Internet zu den "design-rules" durchgelesen, bin mir aber sicher, dass das Board noch weit davon weg ist gut zu sein. Die Schmeatic ist auch im Anhang. Evtl. lassen sich ja auch hier Fehler finden. Empfiehlt es sich die AN_EN(LED_ACT/COL), AN_1 (LED_SPEED), AN_0 (LED_LINK) Pins manuell auf dem PCB-high zu "strippen" oder reichen die internen Pull-Up Widerstände aus? Was kann ich noch verbessern? Welche Artikel sind ggf. gut noch zu studieren? Oder macht es in dieser Form für Personen, die nicht direkt aus dem Fach kommen mehr Sinn, nur mit Breakoutboards etwas zu entwickeln (auch wenn es unschöner ist) oder mit den Boards von ST, die Ethernet intgriert haben? Danke im Voraus und schonmal ein ein frohes neues Jahr.
:
Verschoben durch Moderator
Letztendlich ist das alles Übungssache. Ich lerne am Besten von anderen - Kollegen, Freunden etc. Manches muss man auch selber falsch gemacht haben, um es zu lernen. Du wirst mehr als ein Layout in die Tonne treten, weil etwas nicht wie erwartet funktioniert. Das ist normal. Auf Youtube gibts auch Tutorials, zum einen von dem Robert Feranec (gut, das Zuhören ist da etwas anstrengend, er ist Tscheche), und es gibt die Altium Academy. Die Grundlagen sind ja unabhängig vom Layouttool. Zu Deinem Board: Du nimmst RMII. Das ist schon eine Hausnummer, 50 MHz. Das kann man über Kabel führen, aber ich hätte ein besseres Gefühl dabei, den Prozessor mit auf die gleiche Leiterplatte zu setzen. Das verbessert die Signalqualität und macht das alles zuverlässiger. Wenn Du es einfacher haben willst, könntest Du auch einen Wiznet-Chip nehmen: https://wiznet.io/products/iethernet-chips/w6100 Da hast Du dann nur noch SPI, was weniger Pins braucht und einfacher zu layouten ist. Du hast da wohl eine zweilagige Leiterplatte gewählt. Mit 4 Lagen kannst Du weniger Fehler machen. Da nimmst Du eine durchgehende GND-Lage, auf der wirklich gar nichts anderes als Ground ist, und die andere Innenlage nimmst Du für 3.3V. Kostet zwar mehr, aber so teuer ist das ganze jetzt auch nicht mehr. fchk
Frank K. schrieb: > Wenn Du es einfacher haben willst, könntest Du auch einen Wiznet-Chip > nehmen: > https://wiznet.io/products/iethernet-chips/w6100 > Da hast Du dann nur noch SPI, was weniger Pins braucht und einfacher zu > layouten ist. Die Wiznets sind ganz nett, aber deren IP-Stack ist ständig im Weg. Man kann die zwar auch Raw betreiben, ist aber nicht gut dokumentiert. Meiner Meinung nach ist der DP83848 für den Anfang klar einfacher, vor allem wenn man einen Controller mit integriertem MAC zur Hand hat. > Du hast da wohl eine zweilagige Leiterplatte gewählt. Mit 4 Lagen kannst > Du weniger Fehler machen. Da nimmst Du eine durchgehende GND-Lage, auf > der wirklich gar nichts anderes als Ground ist, und die andere Innenlage > nimmst Du für 3.3V. Kostet zwar mehr, aber so teuer ist das ganze jetzt > auch nicht mehr. Ja, 4 Layer ist einfacher, Du sparst Dir viel Zeit fürs Layout und hast weniger Risiken dass es Probleme durch schlechtes Layout gibt. Wenn Du unter 5x5 cm Platinengröße bleibst kosten 2 Layer und 4 Layer bei JLCPCB das selbe (=2 US$). Also für kleine Platinen eine einfache Entscheidung. Was mir sonst noch auffällt: Der X2 Oszillator für die 50 MHz sieht mir gigantisch groß aus. Ist der wirklich so groß? Ich hätte da eher 3.2x2.5mm oder so erwartet. Sieh kleine Widerstände auf allen Signalleitungen zum Mikrocontroller vor, z.B. 27 oder 33 Ohm. Stichwort Serienterminierung. Wenn Du die nicht brauchst kannst Du immer noch 0 Ohm bestücken. Wie macht der Mikrocontroller einen Reset des PHY? In dem Bereich hab ich in der Praxis schon öfters Probleme mit fremden Designs gehabt. Sieh dafür lieber eine Möglichkeit mit dedizierter Resetleitung vor. Du willst nicht bei jedem Anschalten den Taster drücken... Evtl. noch verstärkter ESD- und Überspannungsschutz. Einfach ein z.B. IP4220CZ6F zwischen DP83848 und Magjack. Lass noch mehr Abstand zwischen dem GND der Schaltung und dem Schirm des Magjack. Bei nem kommerziellen Gerät müsstest Du da durch Surge-Tests etc. durch und das wird mit dem kleinen Abstand schwer. Du willst da ein paar Millimeter haben, dann bist Du auf der sicheren Seite.
:
Bearbeitet durch User
Warum nicht ersteinmal ein Aufsteckboard auf ein STM32 Nucleo mit ETH? Und hinter der Ferritperle direkt am AVDD Pin wuerde ich auch (einen) Entkoppelkondesator(en) empfehlen.
:
Bearbeitet durch User
das wäre auch eine Möglichkeit. Allerdings möchte ich das ganze auf begrenzten Raum umsetzen und die GPIOs welche ich für Sensoren/Aktoren benötige auch ordentlich rausführen. Grad läuft das ganze noch mit nem Mega2560 Mini von Aliexpress und nem W5500 Board und dann die ganzen Pins raus aus dem Gehäuse geführt. Schön ist das ganze so nicht. Ich hätte gerne schon alles sauber beisammen und nicht zusammen gelötet. Das ich das ganze auch einfacher zum laufen bekomme ist mir klar. Aber ich würde gerne auch etwas dazulernen und es "professionell" umsetzen. Ich könnte natürlich auch sagen, ich designe mir eine Platine mit dem STM drauf und stecke das Ethernet-Breakoutboard von Waveshare dazu. Aber dann kann ich es auch direkt "ganz" machen. Leider habe ich keine Bekannten oder Freunde die in dem Bereich groß sind die ich fragen könnte.
Gerd E. schrieb: > Frank K. schrieb: >> Wenn Du es einfacher haben willst, könntest Du auch einen Wiznet-Chip >> nehmen: >> https://wiznet.io/products/iethernet-chips/w6100 >> Da hast Du dann nur noch SPI, was weniger Pins braucht und einfacher zu >> layouten ist. > > Die Wiznets sind ganz nett, aber deren IP-Stack ist ständig im Weg. Man > kann die zwar auch Raw betreiben, ist aber nicht gut dokumentiert. Will er das? Ich meine, lwIP funktioniert zwar, ist aber so prall auch nicht. > Meiner Meinung nach ist der DP83848 für den Anfang klar einfacher, vor > allem wenn man einen Controller mit integriertem MAC zur Hand hat. Oder sowas wie LAN8742. Ist kleiner, hat weniger Außenbeschaltung. > Der X2 Oszillator für die 50 MHz sieht mir gigantisch groß aus. Ist der > wirklich so groß? Ich hätte da eher 3.2x2.5mm oder so erwartet. Ich befürchte, dass er da einen 5V-Oszillator im DIL14 genommen hat. Die gehen natürlich nicht. > Sieh kleine Widerstände auf allen Signalleitungen zum Mikrocontroller > vor, z.B. 27 oder 33 Ohm. Stichwort Serienterminierung. Wenn Du die > nicht brauchst kannst Du immer noch 0 Ohm bestücken. genau. > Wie macht der Mikrocontroller einen Reset des PHY? In dem Bereich hab > ich in der Praxis schon öfters Probleme mit fremden Designs gehabt. Sieh > dafür lieber eine Möglichkeit mit dedizierter Resetleitung vor. Du > willst nicht bei jedem Anschalten den Taster drücken... > > Evtl. noch verstärkter ESD- und Überspannungsschutz. Einfach ein z.B. > IP4220CZ6F zwischen DP83848 und Magjack. > > Lass noch mehr Abstand zwischen dem GND der Schaltung und dem Schirm des > Magjack. Bei nem kommerziellen Gerät müsstest Du da durch Surge-Tests > etc. durch und das wird mit dem kleinen Abstand schwer. Du willst da ein > paar Millimeter haben, dann bist Du auf der sicheren Seite. 3* volle Zustimmung. fchk
Was Du auch nehmen kannst: https://www.ti.com/product/TM4C1294NCPDT Den habe ich für einige Projekte eingesetzt. Da ist der Ethernet PHY schon mit drin, d.h. da etwas falsch zu machen muss man schon können. TI liefert Dir eine schöne Treiberbibliothek mit. Ansonsten ist das auch nur ein Cortex M4F wie alle anderen auch. Zum Testen gibts ein Launchpad. Da ist dann auch ein Debugger drauf, wie bei den Nucleos. https://www.ti.com/tool/EK-TM4C1294XL fchk
ja ich hab son riesen cmos oszillator genutzt, das war der einzige, den ich gefunden habe den man händisch löten kann. Aber wie ich bei z.B dem Breakout Board von Waveshare gesehen habe, kann man auch einfach die 4-Pads etwas größer machen - wenn die nicht sogar schon im Standart Footprint so sind. Okay, das mit dem "impedance-matching" mit den kleinen Widerständen hatte ich tatsählich mal angedacht. Darum gehts hierbei doch, oder? ESD- & Überspannungsschutz kann ich ja z.B auch mit Suppressor-Dioden umsetzen, Verpolungschutz ggf. mit nem P-Kanal Mosfet oder ganz billig mit ner Schottky Diode. Aber das hatte ich alles fürs fertige Board gedacht - wo STM32 und der PHY aufm gleichen Brett sitzen, genau so wie 4-Layer High-Signal - GND - VDD - High Signal. Die Videos von diesem Robert ... kenne ich, finde ich auch ganz gut muss ich sagen.
das liest sich auf den ersten Blick recht interessant. Schaue ich mir mal an, danke.
Den Oszi sollte man, soweit ich es weiß mit 5V oder 3.3V VDD betreiben können. Die Amplitude sollte dann 0.9*VDD bzw 0.1*VDD sein. Das passt doch, oder?
Hendrik K. schrieb: > Den Oszi sollte man, soweit ich es weiß mit 5V oder 3.3V VDD betreiben > können. Die Amplitude sollte dann 0.9*VDD bzw 0.1*VDD sein. Das passt > doch, oder? So lange wie Du nicht den EXAKTEN Typ hier veröffentlichst, kann man das nicht sagen. Üblicherweise sind Oszillatoren in dieser Bauform reine 5V-Typen. Der hier sollte passen: https://abracon.com/datasheets/ASEDV.pdf https://www.digikey.de/de/products/detail/abracon-llc/ASEDV-50-000MHZ-LR-T3/16370771 fchk
:
Bearbeitet durch User
Hendrik K. schrieb: > Empfiehlt es sich die AN_EN(LED_ACT/COL), AN_1 > (LED_SPEED), AN_0 (LED_LINK) Pins manuell auf dem PCB-high zu "strippen" > oder reichen die internen Pull-Up Widerstände aus? Hallo, so sieht meine Schaltung mit dem DP83848 aus. Ist eine Kopie von Microchip PIC32MX Starter Kit. Alle 3 LEDs sind angeschlossen und parallel jeweils dazu ein Widerstand, der beim Einschalten der Versorgungsspannung die Konfiguration einließt.
:
Bearbeitet durch User
https://de.farnell.com/qantek-technology-corporation/qx14t50b50-00000b50tt/oszillator-50mhz-20-8mmx13-2mm/dp/2508732?srsltid=AfmBOor0ve0xtYBWfjfTYUEbAYgPgXE381Vy-VDqm5gnHe4gXxMHRbB8 im Datenblatt steht, dass der auch mit VDD - 3.3V läuft. Auch wenn das Datenblatt sehr bescheiden ausfällt.
:
Bearbeitet durch User
Hendrik K. schrieb: > die Led*s sind in deinem Fall aber nicht am RJ45 Jack oder wie? Nee, auf der Leiterplatte
Hendrik K. schrieb: > https://de.farnell.com/qantek-technology-corporation/qx14t50b50-00000b50tt/oszillator-50mhz-20-8mmx13-2mm/dp/2508732?srsltid=AfmBOor0ve0xtYBWfjfTYUEbAYgPgXE381Vy-VDqm5gnHe4gXxMHRbB8 > > im Datenblatt steht, dass der auch mit VDD - 3.3V läuft. Auch wenn das > Datenblatt sehr bescheiden ausfällt. Nein. Das Datenblatt ist sowohl für das 3.3V-Modell als auch für das 5.0V-Modell. Du erkennst das am Part Numbering Guide. Das 3.3V-Modell wäre QX14T33B50.00000B50TT. Meine Empfehlung wäre ein modernen SMD-Oszillator zu nehmen, nicht so ne Dampflok. Verlöten dann mit Heißluft oder mit etwas vergrößerten Pads.
Ja, so wie du es geschrieben hast. Habe ich es dann auch vor - also vergrößerte Pads. :-)
Hendrik K. schrieb: > https://de.farnell.com/qantek-technology-corporation/qx14t50b50-00000b50tt/oszillator-50mhz-20-8mmx13-2mm/dp/2508732?srsltid=AfmBOor0ve0xtYBWfjfTYUEbAYgPgXE381Vy-VDqm5gnHe4gXxMHRbB8 > > im Datenblatt steht, dass der auch mit VDD - 3.3V läuft. Auch wenn das > Datenblatt sehr bescheiden ausfällt. Lesen sollte man können: "Versorgungsspannung, nom. 5V" Außerdem: "Frequenzstabilität ±50ppm" Das ist am Rande des Erlaubten. Es gibt genügend Teile mit ±25ppm, die nur die Hälfte kosten. https://de.farnell.com/abracon/ase-50-000mhz-lr-t/oszillator-quarz-50mhz-smd/dp/2101315 fchk
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.