mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI Schnittstelle an dsPIC30F5011


Autor: Florian Koch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich versuche seit 2 Wochen verzweifelt einen MCP4822 DA Wandler von 
Microchip
zum wandeln zu bekommen. Also ich hab einen DSPIC30F5011 und möchte über 
die SPI Schnittstelle einen MCP4822 ansteuern aber ich bekomme es nicht 
hin. Der Wandler hat zusätlich zu den standart SPI eingängen noch einen 
LDAC und Chipselect Eingang. Aus dem Datenblatt für den MCP4822 habe ich 
entnommen, dass um ein Datenwort zu übernhemen der Chipselelect nach dem 
16 Takt auf high gesetzt werden muss und der LDAC auf Low. Aus Dem 
datenblatt für den dsPIC habe ich,dass wenn der dsPIC die 16 bit 
gesendet hat er im IFS0 Register das SPI1IF Bit setzt. Hab dann in C ne 
Zeile geschrieben alla
if(IFS0bits.SPI1IF==1)
{
setze Cipselect Port auf 1;
setze LDAC Port auf 0;
setze SPI1IF auf 0;
}
vorher habe ich natürlich den Chipselect und den LDAC genau invert 
initialsiert.
OK mit dem Oszi mess ich auch den Takt das Datenwort und nach dem 16 
Takt wird der Chipselect kurz auf 1 und der LDAC kurz auf 0 gesetzt. 
Aber am Analogausgang mess ich nix.
Wäre echt super wenn man mir hier weiterhelfen könnte
MFG
Florian Koch

Autor: Franko Phil (sgssn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

beim Durchlesen des Datenblattes finde ich folgende "Fehlerursachen"
Pin 6, Shutdown
Write Command Register Bit 12 "Shut down"

Wenn du mit dem Oszi siehst, dass die Signale kommen, kanns also nur 
sowas sein.
Ansonsten kann man ja im dsPOIC auch einiges einstellen, was SPI 
anbelangt: Takt, Ruhezustand des Taktes, Verzögerung...


Gerhard

Autor: Franko Phil (sgssn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mir an dem Post bei www.fernando-heitor.de noch aufgefallen ist: Es 
ist unlogisch, zuerst die SPI-Daten-Übertragung zu starten und danach 
den CS zu aktivieren. Es ist auf jedn fall wichtig, zuerst den CS zu 
aktivieren und danach das Daten-Zeichen ins SPI-Register zu schreiben.

gerhard

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.