Forum: Mikrocontroller und Digitale Elektronik Wie STM32F407 mit KS8721B PHY


von Karl (Gast)


Lesenswert?

Hallo.

Ich habe mehrere Platinen bekommen wo ein STM32F407 mit der PHY KS8721B 
verbaut ist. Es gibt das Olimex P407 System was den früher auch drauf 
hatte, das Board habe ich nun auch.

Das Problem ist nur ich finde dafür absolut keiner Treiber / Code.

Hat jemand was für mich, egal ob HAL, LL oder SPL.

von Johannes S. (Gast)


Lesenswert?

kann man trotzdem mit HAL probieren und die hal_conf anpassen:

https://github.com/STMicroelectronics/STM32CubeF4/blob/master/Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_conf_template.h

Die Phy Adresse ist meist 0 oder 1, das wird per HW durch Pullup/down an 
den entsprechenden Pins eingestellt, findet man im Datenblatt PHYAD0..4.

Dann gibt es Basic Register die bei allen Phy gleiche Bedeutung haben 
sollten, unterschiedlich wird es ab hier /* Section 4: Extended PHY 
Registers */. Da muss das PHY_SR und die Statusbits darin passen.

Mit dem Debugger durch HAL_ETH_Init() spazieren, da sieht man was 
passiert. Wichtig ist im ersten Schritt das die Phy Adresse passt und 
die Phy Register read/write gültige Werte liefern.

Ich würd ja Mbed-os empfehlen, aber da muss man auch erstmal die 
gleichen Dinge anpassen, nur in einer anderen config Datei.

von Karl (Gast)


Lesenswert?

Das Dumme ist ich hatte vor Jahren mal die Einstellungen für den 
KS8721B.
Leider ist mir die Platte abgeraucht und genau davon hatte ich kein 
Backup.
Ich kann mich erinnern das es nur wenige Register waren die gegenüber 
einem LAN8700 anders waren. Das ganze wurde per define einfach 
umgeschaltet.

Das Olimex P407 Board hatte ich damals zum Testen mir besorgt, da hatte 
ich nur nichts mit dem KS8721B und Ethernet gemacht. Das Board hatte 
damals meine Tests nicht überlebt und jetzt habe ich genau so ein Board 
wieder.

So wenn ich nichts finde werde ich mit dem Datenblatt schon raus 
bekommen was da anders eingestellt wurde. Kann ja nicht so viel sein, 
halt nur die Frage welche BITs sind es?

Also wenn jemand die ETH .C und .H hat wo der KS8721B drin ist nehme ich 
dei gerne.

von pegel (Gast)


Lesenswert?

https://www.olimex.com/Products/ARM/ST/STM32-P407/

Im Schaltplan ist der KS8721B drin, in der Software wird er nicht extra 
erwähnt. Muss also irgendwie kompatibel sein.

von Johannes S. (Gast)


Lesenswert?

bei Olimex gibt es zwei Versionen, aber in beiden ist im Kommentar 
KS8721 nur einmal zu finden. Bei der neuen Version werden der KS8721 und 
der LAN8700 durch ihre ID erkannt, in der alten Version ist wohl nur der 
KS8721 drin. Es müssten also beide gehen, das Beispiel ist nur für IAR.

von Karl (Gast)


Lesenswert?

Hast Du mal den Link auf die Datei, ich war da vorhin aber das kann ich 
nicht finden.

von Johannes S. (Gast)


Lesenswert?


von Karl (Gast)


Lesenswert?

In den Ganzen Sourcen steht aber nie was von dem KS8721B drin.

Ich hatte mich geirrt das wurde damals nicht nur per DEFINE sondern auch 
noch mit einer Produktcodeerkennung gemacht.

Ob der KS8721B nun einfach so, geht aber nicht genannt wird, kann ich 
jetzt noch nicht sagen, dafür muss ich erstmal ein Testprogram machen.

So ein Mist dieses IAR Code Paket wo der richtig angegeben wurde muss es 
doch noch irgendwo geben.

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.