SPI BUS programmieren ( PIC - Controller )

Gast #4053958
Lesenswert?

Hallo Community,

Folgendes Problem tut sich mir momentan auf:

Ich soll eine SPI-Bus Übertragung zwischen einem DA-Wandler und einem 
Microkontroller herstellen bzw. programmieren.

Mein Microkontroller ist ein PIC24HJ128. Der DA-Wandler ist ein Chip mit 
allen notwendigen Anschlüssen.

Auf vielen Seiten wird der SPI-BUS als einfach programmierbar 
dargestellt (Kann gut sein... bin jedoch Anfänger ;) ).


Jetzt die Frage: Wie gehe ich am besten vor bei der SPI - BUS 
Programmierung ?

Könnt ihr mir bestimmte Internetseiten empfehlen?

Gruß Patrick
Gast #4053998
Lesenswert?

> Jetzt die Frage: Wie gehe ich am besten vor bei der SPI - BUS
> Programmierung ?

Sei ein Mann und lies das Datenblatt des Micrcontroller. Eventuell hat 
der Hersteller auch noch eine Applikation genau zu deinem Problem 
geschrieben. Die liesst du dann auch.

Schreib nicht bei anderen Leute ab, das haelt dich nur bloed.

Eventuell kann es sein das du noch irgendwo eine Grundlagenseite über 
SPI lesen solltest welche dir Mode0 bis 3 mal erklaert.

Danach programmierst du SPI einmal ein Software. Und auch das schreibst 
du bei niemand anderem ab weil du nur so verstehst was du da machst. Und 
dann implementierst du es mit der Hardware im Controller.

Olaf
Gast #4054217
Lesenswert?

Danke für die vielen Antworten :)

ein paar Fragen habe ich auch noch :P


1) Bei meinem DA - Wandler ( MCP4822 ) gibt es eine LDAC-Leitung. Ich 
bin mir nicht sicher was diese macht, bzw. ob ich diese beachten muss 
beim programmieren.

2) SPI Mode 0,0 -1,1 gibt an welchen CKE bzw CPK Wert man benutzen will.

http://www.engscope.com/wp-content/uploads/2010/07/SPI_pic24_conf.png

Die üblichen SPI-Modes sind 0,0 und 1,1. Ich frage mich allerdings was 
dies heißt, ich fand heraus dass es etwas damit zu tun hat ob das erste 
Bit dann übertragen wird wenn CS eine Fallende Flanke hat und die 
folgenden Bits auf eine fallende Flanke von SCK reagieren.

Stimmt das so oder bin ich da, naja auf dem "Holzweg"?


Gruß Patrick
Angehängte Dateien:
#4054301
Lesenswert?

Patrick schrieb:
> 1) Bei meinem DA - Wandler ( MCP4822 ) gibt es eine LDAC-Leitung. Ich
> bin mir nicht sicher was diese macht, bzw. ob ich diese beachten muss
> beim programmieren.
>

Ja musst du.
Erst nach einer High-Low Flanke an LDAC werden die Daten vom 
Eingangsregister in den DAC übernommen. Dadurch ändert sich die 
Ausgangsspannung beider DAC synchron.
Gast #4054435
Lesenswert?

Patrick schrieb:
> Jetzt die Frage: Wie gehe ich am besten vor bei der SPI - BUS
> Programmierung ?

Welchen Compiler benutzt du?

Jonas Wühr schrieb:
> Nimm ATMEL Atmega her.

Mit diesen Markenfetischisten aka Fanboyz musst du hier leider rechnen.

Wenn du englisch kannst bist du mit PIC in anderen Foren (z.B. bei 
Microchip) besser aufgehoben.


Jetzt Nicht schrieb:
> Da gibt es nur eins. Das original Datenblatt von hinten bis vorne. Jedes
> Wort lesen. Und ja. Vom Controller und vom DAC.

Lass dich nicht kirre machen, ein Datenblatt ist kein Tutorial. 
Ausführlich sind die Chips bei Microchip in den "Family Reference 
Manuals" beschrieben.

Für die SPI Kommunikation reicht es das Kapitel im Datenblatt zu 
studieren. Wenn du den Inhalt nicht verstehst fehlen Grundlagen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren