Forum: Mikrocontroller und Digitale Elektronik Low Power Dissipation Mode (M16C)


von AndreasU (Gast)


Lesenswert?

Hi! Versuche seit Tagen meinen M16C/62p in den Low Power Dissipation 
Mode zu schalten, was auch klappt, aber trotzdem noch 15mA schluckt.

Hab einen externen Quartz angeschlossen(32khz). Der Mode wird gestartet 
und läuft über den externen Quarz. Pins sind Off gestellt, Hauptquarz 
aus, Oszillation des externen Quarz wurde berücksichtigt, bevor Main 
Clock = Sub Clock gesetzt wurde. PLL is off. XCIN XCOUT auf High.

Woran kann es liegen, das ich immernoch so viel Strom messe? Sollte um 
die 420uA sein(ist 15mA).

Lieben Gruss,

Andreas

von Pypke (Gast)


Lesenswert?

Hallo, ich habe einen M16C62A zum schlafen gelegt, der braucht fast 
nichts mehr ! Zieht noch was an deinen I/Os oder hast du den Mode nicht 
richtig umgeschalten, da protectiv bits vergessen ? Der Hauptoszillator 
muss ganz aus  ! (also auch die PLL ist klar).

von AndreasU (Gast)


Lesenswert?

Hmm, das ist es ja. I/O sind aus und der HauptQuarz(keine Oszillation) 
auch. Der sekundäre Quarz arbeitet. Das könnte er doch nicht, wenn 
protectiv gesetzt, oder?

von Rudi (Gast)


Lesenswert?

Hallo Andreas,

wo genau (d.h., an welcher Stelle in deiner Schaltung) mißt du denn den 
Strom?

von AndreasU (Gast)


Lesenswert?

Ich messe direkt zwischen Versorgungsspannung(15V die dann noch auf 5V 
geregelt wird) und Evaluationboard. Ist echt zum Mäusemelken. Habe alle 
Register nach Anleitung gesetzt und komme nicht unter 15mA. USB, Seriell 
etc. alles abgetrennt. LEDs abgetrennt.

von Mike (Gast)


Lesenswert?

> Ich messe direkt zwischen Versorgungsspannung(15V die dann noch auf 5V
> geregelt wird) und Evaluationboard.

Vielleicht schluckt der Spannungsregler noch Strom. Was für ein Typ ist 
es denn? Oder sind auf dem Board noch andere Schaltkreise (z.B. 
RS232-Wandler), die evtl. nicht deaktiviert werden. Am besten mal die 
Versorgungsspannung des Prozessors direkt messen.

Gruss
Mike

von AndreasU (Gast)


Lesenswert?

Ist eine normale ViVo Beschaltung. Sollte keinen Strom ziehen. Hab alle 
Ausgangsports des Controllers auf 1 gesetzt. Nun sind es immerhin nur 
noch 11mA.

von Rudi (Gast)


Lesenswert?

Hallo Andreas,

SO darfst du nicht messen! Um zu wissen, welchen Strom der Controller 
zieht, darfst du natürlich nur in der Versorgungsleitung zum Controller 
messen - d.h., es darf keinen weiteren Knotenpunkt zwischen Controller 
und Messgerät geben, an dem noch Strom abfließen könnte. Demnach wäre es 
am besten, den Strom direkt am PIN zu messen - falls du unsicher bist, 
ob es vorher noch andere 'Verbraucher' gibt...getreu dem Motto 'wer 
mißt, mißt Mist...'

Rudi (sorry für die späte Antwort)

von AndreasU (Gast)


Lesenswert?

Hm, und wie kann ich direkt am pin messen?

von AndreasU (Gast)


Angehängte Dateien:

Lesenswert?

Hat sich soeben gelöst. Haben auf dem Board 2 Dinge vergessen zu 
entfernen. Zum einen zieht der Festspannungsregler 5mA und der IC für 
den RS2332 zieht auch bei abgestecktem RS2332 5mA. Somit war mit dem 
Controller alles iO. Vielen Dank für die Tips von euch.

Für den Fall das jemand an der LowPowerDissipationFile interessiert ist 
hab ich sie mal hochgeladen. Ist allerdings etwas chaotisch:)

von AndreasU (Gast)


Lesenswert?

