mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI Clockrate beim Slave, mega88


Autor: Serieller Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das der AVRmega als SPI-Slave bei hohen Taktfrequenzen nicht sooo 
optimal ist, wurde hier schon beschrieben(Jörg Wunsch?).

In meiner Anwendung habe ich einen mega88 als Släve mit 460,8kHz Clock.

Da aber der Master den Clock vorgibt, frag ich mich, wie eine sichere 
Kommunikation zustande kommen kann, zumal der Masterclock bei einem 
Projekt 100kHz, und beim anderen Projekt 400kHz sein kann.

Oder denke ich zu kompliziert?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Offensichtlich, denn da der Slave den Takt vom Master geliefert bekommt 
kann der exakte Wert ihm egal sein. Kritisch ist nur die Reaktionszeit 
auf "Byte verfügbar", mangels Puffer, die durchaus taktabhängig ist.

Autor: Serieller Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber warum muss ich den beim Slave überhaupt einen Clock einstellen?

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Musst du doch garnicht.

Autor: Serieller Freund (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Musst du doch garnicht.

Hm, ich hab mit dem Codevision-Wizard das Grundgerüst erstellt. Bei der 
Auswahl als Slave hab ich auch eine Clock ausgewählt. Dann hab ich mir 
zuviel Gedanken gemacht.

So wie du es sagtst ist es auch verständlicher.

Besten Dank!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Serieller Freund schrieb:
> In meiner Anwendung habe ich einen mega88 als Släve mit 460,8kHz Clock.

Wenn der Master keine langen Pausen zwischen den Bytes macht und der 
Slave auch senden soll, hast Du genau 1/2 Takt Zeit, neue Daten ins SPDR 
zu schreiben.

Bei 20MHz am ATmega88 sind das 20MHz : 460kHz : 2 = 21 Zyklen.
Ich will nicht sagen, daß das völlig unmöglich ist, aber daran haben 
sich schon einige die Zähne ausgebissen.

Ein MC mit gepuffertem SPI scheint mir da deutlich einfacher, z.B. 
AT89LP4052.


Peter

Autor: Serieller Freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die CPU-Clock ist 7,3728 MHz. Demnach komme ich auf 8 Zyklen für das 
Senden eines Bytes vom Slave zum Master, was sehr wenig ist.

Leider bekomme ich erst nächste Woche zum testen ein Board mit nem 
SPI-Master. Ich werde evtl. diesen Thread dann nochmal ausgraben.


Erstmal vielen Dank!

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.