OK, einen DAC bei Farnell und Co. raussuchen kann ich prinzipiell
selber, allerdings ist es in dem Fall etwas komplizierter und geht über
das, was die Suchfilter der entsprechenden Seiten hergeben, hinaus.
Deswegen suche ich hier mal nach Anregungen, vielleicht weiß ja jemand
was.
Auf Grund bestehender Vorgaben kann ich pro Zeiteinheit maximal 20 Bit
seriell übertragen. Darin sind derzeit 16 Bit Nutzlast enthalten, welche
auf besagten DAC geführt werden sollen.
Jetzt habe ich bisher zwei Möglichkeiten gefunden:
Den AD5541A, welcher exakt 16 Datenbits erwartet, deswegen problemlos zu
den vorgegebenen max. 20 Bit passt aber mit ca 15 Euro pro Stück nicht
eben billig ist.
Beliebige andere DACs, welche aber immer 24 Bit übertragen haben wollen,
wovon die verbleibenden 8 Bit aber ungenutzt sind oder mit irgendwelchen
Steuerbits belegt sind, welche ich nicht wirklich brauche.
Deswegen: gibt es preiswertere DACs, welche zu meinen maximal 20 Bit
Übertragungsmöglichkeit passen?
Oder: kennt jemand einen DAC mit einem ähnlichen Preis aber mehr als 16
Bit Auflösung und der 20 Bit Beschränkung?
Das Ganze ist NICHT für Audio gedacht, die Samplefrequenz sollte in dem
Fall bei mindestens 100 kHz liegen.
Ich bin für jeden Hinweis dankbar :-)
Finnsnes schrieb:> welche aber immer 24 Bit übertragen haben wollen,> wovon die verbleibenden 8 Bit aber ungenutzt sind
Dann existiert doch überhaupt kein Problem - die überflüssigen Bits
setzt du eben zu Null, du musst sie doch nicht mitübertragen.
Georg
Vielleicht kannst du auch einen MC noch da zwischen schalten der deine
max 20 Bit empfängt und die fehlenden Bits ergänzt und an den DAC weiter
schickt.
Kevin K. schrieb:> enn er per SPI überträgt, muss er über die Taktleitung dennoch den> Clock rausjagen.
Das schreibt er aber nicht:
Finnsnes schrieb:> Auf Grund bestehender Vorgaben kann ich pro Zeiteinheit maximal 20 Bit> seriell übertragen.
Ich verstehe das so, dass er über irgendeine serielle Schnittstelle mit
unbekanntem, aber beschränktem Protokoll 20 Bit überträgt.
Karl schrieb:> Vielleicht kannst du auch einen MC noch da zwischen schalten der deine> max 20 Bit empfängt
So dachte ich das auch. Aber natürlich weiss ich auch nix genaues.
Finnsnes schrieb:> die Samplefrequenz sollte in dem> Fall bei mindestens 100 kHz liegen.
Das ist dann allerdings anspruchsvoll: Zeit für 1 Bit = 500 ns. Ich
würde dann eher einen parallelen DAC nehmen.
Georg
Ansich muss es dann ja ein relativ simpler DAC sein, da dann wenig/keine
Steuerbits nötig sind. Ich hatte mal ein MAX541 benutzt, kostet in der
genausten A-Version aber auch 18,50€. In Fig. 3a sieht man, dass der
Ausgang direkt beim High gehen der /CS Leitung gesetzt wird. Der DAC hat
halt sonst nichts. Du gibts ihm 16 bit, er setzt den Ausgang und das
wars.
2 Dinge hätte ich da aber noch:
1. Müssen denn die ganzen 16bit Daten realisiert werden? Sprich sehr
genauer DAC und Referenz? Dann wird es halt teuer/teurer. Wenn es aber
nicht sein muss, gibts bei 12bit schon deutlich günstigere DACs oder
auch 16bit DACs, wo aber nur 13 oder 14 brauchbar rauskommen.
2. Woher kommen die Daten? Wenn sie von einem uC kommen, den du auch
selbst programmiert, dann könnte man ja auch einen uC nehmen, mit
16bit-Timer bzw. gleich 16bit PWM und diese dann via Tiefpass zum DAC
machen. Spart Kosten und die eigentliche Übertragung. Oder man nimmt
einen extra uC, dem man dann die Daten schickt (wie, kann man ja selbst
festlegen) und legt die Daten nach Empfang auf den PWM-Ausgang. Muss man
nur gucken, wie man die PWM dann mit der Referenz versorgt, sodass 100%
PWM auch z.B. 5V sind und nicht 4.99V
Michael Skropski schrieb:> 2. Woher kommen die Daten? Wenn sie von einem uC kommen, den du auch> selbst programmiert, dann könnte man ja auch einen uC nehmen, mit> 16bit-Timer bzw. gleich 16bit PWM und diese dann via Tiefpass zum DAC> machen.
16bit PWM mit 100kHz Abtastfrequenz setzt mal locker eine Bitrate von
über 6GHz voraus - für einen µC-Timer eher sportlich ;-)
Georg schrieb:> Dann existiert doch überhaupt kein Problem - die überflüssigen Bits> setzt du eben zu Null, du musst sie doch nicht mitübertragen.
Doch, wenn ich die nicht mit in den DAC übertrage, war das gesamte Frame
ungültig und am Ausgang passiert gar nix.
Michael Skropski schrieb:> 1. Müssen denn die ganzen 16bit Daten realisiert werden?
Leider ja. Eher mehr aber Minimum halt 16 bit.
> 2. Woher kommen die Daten? Wenn sie von einem uC kommen, den du auch> selbst programmiert, dann könnte man ja auch einen uC nehmen, mit> 16bit-Timer bzw. gleich 16bit PWM und diese dann via Tiefpass zum DAC> machen
Mal abgesehen vom schon angesprochenen Timerproblem: so viele
PWM-Ausgänge sind schlichtweg nicht mehr frei :-)
wichtig wäre als Entscheidungskriterium noch welche Ausgangsspannung du
-brauchst: Unipolar / bipolar?
für bipolar gibt es spezielle Wandler z.B. LTC2642
- welche Schnittstelle hast du - SPI oder was exotisches?
Die größte Auswahl mit Suchmaske findest du bei Digikey
http://www.digikey.de/
Wandler von Linear finde ich unkompliziert.
Wie schon geschrieben, wenn du hohe absolute Genauigkeit willst, wird es
teuer!
Finnsnes schrieb:> Michael Skropski schrieb:>> 2. Woher kommen die Daten? Wenn sie von einem uC kommen, den du auch>> selbst programmiert, dann könnte man ja auch einen uC nehmen, mit>> 16bit-Timer bzw. gleich 16bit PWM und diese dann via Tiefpass zum DAC>> machen>> Mal abgesehen vom schon angesprochenen Timerproblem: so viele> PWM-Ausgänge sind schlichtweg nicht mehr frei :-)
Ja, das war dumm. Dennoch bräuchte man für einen "DAC" nur einen
Ausgang. Aber ist ja eh hinfällig.
Ich denke auch, wenn es so genau sein muss (absolut), dann wird der DAC
auch über 15€ kosten. Und wie gesagt, nicht nur nach 16bit suchen,
sondern auch nach INL, DNL, Offset usw gucken. Auch ggf. Gain-Error bei
nem eingebauten PGA. Wenn du dann nen genauen DAC hast, brauchst du
natürlich auch noch ne hochgenaue Referenzspannung, die auch über die
Temperatur driftet, also im schlimmsten Fall auch beheizt,l bzw.
temperaturmäßig komstant gehalten werden muss. Das sind bestimmt auch
nochmal 10€+..