mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik TWI-Slave (AVR ATTiny24) antwortet nicht, wenn Master zu langsam


Autor: Jürgen Kortt (theojk)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab da ein interessantes Problem.
Ich habe vor Kurzem angefangen mit TWI zu experimentieren.
Zuerst habe ich eine einfache 1 Master / 1 Slave Verbindung getestet. 
Mit einem ATMega16 als Master (im Master-Verzeichnis im zipfile) und 
einem ATMega32 als Slave (im Slave1-Verzeichnis im zipfile).
Dabei hab ich den TWI-Takt extrem verlangsamt, so dass ich auf den 
Diagnose-LEDs am Slave die Datenbytes und Stati beobachten konnte. (So 
etwa 2-3 Byte pro Sekunde)
Nun hab ich für meine Anwendung den ATTiny24 ausgesucht (nach IOs und 
Größe) und musste leider feststellen, das der kein HW-TWI bietet, 
sondern nur SPI. Nun hab ich bei Atmel die AN AVR312 runtergeladen und 
etwas angepasst (Slave2 im zipfile). Das funktioniert ganz gut, solange 
ich den Master mit 3.69MHz betreibe (max. Takt des STK500). Wenn ich den 
Takt aber runtersetze, z.b. auf 1.8MHz, dann meldet sich der Slave nicht 
mehr. Die LED geht noch an. D.h. er hat seine Adresse erhalten. Aber der 
Master meldet nach ca. 1s einen Timeout. und es werden keine Daten 
übertragen. Selbst nach mehrmaligen Reset von Master und Slave passiert 
nix. Nur die Adress-LED geht wieder an. Aber es kommen keine Daten. Wenn 
ich den Master wieder auf 3.69MHz beschleunige und den Slave resette, 
dann geht es wieder.
Ich kann das aber nicht so richtig verstehen, da doch eigentlich der 
Master den TWI-Takt vorgibt und der Slave auf ext. Taktquelle für 
SPI-Clock konfiguriert ist.

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.