Für dieses Forum muß Javascript im Browser aktiviert werden!
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 Detlef, > > > > danke erstmal für deinen Erfahrungsbericht. > > > > > ich habe alle Eingänge über I²C realisiert.Und das sind ganz locker alle Schalter im Haus und > > > div. Sensoren. (ca. 80 Eingänge). Diese werden reihum permanent über einen extra Thread abgefragt. > > > Das funktioniert instantan, es sind sogar Schalter dabei, die ein Schieberegister befüllen, d.h. es ist > > > notwendig einen Schalter mehrfach nacheinander zu betätigen, und es geht kein Impuls dabei verloren. > > > > Das heist, du fragst alle möglichen Eingänge in einer Schleife ab. Wieviel Zeit lässt Du zwischen den > > einzelnen Abfragen? Also Frage Eingang 1 ab, warte 10ms, Frage Eingang 2 ab. > > Ja, ich frage alle Eingänge in einer Schleife ab. Wartezeiten gibts da gar nicht. > Ich habe sogenannte "Module" zusammengelötet, in denen jeweils 1-3 "Max7311" verbaut sind. > Diese Module haben konfigurierbar 3-12 Eingänge. Für diese "Module" habe ich "Treiber" geschrieben, > also Funktionen zum Initialiseren, zum Auslesen und zum Beschreiben. > Beim Hochfahren des Systems wird versucht alle theoretisch möglichen Module zu initialisieren, > die erfolgreich Initialisierten stehen in einer Variable. Diese Variable ist der Parameter für den Thread > zum Auslesen der vorhandenen Module. Hier wird dann reihum der Treiber zum Auslesen mit den > Adressen der vorhandenenen Module ausgeführt wobei jedesmal ein INT zurückkommt. Wenn in > diesem INT was steht, wird ausgelesen, welches Bit "high" ist. Aus der Reihenfolge, welches Modul, > welches Bit ergibt sich welcher Schalter aktiv ist. Dieses wird in ein Array geschrieben. Dieses Array > akzeptiert bis zu 20 aktive Schalter gleichzeitig. Werden es mehr wird ignoriert, ist aber noch nie > vorgekommen. > > > > > > > > Die Schalter im Haus schalten alle N auf die Eingänge. Damit ein Stromfluß zu stande kommt, > > > liegt im Zählerschrank, wo auch die Station eingebaut ist, ein "modifziertes" Netzteil, mit einer Brücke > > > zwischen Netzteilmasse und N. Fließt Strom über diese Brücke, gibts ein Signal, daß die Station > > > nutzt, um alle Schalter abzufragen. > > > > Das habe ich jetzt ehrlich gesagt nicht verstanden. Ein modifiziertes Interrupsignal? Warum dann nicht > > das Interrupsignal von den I²C Porterweiterungen nutzen? Welche Porterweiterung hast Du im Einsatz? > > Beim Zusammenlöten meiner Module habe ich das Interruptsignal nicht mit rausgeführt. Außerdem > hatte ich teilweise nur 4-adrige Leitungen verlegt, sodaß das mit dem Interuptsignal sowieso nicht > geklappt hätte. Klar, kann man das Interuptsignal der Proterweiterungen nutzen. Die hab ich aber ja > nicht im Einsatz. > > > > > > > > > > Es gibt auch keine Performanceprobleme, wenn die Station ohne Interuptsignal immer alle Eingänge > > > reihum im Dauerlauf abfragt. So ist es nämlich jetzt, wo ich Bewegungsmelder eingebaut habe, die > > > nicht über N schalten und auch abgefragt werden sollen.... > > > > Wie gesagt, hier wäre mal deine Umlaufzeit interresant. Weil Abfragen geht ja im Programm nur nacheinander. > > Also die hab ich nie gemessen, aber ich habe Schalter, die ich bestimmt 4x die Sekunde betätige, und > alle Impulse werden problemlos von der Station verarbeitet. Man kann beim besten Willen keine > Verzögerung feststellen. Es ist sogar so, daß ich viele Dimmer im Einsatz habe, die 64 Helligkeits > stufen können. Wenn ich hier von 0 auf volle Helligkeit aufziehe, muß der Baustein 64 mal über I²C > angesprochen werden. Im Wohnzimmer, wo man "Lichtstimmungen" einstellen kann, werden > sogar vier Dimmer gleichzeitig, also hunderte I²C Pakete in wenigen Sekunden verschickt, und der > Lesethread hat immer noch keine Probleme. > > Zugegeben, wenn man in einem weiteren Zimmer zeitgleich weitere Dimmer aufzieht, merkt man, > wenn man drauf achtet, daß das Hochdimmen etwas langsamer wird... > > Also der I²C ist durch diskrete, manuell erzeugte Schaltersignale sicher nicht kleinzukriegen. > Da müßten dann wirklich wirklich maschinell erzeugte, höherfrequente Signale her. > > Viele Grüße > > Detlef > > > > > > > > Rene