Forum: Mikrocontroller und Digitale Elektronik STM32 eval board mit MAC aber ohne Eth PHY für SPE


von Boris S. (boschwer)


Lesenswert?

Hallo Community,

ich hab jetzt als (Embedded Anfänger) google durchforsted , bin aber auf 
keine klaren Antworten gestoßen.

Also folgendes: Ich brauch ein STM32 ?? MCU eval board, welcher eine MAC 
hat aber keine Ethernet PHY. Grund hierfür ist, dass ich einen eigenen 
PHY (SPE- single-pair-ethernet) verwenden will.. (so meine Vorstellung)

Nun frage ich mich in welcher STM32 Variante eine MAC Baustein vorhanden 
ist. STM32H7 !? z.b.?

aber ich will davon eine eval board auf dem ein STM32 mit MAC verbaut 
ist, aber keine Ethernet phy... gib es sowas überhaupt? oder ist ein MAC 
ein extra Baustein auf der Platine?

Ich finde die NUCLEO Board ganz gut, weil da ein st-link debugger schon 
mit drauf ist.

Also könnt ihr mir da ein paar Tipps geben ?

Danke und schönen Wochenende : Boris

von Johannes S. (Gast)


Lesenswert?

Die diversen STM32F407 Chinaboards haben das.

von Frank K. (fchk)


Lesenswert?

Wenn es nicht unbedingt STM32 sein muss:

https://www.microchip.com/DevelopmentTools/ProductDetails/dm320007


Da hast Du einen extra Steckplatz, auf dem ein LAN8720 PHY mit 
Ethernet-Buchse steckt. Das kannst Du entfernen (dafür ist es gedacht) 
und ein kleines Board mit einem PHY Deiner Wahl und beispielsweise einer 
Harting T1 Buchse für SPE draufsetzen.

fchk

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Boris S. schrieb:
...
> Also folgendes: Ich brauch ein STM32 ?? MCU eval board, welcher eine MAC
> hat aber keine Ethernet PHY. Grund hierfür ist, dass ich einen eigenen
> PHY (SPE- single-pair-ethernet) verwenden will.. (so meine Vorstellung)
>
> Nun frage ich mich in welcher STM32 Variante eine MAC Baustein vorhanden
> ist. STM32H7 !? z.b.?

Ich bin mir nicht sicher, ob wir hier alle dieselben TLAs verwenden.
Diverse STM32 haben Media Access Control on Chip.
Beispiel: STM32F407.
D.h. Du suchst einen STM32xxx mit integriertem MAC, der auf eine Platine 
gelötet wurde?
Oder möchtest Du ein externes MAC, wie man sie z.B. an AVRs, PICs oder 
kleine FPGAs schraubt?

von Boris S. (boschwer)


Lesenswert?

Hallo Leute,

danke für eure Beiträge , das hilft mir sehr:)

Und Frank, dein Vorschlag (Link) ist echt gut, genau sowas in die 
Richtung habe ich gesucht. Aber der SPE Harting PHY ist das nicht nur 
ein Chip ohne Platine? Wießt ihr ob es schon ein SPE PHY zum "direkt" 
anschließen gibt, oder einen Bausatz!?

Genau Marcus, ich suche einen STM32 mit MAC onboard, auf Platine 
verbaut, um einen externen PHY anzuschließen.

In dem fall eine SPE PHY .. (Platine) .. gibts das?

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Wie Sand am Meer. Der erste Kandidat der einem in den Kopf kommt ist das
STM32F4DISCOVERY vom Hersteller der MCU.

von Boris S. (boschwer)


Lesenswert?

Ja aber selbst wenn ich diese Board nehme , kann ich nirgends MAC lesen, 
oder ist das implizit durch den MCU Model?

Ist dem Eth Phy typ egal welche MAC darunter is?

Ich kann leider nicht viel mit den Postfixen STM32???? anfangen, gibts 
da auch eine Beschreibung was die Kodierung beschreiben, bestimmt !?:) 
Sorry bin echt ehr frisch in dem Thema?

Achja ein SPE Phy (board) wäre echt sehr wichtig...

von STM Apprentice (Gast)


Lesenswert?

Boris S. schrieb:
> Ist dem Eth Phy typ egal welche MAC darunter is?

Der MAC ist nicht unter dem PHY sondern drüber (Hierarchie).

Wenn die Schnittstelle passt dann sollte es egal sein.

Boris S. schrieb:
> Ich kann leider nicht viel mit den Postfixen STM32???? anfangen, gibts
> da auch eine Beschreibung was die Kodierung beschreiben, bestimmt !?:)
> Sorry bin echt ehr frisch in dem Thema?

Siehe auch:

Beitrag "STM32 - welcher ist der kleinste mit Ethernet-Core?"

Dort spricht man:
pegel schrieb:
> CubeMX hat so schöne Filter um alles gewünschte zu finden.


Siehe auch:
Beitrag "Welcher PHY für STM32F4x7"

von 6a66 (Gast)


Lesenswert?

Boris S. schrieb:
> Achja ein SPE Phy (board) wäre echt sehr wichtig...

Interesssante Technologie :)
Wäre das etwas was Du suchst:
https://www.nxp.com/design/development-boards/analog-toolbox/tja1100hn-evaluation-board-tja1100hn-100base-t1-phy-transceiver:OM14500-TJA1100

rgds

von John Doe (Gast)


Lesenswert?

Er hat gar nicht geschrieben, welche Technologie er haben möchte.
SPE ist vieles, z.B. 802.3bp, 802.3bw, 802.3cg, 802.3ch.

Also Boris S., was genau soll es denn sein?

von Frank K. (fchk)


Lesenswert?

Boris S. schrieb:

> Und Frank, dein Vorschlag (Link) ist echt gut, genau sowas in die
> Richtung habe ich gesucht. Aber der SPE Harting PHY ist das nicht nur
> ein Chip ohne Platine? Wießt ihr ob es schon ein SPE PHY zum "direkt"
> anschließen gibt, oder einen Bausatz!?

Harting macht nur den Stecker. Der PHY kommt z.B. von NXP.

https://www.nxp.com/products/interfaces/ethernet-/automotive-ethernet-phy-transceivers/ieee-100base-t1-compliant-automotive-ethernet-phy-transceiver:TJA1100HN

Oder von TI:

http://www.ti.com/product/DP83TC811S-Q1

Das ist 100 MBit/s 100Base-T1 802.3bw.

Dafür gibts auch Eval-Boards:

http://www.ti.com/tool/DP83TC811SEVM?jktype=tools_software

Zusammenbauen und das Anpassen der Software musst Du selber machen. Oder 
jemandem viel Geld dafür geben, wenn Du selber zu ... unwissend bist.

fchk

von 6a66 (Gast)


Lesenswert?

John Doe schrieb:
> SPE ist vieles, z.B. 802.3bp, 802.3bw, 802.3cg, 802.3ch.

Machen aber genau zwei davon im Markt auf sich aufmerkam: 3bp und 3bw. 
fchk hat die Player für 100baseT1 genannt, bei 1000baseT1 sind es 
Marvell und Broadcomm.

Boris S. schrieb:
> ich hab jetzt als (Embedded Anfänger) google durchforsted , bin aber auf
> keine klaren Antworten gestoßen.

In diesem Fall gehe ich mal von 100baseT aus.

Frank K. schrieb:
> Zusammenbauen und das Anpassen der Software musst Du selber machen. Oder
> jemandem viel Geld dafür geben, wenn Du selber zu ... unwissend bist.

Nicht ganz. Bin gerade über Oryx gestolpert (CyconeTCP), die haben beide 
100baseT1 PHYs schon im Stack drinnen.

rgds

von Johannes S. (Gast)


Lesenswert?

Für die STM32F4 mit RMII ist die PHY Anbindung aber überschaubar, ich 
hatte mir das auch komplizierter vorgestellt. Im STM32 HAL ist ein Init 
drin, danach kann man noch den Verbindungsstatus zyklisch überwachen.
Auch wenn man der Industrie so einen einfachen 2 pol Stecker als 
Alternative zum schlechten RJ45 Stecker gut gebrauchen kann, wird sich 
soetwas durchsetzen? Die Industrie ist da ja sehr konservativ und hat 
sich schon einiges zum alten RJ45 Stecker einfallen lassen.

von Boris S. (boschwer)


Lesenswert?

Guten Abend,

danke euch, echt super Diskussion, da versteh ich schon viel mehr:)

Ok dann ein STM3F407 board mit absteckbaren PHY , dann nehm ich mir noch 
eine NXP SPE Phy und tausch es aus;)

Das is ein kleines Hobby Projekt, will einfach eine SPE Kommunkation 
Konten machen.

SPE wird wahrscheinlich gut in der Insdustrie ankommen, 2 drahtbuss mit 
Power .. d.h. eine Kabellösung und kompakter ..


ist das CyconeTCP ein Tcp Stack den ich dafür nutzen kann!?

Ja hätte mir vorgstellt FreeRTOS zu nehmen....

ja gut ganz doof stell ich mich nich an, habe schon erfahrung in c/c++ , 
und frühr mal sogar nen STM32 under PIC programmiert... aber IP STacks 
etc. noch nichts gemacht und OS auch nichts..

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Frank K. schrieb:
...
> Zusammenbauen und das Anpassen der Software musst Du selber machen. Oder
> jemandem viel Geld dafür geben, wenn Du selber zu ... unwissend bist.
...
Immer diese Schufte, die Geld für Hirnleistung nehmen. Im Gegenzug haben 
die aber auch meistens heimlich geübt. :P

Dem TO sei die Forensuche "STM32 PHY" als allgemeine Grundlage ans Herz 
gelegt. Dann muss man sich entscheiden welches Framework und welcher 
Stack tatsächlich zum Einsatz kommt.

von Boris S. (boschwer)


Lesenswert?

Guten Morgen,

ich hätte mal ganz spontan an das hier gedacht:

https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_TCP/index.html?

Mal ganz unabhängig von dem ARM CPU, müsste ich doch jeder TCP Stack 
verwendet werden können wenn die entsprchende HAL (API) so nenne ich das 
mal , für den Stack existiert? Also die Schnittstelle zum MAC immer sehr 
unterschiedlich?

Für FreeRTOS sollte ja generel funtionieren mit em STM32F407?

Und noch was, welche IDE würdet Ihr bevorzugen? Keil oder TrueStudio? 
Die sind ja zum debuggen was Tasks in FreeRTOS angeht ganz gut?
Oder gibts da auch gute Extensions für VisualStudioCode?

Grüße  Boris

von Frank K. (fchk)


Lesenswert?

Solange Du als Minimalanforderung ein zugängliches MII-Interface plus 
MDC/MDIO Schnittstelle hast, ist es egal, was Du nimmst. Dem 
eigentlichen IP-Stack ist es egal, den PHY-Treiber wirst Du anpassen 
müssen.

Das ganze reduziert sich auf ein Know-How Problem Deinerseits.

fchk

PS: Auch wenn die Bausteine RMII unterstützen, solltest Du bei MII 
bleiben, weil das nur mit 25 MHz läuft. RMII braucht zawr weniger 
Datenleitungen, läuft aber mit dem doppelten Takt, und das erhöht 
natürlich auch die elektrischen Anforderungen an den Aufbau, was 
Signalqualität etc angeht. Insbesondere dann, wenn Du uC/MAC und PHY 
NICHT auf eine gemeinsame Leiterplatte setzt, sondern Dir mit einzelnen 
Boards etwas zusammenfrickelst.

von Boris S. (boschwer)


Lesenswert?

Hallo Frank,

danke dir .. ja Know-How klufft will ich deswegen bissel schließen, mit 
viel doing:) Weil grad noch was nich verstehe..

der PHY kommuiziert ja mit dem MAC auf (indem fall MII) , wo steckt dann 
der PHY treiber drin? im TCP_ stack? das hab ich jetzt nich ganz geraft, 
dachte der PHY hat ne spezifiezierte Schnittstelle zum MAC und gut is.. 
und der TCP -Stack handelt den Datenstrom und kümmert sich nich um den 
1+2 layer im OSI1?

von Thorsten S. (thosch)


Lesenswert?

Frank K. schrieb:
> PS: Auch wenn die Bausteine RMII unterstützen, solltest Du bei MII
> bleiben, weil das nur mit 25 MHz läuft.

Das mit MII würde ich mir allerdings gründlich überlegen.
RMII benutzt Leitungen aus PA, PB, PC, PG.
MII zusätzlich welche aus PE, PI, PH.

Das Pinout ist eh schon so zerrupft und über den halben Chip verteilt, 
MII konfliktet dann auch mit noch mehr Interfaces wie FSMC und USB HS.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Boris S. schrieb:
> Hallo Frank,
>
> danke dir .. ja Know-How klufft will ich deswegen bissel schließen, mit
> viel doing:) Weil grad noch was nich verstehe..
>
> der PHY kommuiziert ja mit dem MAC auf (indem fall MII) , wo steckt dann
> der PHY treiber drin? im TCP_ stack? das hab ich jetzt nich ganz geraft,
> dachte der PHY hat ne spezifiezierte Schnittstelle zum MAC und gut is..
> und der TCP -Stack handelt den Datenstrom und kümmert sich nich um den
> 1+2 layer im OSI1?

Auch wenn es sich nur um Hobby handelt:
Falls Du ein wenig Geld übrig hast, würde ich den Kauf eines fertigen 
Eval-Boards mit angeschraubter PHY vorschlagen.
Hintergrund: Abgesehen von der Initialisierung sind die PHYs im Betrieb 
fast identisch. Damit hättest Du eine funktionierende Referenz, um die 
oberen Protokollschichten zu checken.

Meiner ersten Tests habe ich mit
https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware
gemacht. Wenn Du die Dinger nicht billiger als 40€ inkl. Versand und 
Steuer bekommst, oder Dir die Lieferzeit zu lang ist, könnte ich Dir ein 
gebrauchtes für diesen Preis anbieten.

von Frank K. (fchk)


Lesenswert?

Boris S. schrieb:

> der PHY kommuiziert ja mit dem MAC auf (indem fall MII) , wo steckt dann
> der PHY treiber drin? im TCP_ stack? das hab ich jetzt nich ganz geraft,
> dachte der PHY hat ne spezifiezierte Schnittstelle zum MAC und gut is..
> und der TCP -Stack handelt den Datenstrom und kümmert sich nich um den
> 1+2 layer im OSI1?

Der PHY hat zwei Schnittstellen:

1. ?MII, wobei ? entweder nichts, R, G, RG, S sein kann. Das ist die 
Schnittstelle, über die nachher die Daten vom und zum Netzwerk gehen. 
Der PHY reicht den Datenstrom an dieser Schnittstelle in beide 
Richtungen durch.

2. MDC/MIDO: Darüber werden im Normalfall bis zu 32 16-bit breite 
Register im PHY angesteuert. Die ersten 16 Register sind weitgehend 
standardisiert, die zweiten 16 Register sind herstellerspezifisch. Das 
ist die Schnittstelle, über die der MAC feststellt, ob eine Verbindung 
da ist, welche Datenrate ausgehandelt wurde, voll/halbduplex usw usw.

Wo genau der Code für den PHY liegt, ist unterschiedlich. Er kann 
entweder Bestandteil des MAC-Treibers sein, oder er kann separat davon 
sein, wie es z.B. bei Linux gereglt ist.

fchk

von Frank K. (fchk)


Lesenswert?

Thorsten S. schrieb:
> Frank K. schrieb:
>> PS: Auch wenn die Bausteine RMII unterstützen, solltest Du bei MII
>> bleiben, weil das nur mit 25 MHz läuft.
>
> Das mit MII würde ich mir allerdings gründlich überlegen.
> RMII benutzt Leitungen aus PA, PB, PC, PG.
> MII zusätzlich welche aus PE, PI, PH.
>
> Das Pinout ist eh schon so zerrupft und über den halben Chip verteilt,
> MII konfliktet dann auch mit noch mehr Interfaces wie FSMC und USB HS.

Die Physik verhandelt nicht. Wenn RMII, dann besser nur mit Controller 
und PHY auf einer einzigen Platine. Und wenn das Pinout zu sehr zerrupft 
ist, dann gibts ja noch mehr Firmen, die 32 Bit Controller mit MII und 
RMII verkaufen. Ich weiß eh nicht, warum schon so frühzeitig die 
Festlegung auf STM gefallen ist. Klug war das sicher nicht.

fchk

von Thorsten S. (thosch)


Lesenswert?

Bei RGMII würde ich dir zustimmen, aber RMII ist DDR mit 25 MHz Takt.
Das ist jetzt keine Raketenwissenschaft...

Das Discovery-Board mit dem STM32F407 hat keinen PHY on Board, man muss 
einen über die Port-Stiftleisten anschließen. Wenn man sich beim Layout 
nicht gar zu dusselig anstellt, bekommt man das problemlos ans laufen.

Das Zusatzboard STM32F4DIS-BB von Embest enthält einen RMII PHY 
(LAN8720), eine RJ-Buchse und das Geraffel dazwischen.
Außerdem einen SD-Kartenslot und einen RS232-Pegelwandler samt 
DSUB-Buchse.

Den Schaltplan dazu findet man im Web:
https://www.element14.com/community/docs/DOC-51693/l/stm32f4dis-bb-stm32dis-cam-stm32f4dis-lcd-discover-more-schematics

Die haben Serienwiderstände in alle Signale zwischen PHY und MAC gelegt.
Das Board funzt problemlos.

: Bearbeitet durch User
von Boris S. (boschwer)


Lesenswert?

Hallo,

im ersten Beitrag wurde von Marcus folgendes vorgeschlagen:

https://www.microchip.com/DevelopmentTools/ProductDetails/dm320007

das is ja ein Board mit angestöpselten PHY denn ich ja dann quasi 
austauschen kann.

Zitat Torsten:
/Das Zusatzboard STM32F4DIS-BB von Embest enthält einen RMII PHY
(LAN8720), eine RJ-Buchse und das Geraffel dazwischen.
Außerdem einen SD-Kartenslot und einen RS232-Pegelwandler samt
DSUB-Buchse/

