Forum: Mikrocontroller und Digitale Elektronik xmega DAC geht nicht im power save sleep?


von Jan (Gast)


Lesenswert?

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?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Georg M. (g_m)


Lesenswert?

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.

von Axel S. (a-za-z0-9)


Lesenswert?

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).

von Georg M. (g_m)


Lesenswert?

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.

von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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
von c-hater (Gast)


Lesenswert?

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.

von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

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.

von Jan (Gast)


Lesenswert?

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.

von Jan (Gast)


Lesenswert?

der = Der DAC.

von Axel S. (a-za-z0-9)


Lesenswert?

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 ...

von Georg M. (g_m)


Lesenswert?

Data Sheet:
Sleep modes are used to shut down modules and clock domains in the 
microcontroller in order to save power.

von Dieter R. (drei)


Angehängte Dateien:

Lesenswert?

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
von Jan (Gast)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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
von Euro (Gast)


Lesenswert?

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?

von c-hater (Gast)


Lesenswert?

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...

von Dieter R. (drei)


Lesenswert?

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.

von Jan (Gast)


Lesenswert?

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

von c-hater (Gast)


Lesenswert?

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?

von Euro (Gast)


Lesenswert?

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.

von Dieter R. (drei)


Lesenswert?

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.

von Euro (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.