Nabend. Kennt hier jemand den DAC im xmega E? Ich musste feststellen, dass der DAC-Ausgang anscheinend High-Z geht, sobald man in den power-save sleep wechselt. Geht man nur in den idle sleep, funktioniert er durchgehend. Braucht ein DAC eine durchgehend aktive clock domain, um überhaupt zu funktionieren?
Jan schrieb: > Braucht ein DAC eine durchgehend aktive clock domain, um überhaupt zu > funktionieren? Allgemein eigentlich nicht. Ob ein spezieller DAC einen Takt braucht, das dürfte im Datenblatt stehen...
Der CMOS-Ausgang kann in einem der zwei (bzw. drei) Zustände bleiben, ohne dabei Strom zu verbrauchen. Aber wie soll eine analoge Schaltung ohne Strom funktionieren? Schon allein die V_Ref braucht Strom.
Georg M. schrieb: > wie soll eine analoge Schaltung > ohne Strom funktionieren? Schon allein die V_Ref braucht Strom. Es war nicht von "ohne Strom" die Rede. Sondern vom Betrieb im Power-Save Modus. Abgesehen davon gibt es diverse analoge Schaltungen (inclusive Referenzspannung) die natürlich im Power-Save noch gehen. Z.B. der Brown-Out Detektor. Aber ich verstehe den TO nicht. Was er fragt, sollte doch im Handbuch stehen. Inklusive einer Anforderung an die Höhe eines evtl. benötigten Clocks (was ich aber nicht glaube).
Axel S. schrieb: > Es war nicht von "ohne Strom" die Rede. Ja, es war von "ohne Clock" die Rede. Und das führte zum Unverständnis. Axel S. schrieb: > Aber ich verstehe den TO nicht. Ich schon. Deswegen mein Kommentar.
Jan schrieb: > Kennt hier jemand den DAC im xmega E? Kenn ich zwar nicht "persönlich", aber eben deswegen hat es mich jetzt mal interessiert. > Ich musste feststellen, dass der > DAC-Ausgang anscheinend High-Z geht, sobald man in den power-save sleep > wechselt. Sicher High-Z? Nicht eher High? > Braucht ein DAC eine durchgehend aktive clock domain, um überhaupt zu > funktionieren? Das kommt wohl drauf an. Das Ding hat eine schaltbare S&H-Stufe (siehe Screenshot). Ich würde mal folgendes vermuten: wenn die ausgeschaltet ist, braucht man wirklich einen Takt. Ist sie an, dann nicht, weil dann wird der Ausgang vom letzten Holdwert dieser Stufe bestimmt.
Woher kommt denn die Grafik? Im "AVR Xmega E Manual" finde ich sie nicht. Da sind ZWEI separate DACs eingezeichnet, ohne S/H.
:
Bearbeitet durch User
Dieter R. schrieb: > Woher kommt denn die Grafik? Im "AVR Xmega E Manual" finde ich sie > nicht. Da sind ZWEI separate DACs eingezeichnet, ohne S/H. Die einschlägige AN zum DAC. Link habe ich gerade nicht mehr parat, sollte sich aber bei MC finden lassen. Wenn man sucht (so wie auch ich es bloß getan habe)... Davon unabhängig sollte sich diese schaltbare Stufe auch irgendwo in den DBs wiederfinden lassen. Wenn schaltbar, sollte es auch irgendein Bit dafür geben, über das man die schalten kann. Das habe ich jetzt nicht weiter überprüft.
c-hater schrieb: > Die einschlägige AN zum DAC. Link habe ich gerade nicht mehr parat Das tatsächlich nicht mehr, aber das runtergeladene Dokument war noch in meinem Papierkorb. Ich häng's mal an.
Naja, wenn man in den sleep geht, kann man im Voltmeter gut sehen, wie die Spannung langsam (ca. 30mV/s) Richtung VCC/2 wegdriftet. Sobald der sleep verlassen wird, springt die Spannung wieder dahin, wo wie hingehört. Der sleep-Block sah (in PseudoCode) so aus: 1: sleep(powersave) delayms(1000) goto 1 Aus dem sleep kam er alle 5 Sekunden via RTC. Dass der DAC durchgehend Strom braucht, ist mir schon klar. Aber die Clock zieht auch ne Menge, und die hätte ich deshalb gerne abgeschaltet. Vielleicht war der einfach nicht richtig ausgereift.
Jan schrieb: > Naja, wenn man in den sleep geht, kann man im Voltmeter gut sehen, wie > die Spannung langsam (ca. 30mV/s) Richtung VCC/2 wegdriftet. Sobald der > sleep verlassen wird, springt die Spannung wieder dahin, wo wie > hingehört. Das würde zu einer S/H Stufe passen, der man den Takt abgeschaltet hat. Es ist allerdings nicht wie im Eröffnungspost geschrieben: Jan schrieb: > DAC-Ausgang anscheinend High-Z > Dass der DAC durchgehend Strom braucht, ist mir schon klar. Aber die > Clock zieht auch ne Menge, und die hätte ich deshalb gerne abgeschaltet. Warum liest du dann nicht endlich mal das verdammte Handbuch ? Wenn der DAC einen Takt zum Funktionieren braucht, dann steht das sicher da drin. Entweder im Kapitel über den DAC oder über die Schlafmodi. Dann kannst du den Schlafmodus wählen, der die meisten Einsparungen bringt, ohne den DAC zu beeinflussen. Das verstehe ich nicht. Du hast die Information schon, die du suchst. Du müßtest bloß lesen ...
Data Sheet: Sleep modes are used to shut down modules and clock domains in the microcontroller in order to save power.
c-hater schrieb: > Die einschlägige AN zum DAC. Das ist XMEGA. Bei XMEGA E sieht es lt. allgemeiner Beschreibung anders aus. Man müsste wohl den konkreten Typ kennen, den hat uns der TO aber nicht verraten. Sofern er wirklich einen E hat. Axel S. (a-za-z0-9) schrieb: > Warum liest du dann nicht endlich mal das verdammte Handbuch ? Siehe oben, ich finde in dem verdammten Handbuch keine Beschreibung, was im Sleep mit dem DAC passiert, bloß, dass seine Clock abgeschaltet ist. Ich habe aber auch den Prozessor nicht. Meine persönliche und generelle Erfahrung dazu: es ist risikoreich, zu behaupten, dass etwas spezielles schon in der Atmel/Microchip-Dokumentation erläutert wäre. Oft hilft nur eine (meist längere) Diskussion mit dem indischen Support.
:
Bearbeitet durch User
Einfach mal davon auszugehen, dass ich das Handbuch nicht gelesen habe, ist schon ziemlich unverschämt. Wie sonst hätte ich denn bitte wissen sollen, welche Register ich wie beschreiben muss, damit überhaupt was ausgegeben wird? Die Sektion des DACs ist halt leider ziemlich kurz und in der AN steht auch leider nichts dazu drin. Die E sind alle identisch. Gibt ja auch nur 3 Stück. 8 16 und 32, die sich nur vom Speicherausbau unterscheiden. Ich setze den 8er ein.
Dieter R. schrieb: > c-hater schrieb: > >> Die einschlägige AN zum DAC. > > Das ist XMEGA. Es war bei MC jedenfalls vom XMEGA E aus verlinkt. Sollte also auch dazu passen.
Dieter R. schrieb: > Axel S. (a-za-z0-9) schrieb: >> Warum liest du dann nicht endlich mal das verdammte Handbuch ? > > Siehe oben, ich finde in dem verdammten Handbuch keine Beschreibung, was > im Sleep mit dem DAC passiert, bloß, dass seine Clock abgeschaltet ist. > Ich habe aber auch den Prozessor nicht. Zwar keine direkte Beschreibung zum Sleep, aber beim Bit "DAC" im Register für "Power Reduction" steht: "Setting this bit stops the clock to the DAC. The DAC should be disabled before stopped." Das klingt, als ob man generell den DAC abschalten soll, bevor sein Takt gestoppt wird. c-hater schrieb: > sollte sich aber bei MC finden lassen. > sollte sich diese schaltbare Stufe auch irgendwo > Wenn schaltbar, sollte es auch irgendein Bit > Sollte also auch dazu passen. Ist halt ziemlich viel "sollte".
:
Bearbeitet durch User
Um die Sache mal wieder auf ein konstruktives Level zu bringen: Würde der Idle-Mode mit geringerer Taktfrequenz (umschalten auf internen 32kHz-Takt) nicht reichen?
Rolf M. schrieb: > Ist halt ziemlich viel "sollte". Ja, so ist das, wenn Datenblätter nix taugen. Inzwischen habe ich mir mal die Registerbeschreibungen angesehen. Ich würde mal auf Bit1 in CTRLA tippen. Wenn überhaupt irgendeins, dann das. Die Beschreibung ist allerdings eher dürftig. MC-Standard halt...
c-hater schrieb: > Rolf M. schrieb: > Die Beschreibung ist allerdings eher dürftig. MC-Standard halt... Support-Case initiieren. Vielleicht gibt es aus Indien ja noch ein paar Vorschläge dazu. Oder schlussendlich ein neues Erratum. Wäre nett, wenn der TO uns anschließend das Ergebnis mitteilen würde, damit wir alle was lernen.
Bit 1 LPMODE löst dieses Problem leider nicht. Idle auf 32 kHz müsste ich mal ausprobieren, aber ohne Details über den inneren Aufbau könnte sich dieser Trick noch als Bumerang erweisen. Naja, oder ich lass es so wie es ist und nehme für wirkliche low power Anwendungen einfach einen externen DAC. Zum Glück brauche ich das im jetzigen Projekt nicht. Es fiel mir nur auf, da ich zum ersten Mal mit dem DAC richtig gearbeitet habe und deshalb erstmal unbedingt alles mögliche ausprobieren musste. :D
Jan schrieb: > Bit 1 LPMODE löst dieses Problem leider nicht. Das Bit einfach nur zu setzen, würde das Problem vermutlich nicht lösen, selbst dann nicht, wenn es tatsächlich das tut, was ich vermute, was es tut. Da wären dann schon noch ein paar mehr Vorkehrungen zu treffen/Randbedingungen einzuhalten. Das würde allerdings davon abhängen, wie genau der DAC gefüttert wird. Code hast du ja nicht geposted, oder?
Jan schrieb: > aber ohne Details über den inneren Aufbau könnte > sich dieser Trick noch als Bumerang erweisen. Versuch macht kluch, zumindest siehts im DB so aus, als ob der Verbrauch vom einstelligen mA und den einstelligen µA-Bereich sinkt (eigentlich plausibel, weil von 30MHz auf 30kHz ist's auch ein Tausendstel). Kann aber auch sein, dass bei so niedrigem Takt schon das eine oder andere Bit in der DAC-Ausgabe flöten geht - wenn's denn wirklich die S&H-Stufe ist.
Euro schrieb: > Kann aber auch sein, dass bei so niedrigem Takt schon das eine oder > andere Bit in der DAC-Ausgabe flöten geht - wenn's denn wirklich die > S&H-Stufe ist. Wenn die S/H-Stufe wirklich vorhanden ist. Zweifel sind angebracht, klären kann man das (wenn überhaupt) nur durch Kontakt mit dem Support. Im "XMEGA A MANUAL", das von sich behauptet "contains complete and detailed description of all modules included in the Atmel®AVR®XMEGA®A microcontroller family" ist mit dem Adress-Offset 4 ein TIMCTRL-Register erwähnt, das genau dieses Verhalten steuern soll. Im XMEGA A3U-Manual ist diese Adresse aber reserved, kein Register. Im ATxmega-E-Manual genauso reserved. Nichts genaues weiß man nicht und die Beschreibung in der Application Note, die c-hater ausgegraben hatte (da ist das TIMCTRL-Register erwähnt) widerspricht mindestens zwei verschiedenen Datenblättern.
Dieter R. schrieb: > Zweifel sind angebracht, > klären kann man das (wenn überhaupt) nur durch Kontakt mit dem Support. Naja, man kann dem Projekt zuliebe auch die Taktfrequenz einfach mal auf 32kHz konfigurieren, einen DAC-Wert generieren und aus Jux noch den Controller in den Idle schicken. Zumindest mit nem Oszi sollte man ja sehen, ob ein statischer Wert oder ein kleiner Sägezahn bei rumkommt. Ich hab den E leider nicht da, sonst hätte ich mir die halbe Stunde Mühe gemacht (und beim A kann die Sache wirklich auch anders aussehen).
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.