hast du ein link zu dem enstrpechenden board=?


P.S was ist denn an dem STM32XXXX so schlecht? was wäre besser?

von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ein Bild von meinen Testaufbauten mit F407 Chinaboards, 
LAN8742 Phy und RMII. Nicht ideal und sicher nicht für Wind und Wetter, 
aber funktioniert, auch mit beim Übetragen mehrerer Megabytes oder Tests 
mit apache-jmeter.
Nur die billigen Dupontkabel kann ich nicht empfehlen, die Kontakte 
leiern schnell aus weil billigstes Eisenmaterial.
Mit Mbed-os, das hat den lwip Stack und das Ethernet Interface aus der 
STM HAL. Darin ist das PHY_init und das benutzt die Standadisierten 
Register 0 und 1 aus dem Phy, das ist in dem NXP SPE auch so drin und 
müsste damit ad hoc funktionieren. Beim Autonegotiation fangen 
Unterschiede an, das kann man aber abschalten und HW Config benutzen. 
Das NXP board hat da offensichtilich einige Jumper um das einzustellen. 
Für die Softwareprüfung des Autonegotiationstatus ist jetzt in mbed auch 
eine Konfiguration eingeführt worden, das kann vermutlich auch auf den 
NXP Phy angepasst werden.
Hat Harting da keine Hardware wenn die das so pushen? Und zum Testen 
brauchst du ja noch einen Gegner, gibt es da schon brauchbare SPE 
Switches?

von Boris S. (boschwer)


Lesenswert?

Hey Johannes,

genau sowas brauch ich;) Was sind das genau für boards (link) würde ich 
so mir dann auch zulegen... und die LAN PHY dazu..

Genau Kabel bräuchte ich da ja auch, kann es ja nicht einfach 
draufstecken...

Danke Dir schonmal für Deine Ausführungen..:)

von Johannes S. (Gast)


Lesenswert?

bei Ali oder eBay nach F407 suchen, da findest du jede Menge. Das 
kleinere Board unter dem Namen 'devebox'.
Hier sind Infos zu den verschiedenen Varianten zu finden:
https://github.com/mcauser?tab=repositories&q=f407&type=&language=
Die Standard LAN PHY boards genauso bei eBay oder Ali unter LAN8720. Von 
Waveshare gibt es eines in etwas besserer Qualität, die billigeren Clone 
funktionieren hier aber auch.
Zu den Dupontkabeln gab es hier auch kürzlich einen Thread:
Beitrag "[S] Dupont-Kabel in guter Qualität oder Bezugsquelle"

von Frank K. (fchk)


Lesenswert?

Boris S. schrieb:

> im ersten Beitrag wurde von Marcus folgendes vorgeschlagen:
>
> https://www.microchip.com/DevelopmentTools/ProductDetails/dm320007
>
> das is ja ein Board mit angestöpselten PHY denn ich ja dann quasi
> austauschen kann.

Das war von mir. Ist auch kein STM32, sondern PIC32MZ EF und damit MIPS 
statt ARM, aber das ist kein Nachteil. Der PIC32 MZ EF ist eher 
leistungsfähiger. Und der TCP/IP-Stack von Microchip ist recht gut, und 
das ganze ist extra für den Betrieb mit verschiedenen PHYs ausgelegt.

> P.S was ist denn an dem STM32XXXX so schlecht? was wäre besser?
Das Pinout ist fürs Layout etwas blöd.

fchk

von Boris S. (boschwer)


Lesenswert?

Vielen Dank euch:) Wenn ich mich entscheide den STM32F407 zu nehmen, mit 
diesem
Board https://www.st.com/en/evaluation-tools/stm32f4discovery.html
und ich FreeRTOS TCP Stack etc. aufspielen will, reicht dann eigentlich 
der Speicher? Ich hab nicht gefunden über die angaben wie groß der 
Footprint von FreeRTOS ist..

Oder muss ich ein anderes Eval board nehmen mit extra flash oder 
speicher? Oder empfieht ihr nen STM32 CPU mit mehr speicher (Der ne MAC) 
hat?

Danke nochmal;)

von Johannes S. (Gast)


Lesenswert?

Das Discovery ist weniger geeignet, da ist schon viel Schnickschnack 
drauf und die Chance ist groß das Pins für das RMII schon belegt sind, 
das solltest du erst im Schaltplan prüfen.
Der Speicher vom F407 ist ausreichend, es gibt den VE mit 512 kB oder VG 
mit 1024 MB Flash, da passt ne Menge rein. Mein mbed Testserver mit RTOS 
(RTX von Keil ist in mbed drin), HTTP/Websocket/TFTP Server, NTP Client, 
zwei Dateisystemen auf SDC und SPI Flash liegt als Debugbuild bei ca. 
300 kB, hat also immer noch viel Luft.

von Frank K. (fchk)


Lesenswert?

Boris S. schrieb:
> Vielen Dank euch:) Wenn ich mich entscheide den STM32F407 zu nehmen, mit
> diesem
> Board https://www.st.com/en/evaluation-tools/stm32f4discovery.html

Bevor Du irgendwas kaufst, besorgst Du Dir die kompletten Schaltpläne 
zum Board und Datenblatt plus Reference Manual zum Prozessor und prüfst 
sorgfältigst nach, ob wirklich ALLE Pins für MII und MDIO komplett 
unbenutzt und frei für Deine Zwecke sind. Wenn auch nur ein Pin für 
irgendetwas verwendet wird, ist das Board für Deine Zwecke komplett 
unbrauchbar.

Solltest Du das bis jetzt nicht gemacht haben, dann wäre JETZT der 
richtige Punkt, damit anzufangen.

fchk

PS: Das PIC32 Board wird garantiert funktionieren. Da sind alle Pins 
schon an der richtigen Stelle, und da kannst Du so loslegen.

: Bearbeitet durch User
von Boris S. (boschwer)


Lesenswert?

Wow.. danke Jungs;) das werde ich tun;) Dann schau ich mir das alles 
an.. Echt super das Forum hier..:)

von Boris S. (boschwer)


Lesenswert?

Aber der STM32F407 ,

hat doch einen MAC für einen externen PHY. Da müssten die IO's fpr den 
MII ja freigelegt sein.

Aber natürlich schaue ich mir den Schaltplan genau an.

von Johannes S. (Gast)


Lesenswert?

Der F407 hat das Interface, aber die Pins sind ja nicht exklusiv dafür, 
die können also auch für andere Komponenten verwendet werden.
Du kannst auch CubeMX con ST installieren und das Board darin laden. 
Dann sieht man sofort ob Ethernet möglich ist.
Da sind die Nucleo oder eben die Chinaboards besser, da ist das 
überflüssige Zeug nicht drauf.

von Frank K. (fchk)


Lesenswert?

Boris S. schrieb:
> Aber der STM32F407 ,
>
> hat doch einen MAC für einen externen PHY. Da müssten die IO's fpr den
> MII ja freigelegt sein.

Nö.

Mikrocontroller sind in der Pinanzahl begrenzt. Du hast mehr Funktionen 
und mehr Signale als Pins. Daher sind die Pins immer mehrfach belegt. 
Auf einem Pin kann z.B. ein GPIO drauf sein, eine Adressleitung für 
einen externen Adress/Datenbus, ein Timerinterrupt und wasweißich. In 
Startup-Code müssen die Pinmultiplexer passend initialisiert werden.

Beim Design Deiner Schaltung musst Du also immer eine Auswahl treffen, 
welche Funktionen DU brauchst, und auf welchen Pins Du die herausführen 
kannst. Bei einem STM32F103 beispielsweise kannst Du entweder USB oder 
CAN nutzen, aber niemal beides gleichzeitig, weil diese Funktionen auf 
den gleichen Pins liegen und auch das gleiche Peripherie-RAM nutzen.

Der Designer eines Demo-Boards musste also eine Auswahl treffen, welche 
Signale er nach außen führt und welche nicht. Diese Auswahl an 
Funktionen und externer Beschaltung kann für Deinen Einsatzzweck passen, 
sie kann aber auch nicht passen. Das im Vorfeld zu prüfen ist DEINE 
verdammte Pflicht, und wenn DU dabei scheiterst, hast DU einfach unnötig 
Geld zum Fenster rausgeworfen.

fchk

PS: Vielleicht verstehst Du jetzt ein wenig, warum ich Dir genau das 
Board empfohlen habe, was ich Dir empfohlen habe. Da kannst Du nämlich 
einfach nichts falsch machen.

von Pittiplatsch (Gast)


Lesenswert?

Es gibt viele Boards die gut mit Ethernet umgehen koennen.
Vorzugsweise die, die bereits entweder im Controller oder auf
dem Board bereits eine PHY besitzen.

Das STM32F407 Discovery waere da nicht unter den Favoriten.

Eine kurze Uebersicht:

LPC1768 Mini-DK2 mit LAN8720 PHY
TI TM4C1294XL (PHY integriert)
TI Stellaris LM3S6965 Evaluation Board (PHY integriert)
Renesas RX62 RDK (DP83640 PHY)
STM32F107VC Comstick (STE100 PHY)

Davon sind manche auch schon ein wenig aelter.

Wenn man nicht auf einen vorgefertigten Stack zurueckgreifen will,
sondern selbst programmieren will, fand ich den LPC1768 als
den besten Kandidaten.

von Johannes S. (Gast)


Lesenswert?

Es ging gerade darum das das Board keinen Phy haben soll.

von Pittiplatsch (Gast)


Lesenswert?

> Es ging gerade darum das das Board keinen Phy haben soll.

Ja, wenn er sich gerne selber ein Bein stellen will.
Dann soll er das mal tun.

von STM Apprentice (Gast)


Lesenswert?

Hab jetzt lang gewartet und schon gehofft/gedacht dass jemand
anders das Board nennt, aber wenns keiner tut ....

Hier ist das Board das einem sehr viele Möglichkieten offen
lässt, ich denke auch den Anschluss eines PHYs (da es fast
alle Pins frei hat):

Beitrag "STM32F407 Black und Arduino"

auf eb*y zur Zeit hier erhältlich:

https://www.ebay.de/itm/Core407V-STM32F407VET6-STM32-Cortex-M4-Development-Board-Mainboard-Module-Kit/323872764866?hash=item4b685233c2:g:qcwAAOSw-kdX0mup

von Gerd E. (robberknight)


Lesenswert?

STM Apprentice schrieb:
> Hab jetzt lang gewartet und schon gehofft/gedacht dass jemand
> anders das Board nennt, aber wenns keiner tut ....
>
> Hier ist das Board das einem sehr viele Möglichkieten offen
> lässt, ich denke auch den Anschluss eines PHYs (da es fast
> alle Pins frei hat):
>
> Beitrag "STM32F407 Black und Arduino"

Johannes S. (jojos) hatte ein Foto mit eben diesem Board und einem 
drangehängten PHY oben im Thread gezeigt.

von Gerd E. (robberknight)


Lesenswert?

Pittiplatsch schrieb:
>> Es ging gerade darum das das Board keinen Phy haben soll.
>
> Ja, wenn er sich gerne selber ein Bein stellen will.
> Dann soll er das mal tun.

Naja, das SPE-Zeug ist noch ziemlich neu. Noch wenig Erfahrung, wenig 
fertige Unterstützung in den entsprechenden Libs, evtl. noch Bugs im 
Silizium,...

Als Anfänger würde ich mir das nicht gleich antun wollen.

Also finde ich die Idee mit einem per Jumperkabel ansteckbarem PHY gar 
nicht schlecht. So kann man erst mal den gängigen 100Base-T PHY 
anschließen und die Software zum Laufen bringen.

Wenn das alles geht, kann man dann an das selbe Board einen SPE-PHY 
anstecken und damit bei Bedarf Details, Signale, Verhaltensweisen etc. 
zwischen beiden vergleichen.

von Boris S. (boschwer)


Lesenswert?

Hallo Johannes, aber ich habe keine Nucleo board mit MAC gefunden und 
ohne PHY nicht gefunden.

Ich würde das Chinaboard auch nehmen, wenn ich es bei nem Distributor 
wie RS,Farnell oder so bekommen würde.
Genau das was Johannes gezeigt hat, schwebt mir auch vor.

Ich schau mir grad die PIN Matrix des STM32407 Evalboard an.

https://www.st.com/content/ccc/resource/technical/document/user_manual/70/fe/4a/3f/e7/e1/4f/7d/DM00039084.pdf/files/DM00039084.pdf/jcr:content/translations/en.DM00039084.pdf


PA0- ETH_MII_CRS
PA1 - ETH_MII_RX_CLK
PA2 - ETH_MDIO
PA3- ETH_MII_COL
PA7 - ETH_MII_RX_DV (Hier fehlt free I/o)
PB0- ETH_MII_RXD2
PB1 - ETH_MII_RXD3
PB8- ETH_MII_TXD3
PB10- ETH_MII_RX_ER (Hier fehlt free I/o)
PB11 - ETH_MII_TX_EN
PB12 -  ETH_MII_TXD0
PB13-  ETH_MII_TXD1
PC2- TH_MII_TXD2
PC3 - ETH_MII_TX_CLK (Hier fehlt free I/o)
PC4- ETH_MII_RX_D0
PC5- ETH_MII_RX_D1
PE2- ETH_MII_TXD3

d.h. jetzt wenn PA7, PB10, und PC3 nicht nach außen gehen weil (Free 
i/o) nicht ggb. ist kann ich es vergessen eine PHY anzuschließen , 
richtig?

Was waäre denn die alternative von Nucleo?

Sorry Johannes, ich muss nen Arm St32 nehmem is ne Vorgabe:(

EDIT: Das was Gerd meint, war auch meine Intension.

habe glaub noch ein andere board (equvialent zum black) gefunden .. 
https://eckstein-shop.de/Waveshare-Core407V-Development-Core-Board-STM32-Cortex-M4-STM32F407V-Entwicklungskit?gclid=EAIaIQobChMI8OOomqyP6AIVSOd3Ch1DUwEyEAYYASABEgIHTfD_BwE

aber da fehlt der debugger!?! da wäre nucleo  besser , wenns da ein 
board one phy gäbe

: Bearbeitet durch User
von Johannes S. (Gast)


Lesenswert?

also bei RS oder anderen Distris gibts die Chinaboards mit Sicherheit 
nicht.

Dieses hier habe ich und das kann man mit RMII verwenden (ist auch auf 
dem Foto):
https://www.ebay.de/itm/STM32F407VET6-STM32-Cortex-M4-Development-Board-Mainboard-Module-NEU/183920544732
Aus D, damit auch relativ schnell lieferbar, aus Brüssel gibts das auch 
noch.

Hab jetzt gerade keine Zeit, es sollten alle F4x7/F4x9 passen, oder auch 
welche von der F7 Serie.

Als Debugger nimmst du einen STLink extern, den gibts beim Distri. Oder 
Segger JLink, scheint ja eine Arbeit für Uni/Firma zu sein?

von Boris S. (boschwer)


Lesenswert?

Guten Morgen Johannes,

danke für deine Angaben, ja is für die Firma, und da habe ich leider nur 
möglichkeiten über Distris zu bestellen, habe das Board gefunden:

https://eckstein-shop.de/Waveshare-Core407V-Development-Core-Board-STM32-Cortex-M4-STM32F407V-Entwicklungskit?gclid=EAIaIQobChMI8OOomqyP6AIVSOd3Ch1DUwEyEAYYASABEgIHTfD_BwE

was meinst du, das kann ich nutzen?

Danke Dir, für deine Mühen:)

von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

Das Waveshare sieht auch brauchbar aus, da gibt es ja noch ein 
Entwicklungsboard zu:
https://eckstein-shop.de/Waveshare-Open407I-C-Development-Board-STM32-Cortex-M4-STM32F407I-Entwicklungskit-Standard

Da ist dann auch der Ethernet Teil auf einem Verbinder rausgeführt, 
damit kann man einen Test sauberer aufbauen als bei meinem Drahtverhau. 
Waveshare hat ein gutes Wiki und Doku zu seinen sachen, die gehören 
schon zu den besseren Chinaboards.
Das Devebox Chinaboard ist eben etwas billiger, aber das von mir 
verlinkte hat auch eine gute Qualität. Die Header muss man da selber 
einlöten, damit hat man die Wahl der Igelversion für Dupontkabel nach 
oben oder als Steckversion auf ein Trägerbrett. Und SD-Karte und Flash 
sind auch Dinge die man gut gebrauchen kann.
Bei Eckstein habe ich auch schon öfter bestellt, die haben immer sehr 
fix geliefert.

Habe nochmal das DiscoF4 kontrolliert, da stört eigentlich nur PA7. Der 
geht als SPI_MOSI an den MEMS Baustein, den kann man wegblasen wenn der 
stört. Wenn der MEMS nicht angesprochen wird sollte das aber auch so 
gehen.
In dem CubeMX Bild habe ich das Board geladen und SPI1 deaktiviert und 
PA7 auf default zurückgesetzt, damit ist RMII frei.

von Boris S. (boschwer)


Lesenswert?

Ok, d.h. bei dem DiscoF4 Board müsste ich evtl, paar Leitungen 
durchtrennen!? aber gut dann nehm ich aber lieber das hier, dann kann 
ich ja sogar noch andere Peripherie drauf bauen mit dem zusatz boards...

jetzt brauch ich noch ein paar Leitungen:)

von Boris S. (boschwer)


Lesenswert?

Habe noch bissel recherchiert, was FreeRTOS und STM32F407 angeht und 
folgende Beispeil gefunden:

https://github.com/wangyeee/STM32F4-FreeRTOS

wäre das quasi schon die FreeRTOS Platform integration für mein 
gewünschten STM32 und FreeRTOS.

Schon bissel alter eintrag aber ok..

Wenn ich auf der FreeRTOS ist kein FreeRTOS setup für den STM32F407 
vorhanden, also kein Code..

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
Noch kein Account? Hier anmelden.