Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: I2C Capture funktioniert sicher? Kategorie: I²C-Bus (von Detlef - 10.01.2009 21:08)
Als Antwort auf Re: I2C Capture funktioniert sicher? von André H. - 1.01.2009 20:37
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo Zusammen,

habe tatsächlich dann mal ein Oszilloskop an den Bus gehängt. Die Signale sehen gut und sauber aus,
(hab' ja auch an jedem Modul einen P82B715 mit 2k als PullUp) allerdings habe ich festgestellt, daÃ? der
LOW Signalpegel schon so bei 0,7 V liegt.... Im Anzugsmoment der Relais könnten das auch 1,5 V
werden. Werde also die Masseleitung deutlich im Querschnitt erhöhen. (Schirmung und alle freien Adern mit in
die Masse)
Dane für die Tips,

Detlef

> Hallo Detlef, Rene, Jörg, Joerg, Icebear,
>
> Probleme beim Multithreading mit dem I²C-Capture sind mir nicht bekannt.
> Auch ich greife in unterschiedlichen Projekten aus vielen Threads auf den I²C-Bus zu.
> (teilw. über 10 zugreifende Threads)
> Das I²C-Capture ist identisch mit den Capture des Moduls cap.c2.
> Daran kann es nicht liegen.
> Es wäre aber denkbar, da� irgendeine Funktion das I²C-Capture nicht oder
> nicht korrekt nutzt. Ich möchte hier nicht ausschlie�en, da� in einer Funktion
> der Module sich ein Fehler eingeschlichen hat.
> Es reicht schon, da� an einer Stelle versehentlich das I²C-Capture zufrüh mit
> i2c.stop() gelöst wird, als diese mit i2c.cstop() zu halten.
> Möglich wäre auch eine ungecapturete I²C-Bus-Routine, die erst ab einem bestimmten
> "Zugriffsmuster" auffällt.
> Es kann aber auch hardwarebedingt sein, wenn der Bus grenzwertig betrieben, daÃ?
> es am Bus vereinzelt zu Störungen kommt.
> (z.B. zu viele Slaves pro Bussegment bzw. ungünstiges Verhältnis Anzahl/Länge)
> Dies kann dazu führen, da� ab einer bestimmten Busauslastung Störungen entstehen.
> Die Analyse ist dann natürlich schwierig.
>
> Wichtig ist auf jeden Fall mögliche Busfehler weitgehenst abzufangen.
> Das fängt damit an, die Rückgabewerte der Funktionen auszuwerten, ob Slaves ansprechbar sind.
> Ein zweiter Schritt kann gerade beim Auslesen sein, die Abfrage doppelt bzw.
> mehrfach auszuführen, um die eingelesenen Daten zu verifizieren.
> Bei Ausgängen, sollte im zweifelsfall zurückgelesen werden, um falsche Daten
> korrigieren zu können, bevor das Relais reagiert.
>
> Man mu� sich immer vor Augen halten, da� es beim I²C-Bus keinen Mechanismus
> gibt, um falsche Daten auszuschlie�en. (z.B. duch Prüfsummen)
>
> MfG André H.
>
>
> >
> > Hat jemand von Euch schon den I2C exessiv in mehreren Threads verwendet?
> >
> > Ich habe folgendes Problem. Ich habe eine Haussteuerung mit ca. 80 Eingängen,
> > ca. 80 Digitalen Ausgängen und 24 Dimmern aufgebaut. Dazu habe ich im wesentlichen 20 MAX7311
> > verwendet.Von der Logik her gibt es mehrere Threads, einen, der zyklisch alle Eingänge abfragt, einen,
> > der direkte Ausgänge steuert und einen, der Dimmer soft an un ab dimmt. Funktioniert soweit
> > einwandfrei, allerdings, sobald nur noch ein Thread dazukommt, der auch auf den I2C zugreift,
> > fängt das ganze System zu spinnen an.
> > (Im Schlafzimmer dimmt das Licht runter, und unten im WOZI fahren plötzlich Jalousien los)
> > Mein Verdacht, die Captures (cstart, stop) funktionieren
> > irgendwie nicht. Fehler in der Software kann ich nicht finden, jede Komponente für sich funktioniert,
> > nur als System zusammen gehts den Bach runter.
> >
> > Hat irgendjemand ähnliche Erfahrungen gemacht?
> >
> > Viele Grü�e
> >
> > Detlef


    Antwort schreiben


Antworten:

Re: I2C Capture funktioniert sicher? (von Joerg C. - 10.01.2009 23:58)
    Re: I2C Capture funktioniert sicher? (von Detlef - 11.01.2009 8:58)