Forum: Mikrocontroller und Digitale Elektronik Mit ATmega328PB einen W5500 Ansteuern


von Daniel S. (lucky_001)


Angehängte Dateien:

Lesenswert?

Hallo,
ich muss eine neue Steuerkarte programmieren auf der ein WIZnet W5500 
verbaut ist. Dieser ist über eine zweite SPI schnittstelle des 
ATmega328PB verbunden. Die einzigen erfahrungen die ich bis dato habe, 
ist mit dem Arduino. Dieser wurde bei einer vorherigen version der 
Steuerkarte als Netzwerk-To-SerialPort-Adapter genutzt. Dabei habe ich 
das Ethernet Shield 2 verwendet.

Ich habe mir beriets die Libs zu dem W5500 angeschaut, aber weiß noch 
nicht so ganz wie ich ihn jetzt ansteuern soll. Also wie ich den IC an 
der zweiten SPI-Schnittstelle des Prozessors initialisiere, einen 
TCPserver/client erstelle und wie ich die Daten auswerten kann die 
empfangen werden.

Ich habe die 4 Dateien mal Angehängt an diesen Beitrag. Sowie den 
Schaltplan der Karte.

Ich habe Online auch noch nichts gefunden woraus ich schlau werde.

Am besten soll am ende der W5500 sich via DHCP eine IP holen und diese 
via Programmier Schnittstelle ausgeben. Später soll aber die Karte via 
Udp im netzwerk zu finden sein.

Eine art beispiel Programm wo nur ein paar kleine Byte-Arrays 
empfangen/gesendet werden würde mir sehr helfen.

IDE: "ImageCraft IDE for ICCAVR"
Übertrager: "Atmel Studio 4"

Board: Eigenentwicklung
Prozessor: "ATmega328PB"
Ethernet-IC: "WIZnet W5500"

Ich hoffe ich habe soweit eindeutig meine Problematik erklärt.
Ich bedanke mich für alle Antworten schonmal im vorraus!

MfG Daniel S.

von jo mei (Gast)


Lesenswert?

Daniel S. schrieb:
> Ich habe mir beriets die Libs zu dem W5500 angeschaut, aber weiß noch
> nicht so ganz wie ich ihn jetzt ansteuern soll.

Das lernt man indem man das Datenblatt des W5xxx liest und versteht.

Grundlage der Komunikation mit dem W5xxx ist das SPI (nein, nicht
das SPI Interface, das wäre ein Serial Peripheral Interface
Interface). Also ist die unterste Ebene deiner Programmierung
das Hantieren mit der SPI deines Controllers. Damit würde ich
anfangen, damit hangelt man sich Stufe um Stufe hoch. Wenn du
das SPI lauffähig hast mache eine einfache Übung zum Lesen/
Schreiben von Registern, eine Chip ID ist auch lesbar und
gibt einen ersten Feedback dass was läuft.

Weitere Ebenen folgen: das Lesen/Schreiben von Registern des
W5xxx, das Initialisieren auf die eigenen Belange, und als
vorerst letzte Ebene das Austauschen (Lesen/Schreiben) von
Datenblöcken und das Konfigurieren eines bestimmten Protokolls
zum Kommunizieren eines Client oder Servers mit einem anderen
LAN-Gerät.

Wenn man das hat und es funktioniert, kann man sich dann
noch mit dem Neben-Kriegsschauplatz DHCP auseinandersetzen
und dies programmieren.

Du siehst schon, die Arduino-Programmierer haben dir einiges
abgenommen da du bisher vergleichsweise ahnungslos mit dieser
Ethernet-Hardware gearbeitet hast.

Noch Fragen? Dann frage ....

Daniel S. schrieb:
> Eine art beispiel Programm wo nur ein paar kleine Byte-Arrays
> empfangen/gesendet werden würde mir sehr helfen.

Ja so ist es beim Arduino. Einfach die Ethernet-Klasse einbinden
und einen "Dreizeiler" dazu verfassen, schon kann man LAN. Den
Dreizeiler gibt es allerdings ohne Arduino-Framework nicht so
einfach.

Wenn du Glück hast könntest du auf Arduino-Framework-Basis den
W5500 dazu überreden mit der SPI1 (statt SPI0) zu kommunizieren,
dann wäre es ein vergleichsweise leichtes Spiel da du auf
Arduino-Programmbeispiele zurückgreifen könntest.

Daniel S. schrieb:
> Ich habe Online auch noch nichts gefunden woraus ich schlau werde.

Ich behaupte mal dass das Datenblatt des W5500 leicht zu finden
ist und du das auch gefunden hast. Wenn du daraus nicht schlau
wirst oder es nicht lesen und verstehen willst dann musst du
vielleicht doch mit Arduino weitermachen.

von Spess53 (Gast)


Lesenswert?

Hi

Bei Wiznet gibt es für den W5500 eine ioLibrary Driver

https://github.com/Wiznet/ioLibrary_Driver

MfG Spess

von Daniel S. (lucky_001)


Lesenswert?

Mein problem ist ja, dass ich noch nie etws mit SPI selbst programmiert 
habe. Daher die fragen stellung. Denn wenn ich das könnte, würde ich 
vermutlich auch das was im Datenblatt steht verstehen.

Aber erstmal danke für eure antworten!

von Karl M. (Gast)


Lesenswert?

Daniel S.,

Dein erstes Problem ist deine Rechtschreibung. Einige Wörter werden 
immer gross geschrieben.
Dann gibt es da noch die Satzzeichen, einige, wie das Komma, sind Dir 
fremd?!

von Daniel S. (lucky_001)


Lesenswert?

Hallo Karl,
Ich denke, dass es relativ egal ist ob ich alle satzzeichen richtig 
setzte oder nicht. Es ist denke ich wichtiger dass alle verstehen 
welches problem ich habe und mir auch weiterhelfen können. Wenn ich mir 
einen Beitrag durchlese achte ich doch nicht ob da ein buchstabe klein 
oder großgeschrieben iat oder ob ein komma bzw. punkt richtig gestzt 
wurde. Es ist wichtiger dass der Inhalt rüber kommt. Ein Mathe-lehrer 
überprüft bei einem Antwortsatz auch nicht ob er 100% Gramatikalisch 
korret ist. Oder habe ich da in meiner Schulzeit andere Erfahrungen als 
du gemacht?

Und wenn du nicht helfen möchtes mein Problem zu lösen, dann melde dich 
bitte nicht mehr hier.

: Bearbeitet durch User
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.