Hallo zusammen, ich versuche gerade, ein einfaches DAC Modell zu bauen, um es in Monte Carlo Analysen zu verwenden. Es sollen folgende Eigenschaften unterstützt werden - Resolution - Vref - Offset error - gain error Ich habe insbesondere mit dem Gain Error Probleme. Ich schreibe mal ein paar Definitionen. Die meisten Infos stammen aus https://e2e.ti.com/blogs_/b/analogwire/posts/dac-essentials-the-pursuit-of-perfection und https://www.infineon.com/dgdl/ap3212111-ADC-Measurement-v11.pdf?fileId=db3a304318f3fe2901191955cd3c2de3 Annahmen, Auflösung = 8 bit, kein Rauschen, kein INL, keine Temperaturabhängigkeit. Vref = V+ = 3V3, V- = GND = 0V - N = Auflösung = 8 Bit - LSB = gain = Steigung der Kennlinie = eine "Kodierstufe": FSR/2^N = 12.89 mV/code - FSR = Full scale range: Vref = 3.3 V - FS = Full scale = maximal ausgebbare Spannung bei DAC_MAX: FSR-LSB = 3.287 V - DAC_MAX = maximaler dac code: 2^N-1 = 255 Ich denke soweit sollte es passen. Jetzt steht z.B. im DB von Analog Devices https://www.analog.com/media/en/technical-documentation/data-sheets/ad5673r-5677r.pdf - offsetErr = Offset Error max = +/- 2 mV - gainErr = Gain Error max = +/- 0.12 %FSR Ich würde sagen, die Ausgangskennlinie des DAC kann dann so beschrieben werden: vOut = dacIn*(gain + gainErr/100*FSR) + offsetErr vOut ist dann die ausgegebene Spannung am DAC Pin, dacIn ist quasi der code = der DAC Register Wert. Aber: Irgendwas passt nicht. Angenommen ich möchte den code 16=2^4 ausgeben, der in einer idealen Spannung von 206.25 mV (16*LSB) resultieren würde, dann wäre mit offset Fehler vOut=206.25 mV +/- 2 mV. Aber der gainErr wäre +/-0.12/100*3.3 = +/-3.96 mV und damit ja schon im 1/10 Wertebereich wie der gain von 12.89 mV/code. Der Fehler wäre dann also entweder 16*(gain + 3.96) +/-2 mV = 269 +/- 2 mV oder 16*(gain - 3.96) +/- 2 mV = 143 +/-2 2mV. Das sind ja gigantische Fehler, das kann ich mir nicht vorstellen. Habe ich bei der Umrechnung des gain errors in %FSR einen Fehler gemacht? Muss das nochmal durch 2^N oder so geteilt werden? Vielen Dank! Edit: Könnte es sein, dass es vOut = dacIn*(gain*(1 + gainErr/100*FSR)) + offsetErr sein muss, also der gainErr noch mit dem gain multipliziert werden muss?
:
Bearbeitet durch User
Hat keiner Ahnung davon? Denke ich habe alle relevanten Informationen gezeigt und konkrete Fragen gestellt.
Was soll die Simulation zeigen ? Gain Error bedeutet, dass der Gain einen Fehler aufweist. Im Sinne von Ausgangssignal = ((Code x Refererenz x Gain)/ 2^N) + Offset
:
Bearbeitet durch User
Vielleicht mal Figure 9 ankucken. Der Gain Error ist nicht je LSB sondern gesamt. Aber was soll Monte Carlo da bringen? Vergleich wie sich die Ergebnisse zwischen 100 DAC unterscheiden? Für das Verhalten eines einzelnen DAC wärs völliger Käse weil der Gain error sich nicht zufällig verteilt sondern grob deterministisch. Auch zwischen unterschiedlichen Devices verläuft der vmtl. Eher ähnlich, wenn auch nicht weiter spezifiziert.
Purzel H. schrieb: > Was soll die Simulation zeigen ? > Gain Error bedeutet, dass der Gain einen Fehler aufweist. Im Sinne von > Ausgangssignal = ((Code x Refererenz x Gain)/ 2^N) + Offset Genau, der Fehler kann aber in %Full Scale oder auch anders angegeben sein. Wie würdest in deiner Formel den gain error mit einbauen? Wo würdest du die Klammern setzen? Stephan schrieb: > Vielleicht mal Figure 9 ankucken. Der Gain Error ist nicht je LSB > sondern gesamt. > Genau, er ist in %Full Scale. Figure 9 ist was anderes, das ist der total unadjusted error. In der Tabelle 3 gibt es drei Werte, die in %FSR angegeben sind, Gain error, full-scale error, und total unadjusted error. FSR sind 3.3V. Angenommen, ich betrachte nur den gain error, wie komme ich zum Gesamtfehler? Es ist ja nicht einfach gain = ideal gain + gain error %FSR > Aber was soll Monte Carlo da bringen? Vergleich wie sich die Ergebnisse > zwischen 100 DAC unterscheiden? > Für das Verhalten eines einzelnen DAC wärs völliger Käse weil der Gain > error sich nicht zufällig verteilt sondern grob deterministisch. > Auch zwischen unterschiedlichen Devices verläuft der vmtl. Eher ähnlich, > wenn auch nicht weiter spezifiziert. Ich möchte gucken, wie stark sich der Ausgang verändert, wenn ich gain und offset gemäß des Datenblattes variiere. Und ja, wir sprechen über viele tausende DAC. Danke euch!
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.