- 3D-Druck Einstieg und Tipps         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: I²C :: Grundlegende Fragen

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    33
    Beiträge
    995

    I²C :: Grundlegende Fragen

    Anzeige

    Praxistest und DIY Projekte
    Hi,

    Ich will mal generrell wissen, wie ich das mache, wenn ich mehr als 1 Gerät am I²C Bus anschließ. Es geht nicht um den schaltplan (ich denke alles wird parallel angschlossen), sondern um das Ansprechen der geräte. So viel ich mitbekommen habe, hat jedes gerät eine adresse und dann kann ich es dadurch ansprechen, bits schicken und empfangen.

    Brauch ich da jetzt noch zwingend die INT leitungen, oder würde das ganze auch vollständig ohne ihnen funktionieren?

    generrell sind (geplant) alle Geräte AVRs, welche in C programmiert werden.

    Danke im Voraus,
    Thomas

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    I2C geht an sich ohne INT.
    Das wird nur manchmal verwendet, damit ein Slave den Master aufmerksam machen kann, daß Daten zu holen wären.

    lei, lei *g*
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    www.sprut.de ist eine sehr gute erklärung. - und natürlich auch hier im RN-Wissen!

    Im wesentlichen gibt es 2 Leitungen - SDA & SCL und einen Master.
    Alle Geräte haben außerdem eine unterschiedliche Adresse. Diese Adresse ist zur hälfte vorgegeben (Geräteabhängig) und die andere Hälfte ist Userdef.

    Master->Slave communication:

    Master macht eine "Startbedingung" (siege Links)
    Master klopft die 8 Bit der Adresse rein
    Master wartet auf ACC
    Master klopft wieder 8 Bit rein...
    ...
    ..
    ...

    Dazwischen kann auch der Slave antworten auch ohne das der Master eine Stopbedingung setzen muss. hängt halt von den befehlen ab, die er bekommt.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.03.2005
    Ort
    Villach
    Alter
    33
    Beiträge
    995
    Hi Gärtner,
    generrell soll dass ja ja zu meinem Wettbewerbsroboter nächstes jahr dazugehören. Und da hab ich etwas angst, dass die Signale zu lange brauchen um von Board zu Board zu wandern. Somit werde ich INT in meiner weiße verwenden.

    Dieses Board bekommt normalerweiße immer nur Daten geschickt. Aber andere werden dann oft auch nur daten senden müssen.

    Wie hoch darf die I²C Übertragungsrate max sein, wenn mein uC auf 8 MHz liegt? oder auch auf 16MHz? [edit]hab ich grad rausgefunden[/edit]

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    29.01.2006
    Ort
    Beratzhausen
    Alter
    61
    Beiträge
    7

    I²C :: Grundlegende Fragen

    Hi,

    wie sieht das eigendlich mit der Zuweisung von Master und Slave beim I2C-Bus aus. Zum Beispiel zwei AVR's über I2C verbinden.

    Kann man auch mehrere Master an einen I2C-Bus betreiben?

    Gruß Sigi

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Ja, I2C ist multimaster-fähig, und das wird vom TWI der AVRs auch unterstützt. Arbitration und alles was mach braucht, ist in der TWI-Hardware drin.

    Wenn ein µC also was zu sagen hat (z.B. neue Messwerte, Ereignis, Weltuntergang, ...) wird er zum Master und unterrichtet einen anderen Busteilnehmer davon oder sogar alle durch einen Rundruf (global Call).

    Mehrere Master kommen sich nicht in die Quere, das wird durchI2C-Protokoll geregelt.
    Ne Multimaster-Kommunikation ist natürlich etwas mehr Arbeit zu proggen, aber es ist ne feine Sache und die AVR-Manuals beschreiben prima wie es geht und auch I2C selbst ist vorbildlich erklärt.
    Disclaimer: none. Sue me.

  7. #7
    es gibt unterschiedliche Frequenzen, 400khz ist max. aber das hängt auch von den geräten ab!!

  8. #8
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    AVR als TWI-Master wird für SCL ein maximaler Takt von

    F_CPU / 96 angegeben, bei F_CPU=16MHz sind das ca. 166kHz. Bei neurern AVRs geht's vielleicht höher. Schau dazu doch mal ins Datenblatt.
    Disclaimer: none. Sue me.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.02.2005
    Ort
    Erfurt
    Alter
    59
    Beiträge
    134
    Schau doch mal hier, vielleicht kannst Du Dir ein paar Anregungen holen:

    http://www.mikrocontroller.net/forum/read-4-246060.html

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    generrell sind (geplant) alle Geräte AVRs, welche in C programmiert werden. ...

    der keil-c-compiler ist hervorragend für wettbewerbe.
    win-avr-c ist in nicht klar durchschaubar wenn man die ganzen compilereistellungen für die optimierung nicht beherrschen tut.
    hat schon manchen wettbewerbskandidaten vom pferd geschnmissen.

    den keil-compiler gibt es schon ab 400 euro.

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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

LiFePO4 Speicher Test