mikrocontroller.net

Forum: Compiler & IDEs MSP430 als Slave im I2C-Bus möglich


Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo erstmal!

Ich möchte einen MSP430x11x2 oder MSP430x12x2 in einem MultiMaster
I2C-Bus-System betreiben. Allerdings weiß ich nicht ob der µC als Slave
schnell genug antworten kann.
Hat jemand Erfahrung und kann mir weiterhelfen? Welchen Mode kann ich
auf dem I2C-Bus fahren, auch High-Speed?
Immerhin muß ich auf die halbe Takt-Periode als Slave antworten!!!

Gruß m@is

auch unter matis-ät-gmx.ch erreichbar

Autor: Joerg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum MSP430 kann ich hier nichts sagen, aber ein I²C Slave darf doch
den Takt nötigenfalls verlängern, damit solltest Du das doch allemal
hinbekommen (zur Not mit externer Hardware, die die Verlängerung so
lange aufrecht erhält, bis der Controller antworten konnte).

Autor: Mathias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Joerg:

du hast recht, der Slave kann den Takt verlängern indem er SCL=LOW
setzt. Darum geht es mir aber nicht.
Der Master, der meinen MSP anspricht erwartet ja eine Antwort innerhalb
von einem Taktpuls. Dh. ich muß innerhalb von einem halben Puls
antworten wegen der Laufzeit, damit der Master keine zweite
START-Bedingung schickt.
Bei den MSP430x11x2 und x12x2 ist der I2C-Bus keine Hardwarelösung.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst als Slave immer eine Hardware, die nach jedem 1->0 der
SCL-Leitung diese solange auf 0 hält, bis Du in der Lage bist das Bit
auf SDA zu lesen bzw. zu schreiben.

Und wenn Du diese Hardware nicht im Chip hast, dann must Du das eben
extern machen.

Bei 100kBaud das voll in Software zu machen kann höchstens ein DS89C420
(33MIPS) oder C8051F123 (100MIPS).
Die schaffen die 4µs maximale Interruptreaktionszeit sogar wenn noch
andere Interrupts und ein Main zu bedienen sind.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.