mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik frage bzgl. SPI theorie


Autor: overseer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
guten abend,

ich denke ich habe spi einigermaßen verstanden, allerdings ist mir eine 
sache unklar.


und zwar beim thema CPOL und CPHA


[quote]
* At CPOL=0 the base value of the clock is zero

o For CPHA=0, data are read on clock's rising edge and data are changed 
on a falling edge.
o For CPHA=1, data are read on clock's falling edge and data are changed 
on a rising edge.


* At CPOL=1 the base value of the clock is one (inversion of CPOL=0)

o For CPHA=0, data are read on clock's falling edge and data are changed 
on a rising edge.
o For CPHA=1, data are read on clock's rising edge and data are changed 
on a falling edge.
[/quote]
quelle:http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

CPOL invertiert aus sicht des slaves die interpretation der polarität 
des clocks, richtig?

wenn dem so ist verstehe ich den sinn von cpha nicht :/ warum setzt man 
cpha nicht einfach als "0" fest und invertiert CPOL dann hätte man das 
gleiche ergebnis

kurz: bei meinem derzeitigen verständnis des protokolls ist da was 
doppelt gemoppelt :?

da da aber sicher nichts doppelt gemoppelt ist....was verstehe ich hier 
falsch?

Autor: Jörg G. (joergderxte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In einem anderen Datenblatt war es mal besser erklärt:
 - CPOL entscheidet über den Ruhepegel.
 - CPHA bestimmt, ob die Datenleitung auf der ersten ("leading") oder 
zweiten ("trailing") Flanke gesampelt wird.
 ... was zu den vier SPI-modi führt.

hth, Jörg

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ... was zu den vier SPI-modi führt.

Wobei Mode 0 und 3 am häufigsten vorkommen.
Mit Mode 0 kommt man meistens aus. CPOL=0 CPHA=0.
Damit würde ich erstmal anfangen, es sei denn der
Chip möchte definitiv was anderes.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> da da aber sicher nichts doppelt gemoppelt ist...
CPOL legt die Ruhepegel von SCLK fest.

CPHA legt fest, an welchen Flanken die Daten mit der entsprechenden 
Flanke übernommen werden:
0 = 1, 3, 5, 7, 9...te Flanke
1 = 2, 4, 6, 8, 10...te Flanke

Sieh dir mal das Bild dort ganz unten an:
http://www.lothar-miller.de/s9y/categories/17-SPI
Vieleicht hilft das weiter.

Autor: overseer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[quote]
http://www.lothar-miller.de/s9y/categories/17-SPI
[/quote]
was heißt überhaupt samplen und shiften??
ist das shiften == senden?
und das samplen == lesen?

zwischen version 0 und 4 seh ich irgendwie keinen unterschied, außer das 
diese data kreuze versetzt sind und das bei letzterem mit sample 
begonnen wird...
wenn samplen aber gleich lesen bedeutet wäre das reichlich 
sinnlos...darf man annehmen das er das bild einfach zu einem ungünstigen 
zeitpunkt gestartet hat?


[quote]
Damit würde ich erstmal anfangen, es sei denn der
Chip möchte definitiv was anderes.
[/quote]
gibt noch keinen...erstmal verstehen

Autor: overseer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine sache noch

>Autor:  holger
>Wobei Mode 0 und 3 am häufigsten vorkommen.

lässt sich begründen warum sind ausgerechnet diese beiden führend sind?

0 kann ich als vertreter der cpha0 gruppe verstehen
-> auch wenn ich nicht verstehe warum man erst ließt und dann das erste 
bit setzt? dann ließt man sich doch immer ins nächste bit rein...klar 
man kanns ausgleichen aber warum der aufwand?
was ist hier der tiefere grund?

warum 3? wäre 1 nicht sinnvoller? warum erstnoch den clock invertieren?



gruß



ps.
>...darf man annehmen das er das bild einfach zu einem ungünstigen
>zeitpunkt gestartet hat?

den hier igorieren

Autor: Ulf Rolf (roolf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
overseer schrieb:

> zwischen version 0 und 4 seh ich irgendwie keinen unterschied, außer das

Wenn der Empfänger ein IC ist, welches flankengesteuert arbeitet, dann 
sind jeweils zwei Modi äquivalent, weil der Ruhepegel egal ist.  Ist das 
IC aber pegelgesteuert, dann ist der Ruhepegel offensichtlich wichtig.

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.