Hallo. Ich versuche den W5100 mit einem MSP430 über SPI anzusprechen. SPI Mode ist korrekt eingestellt, Spi-Takt 1MHz. (beides mit Oszi kontrolliert) Eine Lese- / Schreiboperation umfasst ja 4 Zyklen, bei denen, laut Datenblatt, nacheinander folgend Bytes vom W5100 zurückkommen sollten (wenn ich die Zeichnung richtig interpretiere...): 0x00 - 0x01 - 0x02 - 0x03 (beim Schreiben) bzw. 0x00 - 0x01 - 0x02 - 0x?? (als letztes das Ergebnis vom Lesezugriff..) Allerdings kommen bei mir bei jedem Lese-/Schreibzugriff immer nur folgende Antworten: 0x00 - 0x02 - 0x04 - 0x00 Einen anderen IC auf der Platine kann ich korrekt auslesen, die SPI Routine passt also. Hatte jemand schonmal dasselbe Problem? Oder irgendeine Idee wo das Problem liegen könnte? Danke schonmal. Gruß, Martin
Hallo Martin, ich hoffe das Du das Problem schon behoben hast, falls es aber doch noch aktuell sein sollte: Ich hatte ein sehr ähnliches Problem. Die Antwort 0x00 - 0x02 - 0x04 - 0x00 liegt am falschen SPI mode. Laut Datenblatt soll der W5100 Mode 0 und 3 unterstützen. Laut WizNet Homepage unterstützt er aber nur SPI Mode 0. Beim falschen Modus (also 3) verschieben sich die Bits um genau eine Position, d.h. 0x02 (0b00000010) statt 0x01 (0b00000001) und 0x04 (0b00000100) statt 0x02 (0b00000010). Bei mir trat dann ein weiteres Problem auf: Es wechselte die Antwort (3. Byte) zwischen 0x03 und 0x00 ohne erkennbare Regelmäßigkeit. Nach langem hin und her Probieren mit den Parametern, hab ich mich entschlossen einfach mal ein einfaches Software-SPI zu programmieren, das genau auf das Timing-Diagramm des W5100 abgestimmt war. Funktionierte auf Anhieb. Es schein als gäbe es ein Timing-Problem mit dem Hardware SPI Modul des msp430. Gruß ein anderer Martin ;-)
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.