SPI - Geschwindigkeit

Gast #227339
Hallo!

Habe gestern mal zusammen mit einem Freund die Datenübertragung per SPI
zwischen zwei ATmega16 ausprobiert. Dazu haben wir zwei STK500
zusammengeschalten mit kurzen Leitungen dazwischen (10cm, ungeschirmt,
verdrillt). Beide Controller waren auf 3,69MHz eingestellt. Die
Übertragenen Zeichen haben wir auf ein Display ausgegeben. Bei
Einstellung der Master-Clock-Rate auf  fosc/16 klappte die Übertragung
nicht einwandfrei. Es wurden immer wieder Zeichen verschluckt. Erst bei
einem Teiler von  fosc/64 klappte die Übertragung einwandfrei.
Ich hab jetzt schon länger im www gesucht, aber keine Werte gefunden,
wie hoch die maximale Bitrate ungefähr sein darf. Kann mir dazu jemand
Erfahrungswerte geben?? In unserem Fall wäre sie ja nur 3,69MHz/64,
macht ungefähr 57 Kbit/s. Oder hab ich nen Denkfehler??

Gruß

fizlaus
Was ist denn das für ein Display ?

Warscheinlich ist es zu lahm und Du benutzt keinen Empfangspuffer für
das SPI.

Du must einen Empfangspuffer für die maximale Bytezahl anlegen, der
dann im SPI-Interrupt vollgepumpt wird.


Und SPI-Slave-Transmitter geht ganz ganz schlecht, da kein Sendepuffer,
d.h. Datenverluste sind quasi vorprogrammiert, wenn nicht elendlange
Wartezeiten zwischen den Bytes eingelegt werden oder ein Handshake
gemacht wird.


I2C ist da wesentlich sicherer, da der Slave den Master einfach warten
lassen kann, bis er fertig ist (SCL-Stretching).


Peter
Gast
Hi

Normalerweise kann der SPI-Takt f/2 beim Master und f/4 beim Slave
betragen. Ich denke deine Datenverluste liegen nicht bei der
Übertragung sondern in der Weiterverarbeitung der empfangenen Daten.
ansonsten ,siehe oben.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.