- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 13

Thema: I²C Multi Master [Nutzen & Prinzip] ?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.698
    ... deutschsprachige ... Information ... Multi-Master beim I²C Bus ... keine einzige Anwendung ...
    Hi Cyan,

    nicht nur im Bereich Elektronik und IT ist es mit den deutschsprachigen Informationen äusserst dünn. Ist für uns schade - aber es ist einfach so. Warum fragst Du? Unmittelbaren Bedarf scheinst Du ja nicht zu haben. Ich kenne die Fragestellung der Art "Wie geht dieses Dings und wozu ist es gut" eigentlich nur bei Lernthemen.

    Multimaster kann gegenüber Master - Slave(s) einen Vorteil haben, dass Informationen nur ausgetauscht werden, wenn es erforderlich ist. Das KANN dann zu weniger Traffic führen als die Master-Slave-Kommunikation. Ausserdem kann bei MM jeder beliebige Controller jeden anderen bei Bedarf direkt ansprechen. Beim Master-Slave-Bus muss der Master wissen, wenn etwa ein Slave Informationen von einem anderen Board benötigt - muss die holen und weiterreichen. Im Extremfall heißt es, der Master muss dauernd bei Controller "X" fragen ob er die Uhrzeit wissen möchte, auch wenn der sie nur alle paar Stunden braucht. Das ist eher unnötiger Datentransfer. Bei Bedarf dann die Zeit bei "U" abholen und an "X" nennen.

    Eine Möglichkeit zum Multimaster wäre die Spielart, dass der Controller "X" sich am Bus als Master anmeldet und von einem beliebig anderen, dem "U" Daten anfordert. Ende der Kommunikation von X. Nun meldet sich der "U" als Master und sendet dem "X" die gewünschten Daten. Abmelden von "U". Aber es gibt Varianten, das kommt drauf an was man für eine Umgebung hat, und welche der möglichen Varianten Sinn und Nutzen ergibt.

    Diese Erklärung ist nur beispielhaft, sie ist keinesfalls vollständig, ich bin in dem Thema mal eingestiegen, hatte mich aber keinesfalls wohl gefühlt.
    Ciao sagt der JoeamBerg

  2. #2
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    72
    Beiträge
    13.155
    Ich habe mal bei ihle gefragt, er sagte es täte ihm leid, dass der falsche link hinein gekommen ist. Er wollte auf den entsprechenden Abschnitt von RN Wissen verweisen.
    Das kann ja in der Tat schnell passieren.

    Manf

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2014
    Beiträge
    7
    Zitat Zitat von oberallgeier
    nicht nur im Bereich Elektronik und IT ist es mit den deutschsprachigen Informationen äusserst dünn. Ist für uns schade - aber es ist einfach so. Warum fragst Du? Unmittelbaren Bedarf scheinst Du ja nicht zu haben. Ich kenne die Fragestellung der Art "Wie geht dieses Dings und wozu ist es gut" eigentlich nur bei Lernthemen.
    Du hast recht. : ) Bedarf hab ich an den Multi-Master-Mode eigentlich nicht, doch würde ich gerne wissen, wieso es diesen gibt (dein Beispiel war äußerst hilfreich) und wie er genau funktioniert.
    Durch den Raspberry entstand das Interesse mich mit dem I²C zu beschäftigen um verschiedene Sensoren am selben BUS anzusteuern. Gelesen hab ich zwar überall, I²C = Multimasterfähig, aber das wars auch, befasst hat sich aber nie wirklich jemand detailliert dafür. Meine Wissbegierde verlangt aber auch solche Prinzipien zu verstehen. Und für mein Projekt würde ich gerne diesen Bereich der Dokumentation ebenfalls vollständig haben. Doch deine Antwort war -wie gesagt- sehr hilfreich, vielen Dank!


    An dieser Stelle möchte ich noch erwähnen, dass ihle diesen Link: http://www.rn-wissen.de/index.php/I%C2%B2C posten wollte. Den Link und eine Entschuldigung hab ich im Posteingang gefunden! Also alles ein Versehen und geklärt!


    Nachtrag: Vielen Dank Manf für deine Mühe!


    Gruß,
    cyan

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    73
    Beiträge
    11.077
    Hallo!

    Zitat Zitat von cyan Beitrag anzeigen
    Gelesen hab ich zwar überall, I²C = Multimasterfähig, aber das wars auch, befasst hat sich aber nie wirklich jemand detailliert dafür.
    Deine Aussage stimmt nur für deutche Sprache ! Übrigens, ich lese auch nix auf chinesisch !

    Beweis für Englishkennende : http://cds.linear.com/docs/en/lt-jou...02-Ziegler.pdf .
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2014
    Beiträge
    7
    Zitat Zitat von PICture
    Deine Aussage stimmt nur für deutche Sprache ! Übrigens, ich lese auch nix auf chinesisch !
    Du hast recht, ich meinte für die deutsche Sprache. Trotzdem danke für den Link!


    Eine deutschsprachiges PDF -zugesendet von ihle- [vielen Dank nochmals (: ] http://ln.iuk.fh-dortmund.de/~gebhar...s__Joachim.pdf


    Sollte ich noch nützliche deutschsprachige Seiten über diese Thematik finden, bearbeite ich diesen Beitrag.
    Hab soeben noch diesen Link entdeckt!
    http://modelleisenbahn-steuern.de/co...me-atmega8.htm (Multi-Master Systeme und Schiedsgericht)



    Gruß,
    Cyan

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo cyan,
    Zitat Zitat von cyan Beitrag anzeigen
    Du hast recht. : ) Bedarf hab ich an den Multi-Master-Mode eigentlich nicht, doch würde ich gerne wissen, wieso es diesen gibt (dein Beispiel war äußerst hilfreich) und wie er genau funktioniert.
    I²C wurde ursprünglich für den Bereich Radio/TV/HiFi entwickelt. Unter den ersten erhältlichen Bausteinen befanden Lautstärke/Klang-Steller, Quellenumschalter, EEPROMs und eine RTC.

    Der Multi-Master-Mode war ursprünglich nur für Testzwecke gedacht.

    Die Geräte bestanden meistens nur aus einem Master und den diversen Slaves.
    Um jetzt einen Fabrikationstest und/oder Abgleich durchführen zu können, gibt es nur zwei Wege.

    1. Der vorhanden µC braucht einen Service-Anschluss und zusätzlich Software um den I²C-Bus ansteuern zu können.
    Dies brauch aber zusätzliche freie Pins am µC ubnd zusätzlichen Programmspeicher für die Testroutinen. Hier gehts aber um Stückzahlen und jeder gesparte Cent an einen Gerät addiert sich schnell zu 10'000den € zusätzlichem Gewinn.

    2. Man erlaubt einen Multi-Master-Mode.
    So kann man den Prüfcomputer direkt am vorhanden I²C-Bus anschliessen und dieser kann dann direkt einzelne Bausteine ansteuern, auch in Modis, welche im normalen Betrieb gar nicht vorkommen. Zusätzlich spart man sich den Speicherplatz auf dem eingebauten µC für die Test-Modi.

    Die 100kHz Bustakt waren für damalige Verhältnisse auch nicht schlecht gewählt. Die billigen µC liefen erst mit ein paar MHz und hatten meistens noch keinen I²C-Controller auf dem Chip. Also wurde das Protokoll mit zwei I/O-Pins und reiner Software abgewickelt. Da kam man vor 20 Jahren nicht wirklich über die 100kHz hinaus. Das Ganze war aber doch schnell genug um einen Transfer ohne Interrupts und Timer abwickeln zu können. Die paar Bytes für ein Telegramm sind schnell gesendet.
    Und da der Takt keine minimale Frequenz einhalten muss, sind Interrupts in der Sendefunktion auch kein Problem.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    07.06.2014
    Beiträge
    7

    Hallo Peter(TOO)!

    Ich hab zwar das Beispiel mit den 100kHz Bustakt nicht ganz verstanden, aber Danke für die zwei hilfreichen Beispiele! (:


    Gruß,
    Cyan

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Cyan,
    Zitat Zitat von cyan Beitrag anzeigen
    Ich hab zwar das Beispiel mit den 100kHz Bustakt nicht ganz verstanden, aber Danke für die zwei hilfreichen Beispiele! (:
    Wenn du keinen i2C-Controller hast, musst du so etwas machen um ein einzelnes Bit auszugeben (SDA und SCL sind I/O Pins)

    Code:
    SDA = DataBit;
    SCL = 1;
    NOP
    SCL = 0;
    Wenn jetzt jeder Befehl 5 CPU-Takte zur Ausführung benötigt sind das 20 Takte.
    Da muss die CPU schon mit 2 MHz laufen um die 100kHz zu erreichen.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

Ähnliche Themen

  1. Verkaufe [V] IC's & Diverse Platinen & SPS & Thin Clients & Display 6.4" Touch
    Von Noy im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 14.01.2012, 01:43
  2. Kriege TWI mit ATmega-Master & ATtiny-Slave nicht zum La
    Von Comanche im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 20.12.2010, 19:08
  3. Master & Slave AVR
    Von Tonyy im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 30.09.2010, 20:14
  4. einfaches Bussystem? (1 Master, x Slaves, nur Master sendet)
    Von goof1980 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 31.05.2009, 06:52
  5. I²C Master und Slave, Problem bei Master Reset
    Von ACU im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 01.03.2007, 11:07

Berechtigungen

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

Labornetzteil AliExpress