[SOLVED] Wiz820io, SPI zickt

Guten Morgen,

ich bin nun seit kanpp vier Tagen mit dem folgendem Problem beschäftigt:

Ich habe hier ein WIZ820io (mit W5200 Netzwerkchip) Netzwerkmodule rumliegen. Das möchte ich zusammen mit einem MFRC522 (RFID-Leser, 13,56MHz) auf dem SPI-Bus eines Arduino-Nanos betreiben.

Es gibt nun folgende Situationen:

  1. Beide Geräte auf dem SPI-Bus und ein Sketch, der beide Geräte nutzt: Nur der RFID Reader funktioniert. (Egal in welcher Reihenfolge ich die Geräte initialisiere) Das Netzwerkmodul leuchtet und blinkt auch schön, aber bekommt schon keine IP-Adresse über DHCP.
  2. Beide Geräte auf dem SPI-Bus, Sketch nutzt nur RFID-Leser: Funktioniert problemlos.
  3. Nur das Netzwerkmodul auf dem SPI-Bus: Funktioniert problemlos.

Wenn ich in Situation 1 die CLK-Line vom RFID-Leser trenne, dann funktioniert das Netzwerkmodul - logischerweise, aber der RFID-Reader nicht mehr...

Ich habe nun leihweise ein Oszilloskop besorgt. Der Takt auf CLK sieht soweit auch in Ordnung aus, egal ob CLK vom Reader mit auf dem Bus hängt oder nicht. Ich konnte nun auch folgendes Verhalten feststellen:
Der Nano und das WIZ820io sind auf einem Steckbrett miteinander verbunden, der RFID-Reader ist nicht angeschlossen: Starte ich einen Sketch, bekommt das WIZ820io korrekt seine IP-Adresse über DHCP. Das interessante: Sobald ich eine Leitung zum Oszilloskop von der CLK-Line abzweige, funktioniert das WIZ820io-Modul nicht mehr.
Es scheint also so, als ob das Modul nicht mehr mag, sobald es sich CLK mit irgendeinem anderen Device teilen muss.

Testweise habe ich den Nano auch mal durch einen UNO ersetzt: Gleiches Verhalten.

Hat vielleicht jemand einen Tipp für mich, worin die Ursache begraben sein könnte?

Viele Grüße,
virusbrain

Edit: SPI wird im Mode 0 betrieben. Clock-Divider habe ich auch schon alle zw. SPI_CLOCK_DIV2 und SPI_CLOCK_DIV128 versucht - immer das gleiche Verhalten.

SS bei beiden Componenten auf dem gleichen Pin? Sketch?

Hi,

nein SS-Pins sind zwei verschiedene. Mich wundert eben, das es schon genügt nur einen Draht auf die CKL-Line einzustecken, damit das Netzwerkmodul aus dem Tritt kommt .... Der Draht ist auch nirgends anschlossen, nur mit einer Seite eingesteckt.

Viele Grüße,
virusbrain

Hi,

ich habe die Lösung gefunden:
Ich musste noch eine Verbindung zw. Arduino Nano's GND und dem WIZ820io GND herstellen. Die Ursache liegt wohl darin, dass ich für die Versorgung des WIZ820io ein externes Netzteil verwendet habe. Wobei ich eigentlich eine Masseverbindung zw. Netzteil Masse und uC-Masse hergestellt hatte. Nachdem ich das dann direkt an den WIZ820io-GND hing liefs auf einmal. (Zu dem Zeitpunkt hat der WIZ820io am Eingang also einmal den Netzteil-GND und einmal den uC-GND)

Kann mir das ggf. jemand erklären, warum das so ist?

Viele Grüße,
virusbrain