IOW 24 und I2C

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

IOW 24 und I2C

Post by friend-of-rq »

Hallo

beim verwenden der I2C-Funktion auf einem IOW24 gibt es ein Problem,

wenn ich mit einem IOW24 auf eine I2C Adresse schreibe die nicht vorhanden ist
wird der I2C-Bus vom IOW blockiert die CL-Leitung bleibt auf LOW,
ein erneutes lese gibt dann den I2C-Bus wieder frei.

Beim IOW56 tritt diese Problem nicht auf , bei IOW40 habe ich es noch nicht getestet.

Wie gesagt es tritt nur beim schreiben auf ein nicht vorhandenen I2C-Device auf.

Mir ist das Fehlverhalten nur aufgefallen, weil ich ein I2C-Switch gebaut habe der
die I2C-Ports(Stränge), die den Bus stören abschaltet.

mfg
R.Greinert
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW 24 und I2C

Post by friend-of-rq »

Hallo CodeMercs Team,

keine Antwort ist auch eine :-(

ist das Problem bekannt ? habe da ein kleines Problem mit !

mfg
R.Greinert
Guido Körber
Site Admin
Posts: 2883
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IOW 24 und I2C

Post by Guido Körber »

Sorry, Dezember war etwas hektisch, wir hatten noch keine Gelegenheit uns das anzusehen. Sollte aber eigentlich nicht so sein, der IO-Warrior setzt am Ende einer IIC Transaktion immer beide Leitungen zurück auf High, eventuell ist das ein Effekt des IIC Repeaters.
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW 24 und I2C

Post by friend-of-rq »

Hallo Herr Körber,

der HUB/Reapeater hat keinen direkten Zugriff auf den IIC-Bus, er trennt nur Anschlüsse(Zweige) die eine Störung erzeugen.

Der besagte Fehler ensteht beim IOW56 z.B. nicht ...

zur Funktion des Hubs:

Mein IIC-HUB hat 16 Anschlüsse die je durch einen PCA9517 an einem IIC-Backbone verbunden sind.
Ensteht eine Störung (SCL oder SDA zu lange LOW) an einem der besagten Anschlüsse,
wird dieser vom Backbone getrennt um den Backbone wieder frei zu bekommen, der Anschluss bleibt so lange vom Backbone getrennt bis die Störung wieder aufgehoben ist (SCL und SDA =HIGH).

Das Problem ist nur das der IOW-24 als Master auch an dem Backbone direkt angeschlossen ist.
Das bedeutet sollte der IOW-24 den besagten Fehler erzeugen, trennen alle Anschlüsse sich vom Backbone da diese nicht erkennen können von wo die Störung kommt, verbinden aber sofort wieder da der getrennte Anschluss ja keine Störung hat, dies geschieht rekursiv !

Lösung:
ich müsste den IOW-24 selber an einem der Anschlüsse anschliessen , was aber einen Anschluss belegt.
Oder ich muss nach jebem vergeblich Schreibversuch einen Lese-Zyklus einleiten um den Bus
wieder frei zu bekommen.

mfg
R.Greinert
User avatar
Christoph Jung
Posts: 674
Joined: Sun Oct 08, 2006 3:43 pm
Location: Germany / Berlin
Contact:

Re: IOW 24 und I2C

Post by Christoph Jung »

Was ist denn daran so schlimm, dass man nach jedem schreiben einfach ein lesen hinterherschiebt? Hat das Auswirkungen auf irgendwas?
Zwar erklärt das nicht, warum das mit dem IOW56 nicht passiert aber es wäre ein Workarround. Dem I2C-Problem werd ich aber mal nachgehen und schaun wo es hackt.
Software developer
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW 24 und I2C

Post by friend-of-rq »

Hallo Herr Jung,

die Zeit die zwischem dem Erkennen eines fehlgeschlagenem I2C-Schreibversuch und
dem als Workarround folgendem lese Zyklus ist ja nicht gleich null ...

Das heisst in dieser Zeit geht der I2C-HUB auf Störunterdrückung (rekursiv) da ja die Störung
im Backbone ist.

P.S. ein frohes neues und gesundes Jahr an alle hier im Forum.

mfg
R.Greinert
Guido Körber
Site Admin
Posts: 2883
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IOW 24 und I2C

Post by Guido Körber »

Ich kann den Fehler bestätigen. Wenn bei einem IIC Write das ACK ausbleibt, bleibt SCL auf Low. Wir werden das irgendwann bei einer Revision der Chips beheben.
Post Reply