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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.