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

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> > > > 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, ich habe das ähnlich abgewickelt, aber ohne feste Zeiten. > Bei mir gibt es erstmal eine Initialisierung um alle angeschlossenen Eingänge zu erfassen. > Danach läuft ein Thread, der alle Eingänge einliest und alle aktiven Eingänge in einem Array A abgelegt. > Im zweiten Durchlauf werden wieder alle Eingänge erfasst, aber nur noch die neu aktiven in einem > Array B abgelegt. Im dritten Durchlauf werden alle neu aktiven Eingänge wieder in Array A abgelegt usw... > > Während Array A beschrieben wird, liest ein zweiter Thread Array B aus und startet entweder weitere > Treads oder einfache Funktionen. > > Das Ganze ist gegeneinander verriegelt, Lesezyklus B kann erst starten wenn Array B komplett > ausgelesen ist und umgekehrt. > > In der Praxis gibt es dabei überhaupt gar keine Probleme bei dem Einlesen der Eingänge. Das ist > superperformant, und man hat das Gefühl einer instantanen Reaktion. Auch bei ca. 60 Eingängen. > > >
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB