-
        

Ergebnis 1 bis 3 von 3

Thema: TWI Repeated Start

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    10.02.2005
    Ort
    eastside, L.E.
    Alter
    46
    Beiträge
    104

    TWI Repeated Start

    Anzeige

    Nachdem ich nun schon paar Tage übe aber nicht wirklich weiterkomme muß ich Euch mal um Hilfe bitten. Hab 3 AVR's, die über TWI kommunizieren. Bis jetzt ist einer Master und handelt zyklisch den Datenaustausch, jeweils nur als Reciver oder Sender in einem Zyklus. Nun möchte ich das gerne umstellen, das sich jeder AVR seine Daten holt, so wie er sie braucht. Also er macht sich zum Master Transmitter, adressiert den gewünschten Slave, schickt ein Byte mit der Information, welche Daten zurückgeschickt werden sollen, macht einen Repeated Start, adressiert den selben Slave wieder als Master Reciver. An der Stelle gehen mir nun die Infos auf, bzw. hab ich einige Varianten probiert, aber an diesem Punkt ging die Kommunikation immer verloren.

    Ich hab mal versucht die Zustände und notwendigen Aktionen schematisch darzustellen, (entspricht dem Idealzustand, das da noch weitere Zustände / Fehlerbehandlungen notwendig sind ist mir schon klar) Die Punkte die mir noch nicht so klar sind hab ich mal rot gemacht.

    Ist vielleicht einfacher, Fehler im Code zu finden, wenn man weiß, was man programmieren muß

    Würde mich über ein paar Tips freuen.

    freundliche Grüße, Rajko
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    06.02.2005
    Ort
    Hamburg
    Alter
    31
    Beiträge
    4.255
    Prinzipiell läuft das Ganze so ab: Im Rhezustand sind alle drei AVRS slaves. Wenn jetzt einer von ihnen (sagen wir mal A) von einem anderen AVR (B) lesen will, macht sich A zum Master, daressiert B als als Slave, und sendet zu B, welche Daten er haben will. Dann schaltet A sich zum Slave. B macht sich nun zum Master und überträgt die gewünschten Daten zu A. Wenn die Übertragung beendet ist, schalten wieder alle auf slave.
    Und wenn zwei gleichzeitig Master werden wollen, kommt die Arbitrierung ins Spiel. Einer schafft es, den Bus zu übernehmen, der andere hat dann irgendwas mit "arbitration lost" im TWSR.

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Schau mal dort, das ist zwar für Bascom, aber das TWI-Gefummel ist in einer Library, also eh' in Assembler.

    http://www.roboternetz.de/wissen/ind...is_Multimaster

    Vielleicht kannst du dir was abspicken
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

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