-         

+ Antworten
Ergebnis 1 bis 6 von 6

Thema: I2C Antiblockierer

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.03.2005
    Ort
    Lübeck
    Beiträge
    315

    I2C Antiblockierer

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Moin,

    wir haben hier für ein Projekt einen I2C-Bus mit 8 "Teilnehmern". Unser Problem ist, dass wenn ein Teilnehmer abstürzt, der ganze Bus blockiert ist, da er die SDA-Leitung runterzieht.
    Gibt es eine Baustein, der so etwas verhindern kann? Also eventuell zwischen Teilnehmer und Bus anschließen oder so???

    MfG, und vielen Dank?

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    29
    Beiträge
    4.544
    So etwas kenne ich zwar nicht, wie soll das Bauteil erkennen, welcher abgestürzt ist, aber es ist mindestens ein Master. Dieser überprüft die Leitung, und wenn er merkt, dass ein Teilnehmer abgestürzt ist, resettet oder schaltet die Versorgung mit einem Transistor oder Fet kurz ab.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.12.2005
    Beiträge
    535
    Ozzy,

    bist Du sicher, dass es der "Absturz" des Teilnehmers und die SDA-Leitung ist, der den Bus blockiert? Könnte es nicht folgender Vorgang sein:

    Der Master spricht einen Teilnehmer (Slave) mit einem "Read"-Befehl an. Dann hält der Slave die SCL-Leitung auf Null, um den Bus zu belegen, bis er die angeforderten Daten bereitgestellt hat. Er gibt SCL erst wieder frei, wenn er anfangen will, die angeforderten Daten an den Master zu senden. - Es ist mir öfter passiert, dass der Slave sich beim Zusammensuchen der Daten verheddert hat und nie zu senden anfing. Dann blieb die SCL-Leitung auf Null und der Bus war mausetot.

    Eine Gegenmassnahme ist, die Teilnehmer alle nur noch als Master-Transmitter auftreten zu lassen. D.h. ein Master sendet einem Slave die Aufforderung, bestimmte Daten zurückzumelden. Danach gibt er den Bus frei. Der angesprochene Teilnehmer sucht die Daten zusammen und sendet sie als Master an den Anforderer zurück. Wenn er beim Datensuchen abstürzt, wartet der Anforderer zwar vergeblich auf die Daten - aber der Bus bleibt betriebsbereit . Voraussetzung für dieses Verfahren ist, dass jede Botschaft die TWI-Adresse des Absenders enthält.

    mare_crisium

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Jeder Teilnehmer braucht einen Watchdog, der ihn bei einem Absturz vom Bus trennt.

    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.03.2005
    Ort
    Lübeck
    Beiträge
    315
    Moin,

    so weit so gut, aber was passiert, wenn die Stromversorgung zum Slave unterbrochen ist???

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    aber was passiert, wenn die Stromversorgung zum Slave unterbrochen ist?
    ... dann ist der entsprechende Teilnehmer bzw. dessen Anschlüsse hochohmig.
    Mit freundlichen Grüßen
    Benno

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •