Stromverbrauch Mikrocontroller MSP430F2418

Gast #1892616
Lesenswert?

Morgen zusammen!

Kann mir jemand eventuelle Quellen für meinen hohen Stromverbrauch im 
Mikrocontroller nennen?
Ich hatte gestern den Thread mit dem 1,8432MHz-Quarz und das Problem, 
dass die MCU bei höherem Takt verdammt viel mehr Strom zieht.

Was brauchen MCUs so im Schnitt? Meiner läuft jetzt bei den besagten 
1,8432MHz und zieht so ca. 2mA - ist das nciht ein bisschen viel?

Ich mein, in manchen Werbungen steht "extrem niedriger Stromverbrauch: 
160 µA bei 2,2 Volt und 1 MHz / 1,3 µA bei 2,2 Volt und 4 kHz"...und so 
sehr über 1 MHz liege ich ja nun nicht.

Ich habe alle unbenutzten Port-Pins auf Masse, sie floaten also auch 
nicht.

Was ich jedoch noch dran habe: Einen weiteren 32kHz-Quarz, aber daher 
wird der Verbrauch ja wohl nicht kommen, oder?
Gast #1892633
Lesenswert?

Malte M. schrieb:
> Was hängt denn noch am µC?

Am uC hängen noch:

DA-Wandler
LCD
AD-Wandler

jeweils an einem eigenen USCI-Modul

So, dann halt den Quarz mit 1,8432MHz (also nicht den DCO)
und ein weiter 32kHz-Quarz.

Intern benutze ich nichts, ausser die USCIs und den Timer.


Den Strom messe ich genau vorm Microcontroller. Also die 2mA sind rein 
sein Eigenverbrauch.

Pull-Ups habe ich nicht eingeschaltet, sondern die Pins selber auf Masse 
gelegt.
Gast #1892636
Lesenswert?

Hier nochmal meine Initialisierung, falsch da was falsch sein sollte:
1
void configure_clock_module (void)
2
{
3
  // Initialization of clock source - Crystal 1.8432 MHz
4
  
5
  // BCSCTL1: BASIC CLOCK SYSTEM CONTROL REGISTER 1
6
  // XT2OFF:  XT2 oscillator (bit cleared: XT2 is now active)
7
  BCSCTL1 &= ~XT2OFF;
8
  
9
  // BCSCTL3: BASIC CLOCK SYSTEM CONTROL REGISTER 3
10
  // XT2Sx:   XT2 range select (XT2S_1: 1-3 MHz)
11
  // XCAPx:   Oscillator capacitor selection (XCAP_3: ~12,5pF)
12
  BCSCTL3 = XT2S_1 | XCAP_3;
13
  
14
  do
15
  {
16
    volatile uint16_t i = 0;
17
    IFG1 &= ~ OFIFG;            // Clear oscillator-fault-flag
18
    for (i = 0xFF; i > 0; i--)  // Time to get stable
19
    {}                          // Loop
20
  } while (IFG1 & OFIFG);       // Do, until no fault present
21
  
22
  // BCSCTL2: BASIC CLOCK SYSTEM CONTROL REGISTER 2
23
  // SELMx:   Select MCLK (SELM_2: XT2CLK)
24
  // SELS:    Select SMCLK (bit set: XT2CLK)
25
  // DIVM:    Divider MCLK (DIVM_1: /2)
26
  // DIVS:    Divider SMCLK (DIVS_1: /2)
27
  BCSCTL2 = SELM_2 | SELS;// | DIVM_1 | DIVS_1;
28
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren