Hallo zusammen, Ich habe ein System mit 4 Controllern. 1 Master und 3 Slaves. Ist es möglich, dass ein Slave eigenständig (z.B. bei neuen Messwerten) an den Master etwas senden? Ich will nicht, die 3 Slaves kontinuierlich zu pollen. Habt Ihr Lösungsvorschläge? Danke im voraus! Gruß Ehrengast
>Ist es möglich, dass ein Slave eigenständig (z.B. >bei neuen Messwerten) an den Master etwas senden? Nein, dazu müsste der Slave Master werden. >Ich will nicht, die 3 Slaves kontinuierlich zu pollen. Dann hast du dir den falschen Bus ausgesucht. >Habt Ihr Lösungsvorschläge? Nimm CAN.
Ehren schrieb: > Habt Ihr Lösungsvorschläge? Es gibt Bausteine die lösen das mit einer Interrupt Leitung. Der Slave löst einen Interrupt aus, wenn sich etwas ändert. Sprich: Er betägtigt einen Portpin welcher beim Master ebenfalls auf einen freien Portpin führt. Also unabhängig vom I2C-Bus. Der Master kann dann die Daten abholen und muss nicht ständig pollen. Wenn man die Interuppt-Ausgänge als OC ausführt, kann man auch viele Bausteine an einen Interrupt hängen, dann müssen eben alle abgefragt werden. gruß cyblord
Ehren schrieb: > Ist es möglich, dass ein Slave eigenständig (z.B. > bei neuen Messwerten) an den Master etwas senden? Natürlich, I2C ist Multimaster fähig. Jeder kann jederzeit senden. Senden mehrere gleichzeitig, gewinnt einer die Arbitration. Die anderen kriegen das mit und können es später nochmal versuchen. Ich hab sowas schonmal gemacht mit Philips 87C751 und 80C652. Leider werden die nicht mehr hergestellt. Den 80C652 habe ich durch den P89C668 ersetzt, bis auch der eingestampft wurde.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.