Forum: Mikrocontroller und Digitale Elektronik 14-bit DAC über SPi mit ATmega16 ansteuern


von Franz L. (limtec)


Angehängte Dateien:

Lesenswert?

Hallo,

will einen 14-bit DAC von AnalogDevices 
ansteuern:http://www.analog.com/en/digital-to-analog-converters/da-converters/ad5732r/products/product.html

Da ich sehr unerfahren bin und das mein erstes Projekt ist, habe ich 
keine Ahnung wie das funktioniert und programmiert gehört.
Die Ausgänge sollten im Spannungsbereich von -10V bis 10V liegen und 
seperat angesteuert werden können (da ich über UART schon LED`s zum 
ansteuern geschafft habe) und zwar für VoutA oder VoutB (siehe Anhang 
Schaltplan).
Der Code sollte in Assembler geschrieben sein, bin über jede Hilfe 
dankbar,

mfG franz

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Franz Limberger schrieb:
> Der Code sollte in Assembler geschrieben sein

Warum das?  Ist das eine Hausaufgabe?

Die Bedienung der SPI-Schnittstelle ist reichlich simpel und im
Datenblatt sowohl mit C- als auch Assembler-Codeschnipseln
dokumentiert.  Schreib' uns, was dir daran genau noch
unverständlich ist, dann kann dir auch jemand helfen.

von Franz L. (limtec)


Lesenswert?

hab in Assembler schon angefangen und will eigentlich auch dabei 
bleiben.
Den Code in Assembler aus dem Datenblatt des ATmega16 hab ich auch, aber 
ich verstehe nicht, wie ich den DAC ansteuern soll. Ein Beispiel-Code, 
sodass man kontrollieren kann, ob der DAC funktioniert wäre schon für 
mich sehr hilfreich.

von Purzel H. (hacky)


Lesenswert?

Wie man den DAC ansteuern muss steht doch im datenblatt. Was ist daran 
unklar? Der DAC wird schon funtionieren. Was hast denn bisher schon an 
den DAC geschickt und weshalb?

von Franz L. (limtec)


Lesenswert?

ich bin nicht so fit im programmieren,deshalb weiß ich gar nicht,was ich 
zum DA senden soll.
Damit meine ich die Reihenfolge mit allen benötigten Eingänge und 
Register um zu einer Ausgabe zu kommen,wie sieht das im Assembler-Code 
aus?
Bis jetzt hab ich die LED`s hinbekommen und den Code vom Datenblatt für 
SPI(siehe Anhang).
mfG und danke für deine Antwort

von Franz L. (limtec)


Angehängte Dateien:

Lesenswert?

anbei der Code

von Michael (Gast)


Lesenswert?

Franz L. schrieb:
> will einen 14-bit DAC von AnalogDevices

Meinst du "ich soll"?

Bevor du die Schaltung in Betrieb nimmst, solltest du alle offenen 
Eingänge auf definierte Pegel legen. Sonst könnte dir der betroffene 
Baustein das übel nehmen.
Die Daten zum DAC kannst du einfach, wie im Timing-Diagramm Fig.2 aus 
dem Datenblatt gezeigt, seriell rüberschieben. Nix besonderes, wenn der 
Übertragungsmode stimmt. Falls du dazu Fragen hast, solltest du dich 
nochmal mit den Grundlagen vom SPI vertraut machen.
http://www.mikrocontroller.net/articles/Serial_Peripheral_Interface

/LDAC könntest du, falls du keine besonderen Ansprüche an das Timing 
hast, auch auf festen Pegel legen, da du ja nur einen DACs betreibst.

Gruß Michael

von Purzel H. (hacky)


Lesenswert?

Also gemaess datenblatt Seite 7 muss man erst das Sync hoch machen, dann 
tief, dann die 24 bit mit dem hoechsten zuerst reinschieben , dann das 
Sync wieder hoch.
Das Format der Meldungen ist auf seite 23-28 beschrieben. Aber erst muss 
das SPI konfiguriert werden. Und zwar als MSB First.

von Willi W. (Gast)


Lesenswert?

Franz L. schrieb:
> anbei der Code

Wo?

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.