www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verständnissfrage SPI


Autor: Tungsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin derzeit daran mich mit SPI zu beschäftigen. Allerdings habe ich 
noch nicht genau herausgefunden wie ich das am besten anstelle wenn ich 
32bit über die SPI Schnittstelle senden will.

Vom Prinzip:

1. Den Empfänger über eine leitung anwählen (der wird bereit fürs 
empfangen)

2. Daten der Reihe nach mit dem Schiebetakt rüber schieben. So wie es im 
Datenblattcode von Atmel beschrieben wird.

3. Die Auswahlleitung wieder umschalten.

So das wäre das grobe bei 8 bit.

Wenn ich jetzt aber 32 bit übertragen muss habe ich eine Variable mit 32 
bit länge. Muss ich die jetzt auf vier mal 8 bit aufteilen und separat 
übertragen. Gibt es da was zu beachten oder ist die SPI Schnittstelle da 
eher unempfindlich und großzügig?

Wie würdet ihr das machen?

Freue mich auf eure Antworten
Danke

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SPI sendet immer 8 Bit pro Frame. Also musst Du die 32-Bit-Variable in 4 
Frames nacheinander verschicken. Das hat nichts mit einer wie auch immer 
gearteten "Großzügigkeit" der SPI-Schnittstelle zu tun...

Autor: Thomas Müller (thomas1123) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
deine 32 bit in 8 bit blöcke teilen und dann nacheinander (in der 
richtigen reihenfolge) senden ohne das cs wieder auf 1 gezogen wird cs 
darf erst wieder 1 werden wenn die 32 bit über den bus geschoben wurden.

dein slave wird aller wahrscheilicheit den befehl abbrechen wenn du 
zwischen den einzelnen 8 bit cs auf high ziehst

Autor: Tungsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey danke für die schnellen Antworten!


Dann ist es wirkklich so wie ich es mir gedacht habe.

Also die 32bit in 4 blöcke aufteilen und die dann schön der reihe nach 
übertragen.

Ich war mir nicht ganz sicher wie es mit dem Timing ist. Ob es ein 
Problem ist wenn zwischen den 8 bit eine Pause ist.


Danke für die Hilfe

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Tungsten (Gast)

>Ich war mir nicht ganz sicher wie es mit dem Timing ist. Ob es ein
>Problem ist wenn zwischen den 8 bit eine Pause ist.

Nein, denn SPI ist synchron zum Takt.

MFG
Falk

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.