Hallo,
wie kann ich bewerten, ob man mit diesen DA-Wandler am Ausgang pro Kanal
ein Sinussignal mit 30kHz Bandbreite erzeugen kann?
https://www.analog.com/media/en/technical-documentation/data-sheets/AD5304_5314_5324.pdf
Konkret xx24 Variante.
Die geben dort eine Multiplying Bandwidth von 200kHz für die
Ausgangsverstärker. Weiß aber nicht ob mir das als Angabe ausreicht, da
das ja nur die Endverstärker sind.
Zudem ist eine Settling-Time von typ. 8µs angegeben. Die Settling-Time
ist aber nicht der Rise-Time gleichzusetzen. Die Settling time ist ja
meistens länger, da abgewartet wird bis sich der Endwert stabilisiert.
Danke
sigma_0 schrieb:> Sinussignal mit 30kHz Bandbreite
Was soll das sein? Ein ideales Sinussignal hat nur genau eine Frequenz,
damit ist die Bandbreite 0.
Meinst du einen Sinus mit einer Frequenz von 30kHz?
Wenn man 16bits plus Sync mit 33ns füttern kann, und keine großen
Sprünge macht (Sinus), dann wären das 1-1,5Msps ohne jegliche
Settle-Time.
Dann hätte man 33-50 Steps pro Sinus-Periode.
Könnte so naiv gerechnet gehen.
mech schrieb:> sigma_0 schrieb:>> Sinussignal mit 30kHz Bandbreite>> Was soll das sein? Ein ideales Sinussignal hat nur genau eine Frequenz,> damit ist die Bandbreite 0.>> Meinst du einen Sinus mit einer Frequenz von 30kHz?
Sry. Ich meinte eigentlich ein beliebiges Signal mit 30kHz Bandbreite.
Also zB. auch eine Step von 0 auf Half-Scale.
Nun. Die SPI Rate ist 30MBit, bei 4x12 Bit waeren das 625kSample. Die
Reaktionszeit von 25 auf 75% sind 10us. Und die Multiplizierbandbreite
ist 300 kHz.
Ich wuerd jetzt nicht grad einen Lowpower DAC auf der maximalen
Samplerate betreiben. Schaffst du die 30MBit ? Wenn du den sinus per
Port-IO in den DAC reinschiebst sind 7.5MHz an Rechenleistung schon weg,
ohne irgendwas anderes zu machen.
Hmm verstehe die Rechnung nicht.
Nehmen wir mal an, ich will ein analoges Signal bis zu einer Bandbreite
von 30kHz aus dem DAC (12bit) erzeugen.
Dann müssen die diskreten Werte für ein Signal ja mit mindestens 60kSps
ankommen.
Das input shift register ist 16bit breit (Seite 15)
Damit sind das ja 60kSps * 16bit = 960kbit/s
Für vier Kanäle sind das dann 4*960kbit/s = 3840kbit/s.
Also kann ich den SPI mit 4MHz laufen lassen? Oder rechne/verstehe ich
da was falsch.
Danke
sigma_0 schrieb:> Dann müssen die diskreten Werte für ein Signal ja mit mindestens 60kSps> ankommen.>> der rechne/verstehe ich da was falsch?
Ja, nimm mal ein Blatt Papier und versuche da mal eine Sinusschwingung
mit nur zwei Stützstellen zu malen. Du wirst sehen das du um etliches
mehr an Punkten benötigst damit das auch nur annähernd nach Sinus
aussieht.
Ne das ist mir klar, ich will aber auch nur ein Signal mit der
Bandbreite haben. Ich muss keinen sauberen 30kHz Sinus erzeugen können.
Stimmt denn meine Rechnung prinzipiell?
Du solltest mit mindestens 100kHz Abtastrate arbeiten. Da schwingt das
Signal ja gerade mal richtig ein wegen der 10us settling time.
Vergiss diesen DAC und such dier einen schnelleren DAC.
Die Audio DACs haben ca. 0,5us bis 2us Einschwingzeit. Am besten du
suchst dir einen DAC mit <=1us Einschwingzeit.
Die Mutliplying-Anwendung ist nicht deine Anwendung. Die dient dazu mit
dem DAC einen programmierbaren Abschwächer für DC+Wechselspannung zu
bauen.
Danke für die Infos.
Habe den in einer bestehenden Schaltung für die Regelung mehrerer
Magnetspulen für eine schwebende Kugel gesehen, deswegen die Frage. Bin
mir nicht sicher, ob das korrekt ausgelegt wurden. Will aber auch nicht
zu viel ändern.
Hier ist wohl der gleiche, aber mit einem Kanal:
https://www.analog.com/media/en/technical-documentation/data-sheets/AD5320.pdf
Da steht ebenfalls 8-10µs settling time. Wenn man sich aber die
Scope-Bilder auf Seite 10 anschaut, dann scheint die RiseTime viel
schneller zu sein --> 4µs von 0 auf max.
Irgendwer schrieb:> Ja, nimm mal ein Blatt Papier und versuche da mal eine Sinusschwingung> mit nur zwei Stützstellen zu malen. Du wirst sehen das du um etliches> mehr an Punkten benötigst damit das auch nur annähernd nach Sinus> aussieht.
Das übernimmt der nachfolgende Tiefpass.
sigma_0 schrieb:> Da steht ebenfalls 8-10µs settling time. Wenn man sich aber die> Scope-Bilder auf Seite 10 anschaut, dann scheint die RiseTime viel> schneller zu sein --> 4µs von 0 auf max.
Die angegebene settling time bezieht sich immer auf ein bestimmtes
Toleranzband (beim AD5304 z.B. auf 1/2 LSB). Was du in den Oszibildern
als "0 bis max" wahrnimmst ist sehr viel grober als 1/2 LSB, deshalb
liest du eine kürzere settling time ab.
Achim S. schrieb:> sigma_0 schrieb:>> Da steht ebenfalls 8-10µs settling time. Wenn man sich aber die>> Scope-Bilder auf Seite 10 anschaut, dann scheint die RiseTime viel>> schneller zu sein --> 4µs von 0 auf max.>> Die angegebene settling time bezieht sich immer auf ein bestimmtes> Toleranzband (beim AD5304 z.B. auf 1/2 LSB). Was du in den Oszibildern> als "0 bis max" wahrnimmst ist sehr viel grober als 1/2 LSB, deshalb> liest du eine kürzere settling time ab.
Ja das hab ich mir gedacht. Konnte den Hinweis mit 1/2 LSB für das
Toleranzband nicht finden.
Danke für die Hinweise zu den anderen DA-Wandlern. Ich wollte aber
erstmal verstehen, wo die Grenzen von diesem sind und wie man das Ganze
aus dem Datenblatt herausfindet.
sigma_0 schrieb:> wo die Grenzen von diesem sind
Dafür musst du selbst definieren wie für dich eine Grenze aussieht. Mit
einem DAC kannst du nie einen Sinus ausgeben, sondern nur einzelne Werte
davon. Das sind also immer Stufen. Die zu glätten ist Aufgabe vom Filter
hinter dem DAC.
Mit dem von dir ausgesuchten DAC kannst du mehrere wenige Werte je
Sinusperiode für einen Sinus mit 30 kHz ausgeben. Das genügt, um dann
bei dem Analogsignal die Grundfrequenz zu erkennen. Je nach Filter
bekommst du lautere oder leisere Obertöne durch die Stufen oder das was
von denen nach dem Filter noch übrig bleibt.
Wenn du den DAC schon hast, dann empfehle ich dir damit einfach zu
spielen und auch verschiedene Filter aufzubauen. Da kannst du viel bei
lernen wenn du bisher noch nichts mit einem DAC gemacht hast.
Bernd K. schrieb:> Das übernimmt der nachfolgende Tiefpass.
Der widerspricht sich aber schon etwas mit der nachfolgenden Aussage das
es nicht nur um einen reinen Sinus geht.
sigma_0 schrieb:> Sry. Ich meinte eigentlich ein beliebiges Signal mit 30kHz Bandbreite.
Und selbst mit dem kommt nicht wirklich was brauchbares raus mit nur
zwei Punkten pro Schwingung. Im schlechtesten Fall gibt das eine Gerade
oder irgendeine Schwebung die nichts mit einem Sinus in der gewünschten
Feq. zu tun hat. Oder z.B. aus einem (ehemaligen) Rechteck oder Sinus
der pro Halbwelle nur einen einzigen Wert liefert macht der TP je nach
Zeitkonstante dann ein Dreieck oder Trapez. mit einer Amplitude die auch
nicht wirklich was mit dem Original zu tun hat.
Mit deutlich mehr als zwei Punkten und dazu noch einen TP dahinter kann
aber durchaus schon was brauchbares hinten rauskommen.
Wie exakt das Signal am Ausgang reproduziert werden soll, dass wäre eine
Frage die sigma_0 wohl erstmal für sich selbst beantworten muss.
sigma_0 schrieb:> Oder rechne/verstehe ich> da was falsch.
Wo beginnt man da? Du hast da offenbar gleich mehrere Dinge nicht
richtig verstanden.
1. Nyquist-Kriterium.
Das Nyquist-Kriterium wird gerne angegeben, dass man mit der doppelten
Frequenz abtasten muss. Streng genommen ist das aber falsch denn das
Nyquist-Kriterium besagt, dass man mit mehr als der doppelten Frequenz
abtasten muss (doppelte Abtastfrequenz ist die Grenze). Das "mehr" wird
gerne unterschlagen, hat in der Praxis meist auch keine Relevanz ob man
nun = 2 sagt oder > 2 denn fürs Nyquist genügt z.B. auch ein Faktor von
2.0000000001 und das ist in den meisten Praxisfällen gleichbedeutend
einem = 2 ;)
2. Anzahl der notwendigen Stützstellen
Man kann mit 2 Stützstellen natürlich ein Sinus rekonstruieren...das
setzt aber voraus, dass man auch weis, dass ein Sinus bei rum kommen
soll. Woher aber soll dein DAC wissen, dass du einen Sinus willst? Weis
er nicht, also müsste die nachfolgende Schaltung aus den Werten des DACs
ein Sinus basteln. Das kann man natürlich umsetzen, ist aber mit
erheblichen Aufwand verbunden. Recht einfach sind dagegen Schaltungen,
die einfach nur zwischen zwei Punkten interpolieren. Dann muss man dem
DAC nur mehr Stützstellen anbieten. Die Faustformel sagt, dass man pro
Periode mindestens 10 Stützstellen haben sollte, meinereiner geht aus so
einer Nummer nicht unter 32 Stützstellen raus, wenn möglich mach ich
immer mehr. Die 32 kommen nicht von ungefähr, sind nämlich 2^5 und recht
simple mit einem digitalen Rechenwerk umsetzbar.
Das sind so zwei Hauptpunkte, die mir beim Durchlesen des Threads in den
Sinn kamen.
M. K. schrieb:> Die Faustformel sagt, dass man pro Periode> mindestens 10 Stützstellen haben sollte,
Diese "Faustformel" stammt von Leuten, die die
Mathematik verachten und die Analogtechnik hassen.
Sachlich richtig ist, dass ab etwa drei Punkte je
Periode die Anforderungen an den Ausgangstiefpass
beherrschbar werden; bei fünf oder mehr Punkte sind
die Verhältnisse schon "entspannt" zu nennen.
Ein steilflankiger Tiefpass ist dennoch immer zu
empfehlen.
sigma_0 schrieb:> Nehmen wir mal an, ich will ein analoges Signal bis> zu einer Bandbreite von 30kHz aus dem DAC (12bit)> erzeugen.
Okay.
> Dann müssen die diskreten Werte für ein Signal ja mit> mindestens 60kSps ankommen.
Richtig.
> Das input shift register ist 16bit breit (Seite 15)> Damit sind das ja 60kSps * 16bit = 960kbit/s
Richtig.
> Für vier Kanäle sind das dann 4*960kbit/s = 3840kbit/s.
Ist wohl so, ja.
> Also kann ich den SPI mit 4MHz laufen lassen?
Das ist der Grenzfall. Mehr schadet aber nicht.
> Oder rechne/verstehe ich da was falsch.
Bis hierhin nicht.
Egon D. schrieb:> Sachlich richtig ist, dass ab etwa drei Punkte je> Periode
Das hier passt irgendwie mit
Egon D. schrieb:>> Dann müssen die diskreten Werte für ein Signal ja mit>> mindestens 60kSps ankommen.>> Richtig.
dem hier nicht zusammen da ja die Zielfrequenz 30 kHz sein müssen.
Richtig wäre es zu sagen, dass es mehr als 60 kSps sein müssen, nicht
mindestens ;)
sigma_0 schrieb:> Ich wollte aber> erstmal verstehen, wo die Grenzen von diesem sind und wie man das Ganze> aus dem Datenblatt herausfindet.
Bei High-Speed DACs werden die Grenzen der schnellen Signalerzeugung
spezifiziert. Die Methode hatte oben schon Gustl B. beschrieben: man
erzeugt ein definiertes Signal und misst verschiedene Kenngrößen (THD,
SFDR), wie stark das erzeugte Signal von der Idealform abweicht. Diese
Spezifikationen machen z.B. in folgendem Datenblatt
https://www.analog.com/media/en/technical-documentation/data-sheets/AD9760.pdf
rund 90% der gezeigten Messkurven aus.
Der von dir zunächst betrachtete AD53x4 ist dagegen nicht für die
Erzeugung "schneller" Kurvenformen vorgesehen, sondern für Anwendungen,
bei denen es auf low power und statische Genauigkeit ankommt.
Dementsprechend findest du im Datenblatt ausführliche Beschreibungen
dieser Parameter - wie schnell wird der genaue Wert erreicht (settling
time), welche Störpulse ergeben sich beim Umschalten (Glitch Energy),
wie stark ist die Kopplung der verschiedenen DAC-Kanäle (Crosstalk), wie
groß sind die Fehler der erzeugten Spannung (Gain-Error, Offset-Error,
INL, DNL)
@Achim S: Exakt!
Aber behalte ruhig den DAC und spiele etwas damit herum. Du kannst da
wirklich viel lernen. Meinen ersten DAC hatte ich selbst auch ein paar
IOs und Widerständen gelötet. War für die Ausgabe von einem VGA Bild in
Farbe OK, zeigte bei einem Sinus aber Treppenstufen weil ich da keinen
Filter dahinter hatte (ist bei VGA auch kontraproduktiv).
Dann habe ich den erwähnen DAC8581 verwendet. Damit konnte ich schön
Sinus ausgeben, aber ach erst nachdem ich mit Filtern gespielt hatte.
Ein RC höherer Ordnung hat da schon gereicht um bei niedrigen Frequenzen
einen großen Abstand zu ersten Oberton (dBc) zu erhalten. Bei höheren
Frequenzen sah es dann wieder schlechter aus.
Will sagen:
Das ist ein Weg den du beschreitest. Wenn du eine konkrete Anwendung
hast, dann ist diese das Ziel, wenn nicht, dann steuert dein Interesse.
Auch an dem DAC den du jetzt hast kannst du problemlos erste Schritte
machen. Verschiedene Layouts ausprobieren, verschiedene Analogfilter,
auch auf digitaler Seite kannst du gucken welche Auswirkungen die
Zählerlänge und die tatsächliche Länge des Samplespeichers auf deinen
Sinus haben.
Ein kleines Projekt wäre ein Tongenerator.