Hmm:) Da bin ich wieder. Also! Mit dieser File komme ich in den 
LowPowerDissipation -Mode.

Aber:) wenn ich nun Strom messe habe ich immernoch 900µA(sollten 420µA 
sein).
Sieht jmd auf Anhieb woran es liegen kann? ~:-) Habe den kleinen auch 
mal im RAM arbeiten lassen. Somit messe ich 550µA(sollten 25µA sein).

Ist schon sehr gut, geht aber sicher noch besser. Versuche es nun nicht 
mehr auf dem EVA Board, sondern auf einer Platine, die nur den 
Controller, eine LED(die ich natürlich nicht mit messe) und einer RS2332 
Schnittstelle(die ich ebenfalls abklemme um zu messen).

Freu mich über jeden Tip:)!

LG Andreas

von Rudi (Gast)


Lesenswert?

Hallo Andreas,

ich habe mir nicht das Datenblatt angeschaut - sind die von dir 
genannten Werte aus dem Datenblatt 'typische' oder 'maximale' Werte. Ist 
dein Meßgerät für diese kleinen Ströme geeignet (kein sogenanntes 
Schätzeisen)?

von AndreasU (Gast)


Lesenswert?

Hab ein sehr gutes Multimeter. Sollte kein Thema sein so klein zu 
messen. Aus dem Datenblatt hab ich diese Infos hier:

M16C/28 Group (M16C/28, M16C/28B)
VCC = 5V
Symbol Parameter Measurement Condition
Standard
Unit
Min. Typ. Max.
ICC Power Supply
Current
(VCC= 4.0 to 5.5 V)
Output pins are
left open and
other pins are
connected to VSS

Flash memory
erase f(BCLK) = 10 MHz, Vcc = 5.0 V 12 mA
Mask ROM f(BCLK) = 32 kHz,
In low-power consumption mode,
Program running on ROM(3)
25 μA
On-chip oscillation
f2(ROC) selected, f(BCLK) = 1 MHz,
In wait mode
30 μA
Flash memory f(BCLK) = 32 kHz,
In low-power consumption mode,
Program running on RAM(3)
25 μA
f(BCLK) = 32 kHz,
In low-power consumption mode,
Program running on flash memory(3)
450 μA
On-chip oscillator operates,
f2(ROC) selected, f(BCLK) = 1 MHz,
In wait mode
50 μA

Das wichtige obendrin sind ja nur die Stromwerte und die Frequenz. Messe 
momentan 560µA. Mein Mode ist aber nach meiner File der 
LowPowerDissipationmode ins RAM geschrieben, also 25µA.

von Rudi (Gast)


Lesenswert?

Hallo Andreas,

ich habe diesen Modus noch nie gebraucht - habe mir mal kurz die 
Vorgehensweise bein 16C29 (diesen Typ setze ich ein und müßte dem 
deinigen ziemlich nahe kommen) angeschaut. Schau dir mal im Manual 
'Figure 20.10' an. Demnach vermisse ich zumindest in deinem Programmcode 
'Set the FMR01 bit to 1 after setting 0 (CPU rewrite mode enabled) (2)' 
sowie 'Set the FMR01 bit to 0 (CPU rewrite mode disabled)'...oder habe 
ich etwas übersehen? Ich denke, wenn du die Vorgehensweise des 
Flow-Charts nutzt, müßte es klappen - so ist jedenfalls durchgängig 
meine Erfahrung mit Renesas.



Beste Grüße aus dem verscneiten Nordwesten der Republik

Rudi

von AndreasU (Gast)


Angehängte Dateien:

Lesenswert?

Oben die File ist nicht ins RAM geschrieben. Hab vergessen meine neue 
File hochzuladen.

Hier, nun aber für den M16C-62p:)

von Rudi (Gast)


Lesenswert?

Hallo Andreas,

werde am WE mal versuchen (hoffe, dass dann Zeit bleibt) 
nachzuvollziehen, was es mit der ganzen Geschichte auf sich hat. Kann 
das Ganze dann aber entweder nur auf 'nem 16C29 oder 3087 probieren, 
aber das Prinzip wird ja das gleiche sein.

Beste Grüße

Rudi

von AndreasU (Gast)


Lesenswert?

Denke du brauchst nur die sfr von deinem Controller einbinden. Der Rest 
sollte dann direkt klappen:)

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.