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 Wurl - 2.01.2011 19:09)
Als Antwort auf Re: I²C beschleunigen von Detlef - 30.12.2010 15:49
Ich nutze:
C164CI-ControllerBoard
> > 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


    Antwort schreiben


Antworten:

Re: I²C beschleunigen (von Detlef - 8.01.2011 22:40)
Re: I²C beschleunigen (von Detlef - 4.01.2011 9:06)