SLAZ263AB October   2012  – August 2021 MSP430F5229

 

  1.   1
  2.   2
  3.   3
  4.   4
  5.   5
    1.     6
    2.     7
      1.      8
      2.      9
      3.      10
    3.     11
  6.   12
    1.     13
    2.     14
    3.     15
    4.     16
    5.     17
    6.     18
    7.     19
    8.     20
    9.     21
    10.     22
    11.     23
    12.     24
    13.     25
    14.     26
    15.     27
    16.     28
    17.     29
    18.     30
    19.     31
    20.     32
    21.     33
    22.     34
    23.     35
    24.     36
    25.     37
    26.     38
    27.     39
    28.     40
    29.     41
    30.     42
    31.     43
    32.     44
    33.     45
    34.     46
    35.     47
    36.     48
    37.     49
    38.     50
    39.     51
    40.     52
    41.     53
    42.     54
    43.     55
  7.   56

PMM11

PMM Module

Category

Functional

Function

MCLK comes up fast on exit from LPM3 and LPM4

Description

The DCO exceeds the programmed frequency of operation on exit from LPM3 and LPM4 for up to 6 us. This behavior is masked from affecting code execution by default: SVSL and SVML run in normal-performance mode and mask CPU execution for 150 us on wakeup from LPM3 and LPM4. However ,when the low-side SVS and the SVM are disabled or are operating in full-performance mode (SVMLE= 0 and SVSLE= 0, or SVMLFP= 1 and SVSLFP= 1) AND MCLK is sourced from the internal DCO running over 4 MHz, 7 MHz,11 MHz,or 14 MHz at core voltage levels 0, 1, 2, and 3, respectively, the mask lasts only 2 us. MCLK is, therefore, susceptible to run out of spec for 4 us.

Workaround

Set the MCLK divide bits in the Unified Clock System Control 5 Register (UCSCTL5) to divide MCLK by two prior to entering LPM3 or LPM4 (set DIVMx= 001). This prevents MCLK from running out of spec when the CPU wakes from the low-power mode. Following the wakeup fromthe low-power mode, wait 32, 48, 80, or 100 cycles for core voltage levels 0, 1, 2, and 3, respectively, before resetting DIVM xto zero and running MCLK at full speed [for example, __delay_cycles(100)]