AVR TWI / 1 Master->mehrere Slaves

Gast #1686572
Lesenswert?
• ▲
▼
Mahlzeit...
Ich sitze hier seit zwei Tagen vor einem ungewöhnlichem Problem.

Ich möchte eine TWI Kommunikation mit einem Master zu mehreren Slaves 
aufbauen. Als Master dient ein ATMega328P als Slaves zurzeit 3 ATMega168 
und ein ATMega644P. Nun zu meinem Problem. Wenn ich alle 4 Slaves im 
Einsatz habe hängt sich der TWI Bus auf. Das Problem konnte ich genauer 
einkreisen. Und zwar, ich schicke ein Datenbyte zu den Slaves ob per 
General Call oder einzel Adressierung , wenn das Datenbyte einen Wert 
von >127 hat, also das MSB high ist, geht alles Problemlos. Jedoch 
darunter (<=127) hängt sich der Bus auf. Jetzt kommt das kuriose wenn 
ich den ATMega644P alleine benutze gehts ,ebenso wenn ich die 3!! 
ATMega168 benutze läuft es stundenlang perfekt wie es sein soll. Nur im 
Zusammenspiel aller 4 Slaves tritt dieses Problem auf. Alle Slaves haben 
eine Identische Software, die sich nur von der Adresse 
unterscheidet(1-4).

Als TWI Library benutze ich die originale von Atmel und der Master hängt 
bei der WHILE-Schleife der "TWI_Start_Transceiver_With_Data" Funktion.

Ist so ein Problem bekannt oder ein Einzelfall ?

MFG Hellsing
Gast #1686708
Lesenswert?
• ▲
▼
Problem gefunden dank Analyzer. Die TWI Frequenz war wohl einfach zu 
schnell. Der Standard Wert beim ATMEL TWI ist ein Teiler von 12 was bei 
einem Takt von 8MHz eine TWI Frequenz von 200kHz und bei 20MHz eine 
Frequenz von 500kHz entspricht. Habe es nun auf eine TWI Frequenz von 
100kHz eingestellt und es läuft prima.

BB Hellsing

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.