Forum: Mikrocontroller und Digitale Elektronik SPI - Datenblatt, Aufbau & Co.


von #NoHatePls (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen! Ich verzweifele gerade ein bisschen, weil ich totaler 
Anfänger auf dem Gebiet Mikrocontroller & Co. bin und einfach nichts 
kapiere...Ich möchte per SPI mit einem Transimpendenzwandler (siehe 
Anhang (Interface)) vom SainsmartMega 2560r3 kommunizieren. Ich werde 
aus dem Ding aber nicht so ganz schlau, lediglich glaube ich zu wissen, 
dass ich "SPI_Mode3" benutzen muss. Mein Problem ist, dass ich iwie kein 
fertiges, kommentiertes SPI-Programm finde um so ein Ding zu steuern und 
ich von der Struktur von SPI zwar in der Theorie alles verstanden habe, 
den Aufbau eines Programmes nicht kenne. Wäre cool, wenn ihr mir zeigen 
könntet, wie ihr damit angefangen habt oder mir das Datenblatt erklären 
könntet, damit ich es, als totaler Amateur, auch verstehen kann ;)
Lg #NoHatePls

von Pandur S. (jetztnicht)


Lesenswert?

Moeglicherweise ist es einfacher das SPI von Hand zu machen.
Also die Pins per einzelnen I/O-Befehl anzusteuern. Also

SPI_CLK : output
SPI_DO : output
SPI_DI : input
SPI_CS : output

und dann

SPI_CLK = 0;
SPI_CLK = 1;
..

von Cyblord -. (cyblord)


Lesenswert?

Nicht verwechseln.

Die 1. Abbildung (Fig. 5) in deinem Bild oben, beschreibt SPI als 
allgemeinen Kommunikationsweg.

Alles weitere, sind Befehle und Daten welche dein Baustein über SPI 
austauscht. Diese sind für jeden Baustein verschieden und nicht etwa 
irgendwie genormt.
Die Tabelle sagt dir, wie du mit deinem Baustein kommunizierst, also was 
du ihm per SPI schicken musst und was er darauf antwortet.


Die Frage wäre jetzt, was du genau nicht verstehst. Oben steht ja auch 
Text dazu. natürlich musst du erst mal SPI verstanden haben. Aber das 
ist ja auch irgendwie ziemlich einfach und dank Arduino und dessen DOKU 
kannst du SPI nutzen ohne es verstanden zu haben.

Also stelle doch mal eine Frage. Und sie sollte nicht "wo bekomme ich 
fertigen Code her" heißen. Denn ein Programm exakt für deinen Baustein 
gibt es halt nicht immer. Aber für SPI mit Arduino sollte Google einiges 
ausspucken.

: Bearbeitet durch User
von #NoHatePls (Gast)


Lesenswert?

Ja...ich verstehe niht, was mir diese Tabellen sagen sollen? Was für 
Funktionen kann ich da raus lesen?

von Cyblord -. (cyblord)


Lesenswert?

#NoHatePls schrieb:
> Ja...ich verstehe niht, was mir diese Tabellen sagen sollen? Was für
> Funktionen kann ich da raus lesen?

Jeder Register hat eine Adresse.
Ein Halfbyte wählt die Adresse aus.
Das 2. Halfbyte enthält die Daten.
Das steht oben so im Text erklärt!!!!!!

Die entsprechenden Bits in den Daten stellen was ein:

z.B. MUXTYPE Bit 0:
ist es 0 dann gilt die Einstellung: "Multiplexer Output with 
Sample&Hold",
ist es 1 dann gilt: "... WITHOUT Sample&Hold".

Bit 1 stellt die Voltage Referenz ein.


usw.

klaro?

: Bearbeitet durch User
von Martin L. (martin_l795)


Lesenswert?

Noch etwas anders formuliert: Du überträgst ein Byte per SPI, 4 Bit (ein 
Half-Byte) geben die Adresse (das Register) an, das Du ansprechen 
willst, also z.B. 1000 für RDSTROUT, die anderen 4 Bit sind der Wert, 
den Du da reinschreibst.

von #NoHatePls (Gast)


Lesenswert?

Ok danke, ihr seid die besten ;)
Lg #NoHatePls

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.