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

Re: I²C beschleunigen Kategorie: I²C-Bus (von Detlef - 8.01.2011 22:40)
Als Antwort auf Re: I²C beschleunigen von Wurl - 2.01.2011 19:09
Ich nutze:
C-Control II Station
> > > Hallo.
> > >
> > > Ist es moeglich die I2C-Schnittstelle irgendwie zu beschleunigen?
> > >
> > > Ich möchte eine grosse Haussteuerung mit 16 I2C-Modulen machen.
> > > D.h. pollen von 16 Input-Ports und 16 Output-Ports, weshalb ich grausame Reaktionszeiten befuerchte.
> > > Meine Busleitung is insgesamt nur ca 2 Meter lang, und die I2C-Chips sollten ja normalerweise schnell genug sein.
> > >
> > > MfG,
> > > Wurl
> >
> > Hallo.
> >
> > Es ist nicht notwendig die I2C Schnittstelle zu beschleunigen,
> > ich betreibe eine Haussteuerung mit insgesamt 18 MAX 7311 und insgesamt 20m Busleitung ohne Probleme.
> >
> > Dabei werden insgesamt 30 Taster per Polling abgefragt, die irgendwie an den MAX7311 hängen.
> > Auch Tasterabfragen wie "3x Drücken", also die einzelnen Betätigungen zu zählen,
> > ist ohne Probleme möglich.
> > Und dann ist es immer noch möglich, Aktoren zu steuern, die auch an dem BUS hängen.
> > Dazu kommen Dimmer, die langsam auf- und abdimmen. Das Auf- und Abdimmen wird ebenfalls
> > ĂĽber den BUS abgewickelt, indem nacheinander bis zu 60 Helligkeitswerte an die Dimmer gesendet
> > werden. Erst beim Dimmen mehrerer Lampen gleichzeitig merkt man, dass es langsamer auf- bzw. abdimmt.
> >
> > Aber die Eingangsabfrage ist auch dann immer noch problemlos.
> >
> >
>
>
> Dank fĂĽr die Antwort.
>
> Bei mir sollen es bis zu 112 (14x8) digitale Eingänge (Taster, Bewegungsmelder etc.) sein.
> Gut die Hälfte davon mit Auswertung von Lang-Halten und Mehrfach-Druck.
> (Das benötige ich für 12 Jalousien, 6 Dimmer, etc. um sie mit nur je 1 Taste angenehm zu steuern.)
> Insgesamt gibt es auch bis zu 112 digitale Ausgänge zu verwalten.
> Daneben sind noch 48 Analogkanäle abzutasten (braucht aber blos einer alle zwei Zyklen zu sein).
>
> Ich habe schon Code gehackt fĂĽr die Tasterauswertung, und fĂĽr die Jalousiesteuerung.
> (Vielleicht schaffe ich auch eine Drag&Drop Funktion ;-)
>
> Den system.timer() möchte ich verwenden um mich darauf zu synchronisieren (warten auf bit7 und höher).
> Die ganze Schleife soll also möglichst im festen Raster von 128ms ablaufen.
> (Alle Eingänge pollen, Auswertung, und alle Ausgänge aktualisieren.)
>
> Leider ist noch nichts verdrahtet, und ich muss auch noch ein wenig fertig programmieren.
> Aber so ein Gefühl für die zu Erwartende Performance (Reaktionszeiten) wäre nicht schlecht.
>
> MfG,
>  Ewald

Hallo Ewald,
zum GefĂĽhl ein Live-Beispiel:
Exakt 18 MAX7311 reihum adressieren und auslesen.
Zwischendurch die gleichen MAX7311 adressieren und Ausgänge setzen.
Eingangseinlesen bleibt instantan.
Beispiel Schalter Betätigung:
Einzelne Jalousieauswahl (dritte Jalousie von rechts, erst rauf, stop, dann runter, stop)

Schalter betätigen

Schönes Restwochenende.


    Antwort schreiben


Antworten: