This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430Gxxxx Clocking structure for operation and low power modes

Other Parts Discussed in Thread: MSP430WARE

I’m looking over the data sheet for the MSP430G2x32 and have some questions pertaining to the clocks in both operation and low power modes.

I’m want to configure the part to run on 3.3V without an external crystal.

Using  http://www.ti.com/lit/ug/slau144i/slau144i.pdf for reference

According to figure 5-1 on page 279 this configuration will result in ACLK not being sourced. I intend to use the DCOCLK to source MCLK and SMCLK. The MSP430G2x32 does not have Rosc however I assume that the DCO will work when DCOR is set to 0.

Is this a valid configuration?

For low power modes, according to the state diagram in figure 2-9 on page 42, LPM1, LPM2, LPM3, and LPM4 turn off the DCO which in the above configurations results in my proposed system have no clock source. I want to exit LPM as a result of an interrupt caused by an edge on one of the port pins.

Is this possible? I did not see any references in the manual concerning clocks supplied to the input registers. I would think that the interrupt controller would need some type of clock. Is the RESET/NMI pin clocked?

Let me know what you think and I welcome any suggestions.

  • Don,

    Your configuration is perfectly valid, but let me clarify a couple things.

    ROSC is actually a feature whereby we allow a user to connect an external resistor to source current into the DCO.  It’s mostly a legacy feature but we include it on newer devices to be backwards compatible.

    The “Internal LP/LF Oscillator” (usually referred to as the “VLO”) IS present on these devices.  That is an internal “R-C” type oscillator.  It’s nominal frequency is about 12KHz with wide tolerance and temperature drift.  However, it can certainly be used to source ACLK for any low frequency needs of your system.  In addition, the DCO on these devices has factory calibrated settings.   Using these, you can actually calibrate or measure the frequency of the VLO to get more accurate uses out of it if necessary. 

    Just to confirm explicitly, the DCO and VLO and ROSC are all completely independent.  So, the DCO will function regardless of if you use the VLO to source ACLK. 

     

    LPM modes  - a brief tutorial:

    LPM1 and LPM2 are more-or-less there for legacy purposes and are not usually used with G2xxx family. So, that leaves LPM0, LPM3, and LPM4.  Let me quickly compare/contrast them here:

    LPM0: This gates the clock to the CPU but leaves all clock sources running.  It essentially replaces while() loops in your code where your waiting on something to happen.

    LPM3: This turns off the DCO, but leaves ACLK and it’s sources active.  In this specific use case that would leave the VLO active and source ACLK.  The current consumption is around .5uA to 1ish uA.  If you have a timer sourced by ACLK it will continue to count.  This mode allows you to set timeouts and wake from LPM after the timeout.

    LPM4: This turns off all clock sources.  This is the lowest power mode and currentn consumption is about 100nA.  BUT, all RAM and the complete machine state is retained.  An external interrupt is needed to wake from LPM4.  However, no clock source at all is needed for that interrupt to fire.  An I/O interrupt or hitting the RST pin will get you out of LPM4.

     

    Finally, interrupts and clocks: No interrupts need clocks to register.  All external interrupts are edge detection.  But, once the edge occurs, the clocks fire up on the ‘430 to handle the ISR or do whatever is needed.

  • How closely would this configuration meet your needs?

    MCLK use DCO
    SMCLK use DCO
    ACLK use VLO

    You can still wake up from an external interrupt (pin) in LPM4, with all clocks disabled.  (Click image to enlarge.)

    Use this MSP430Ware example for reference.

    C:\TI\ccsv5\ccs_base\msp430\MSP430ware_1_40_00_24\examples\devices\2xx\MSP430G2xx2_Code_Examples\C\msp430g2xx2_P1_02.c

  • Mike and Jason,

    Thanks very much for the guidance.  Very useful to get things moving forward.  Possibly more questions to follow...

    Thanks again,

    Don

**Attention** This is a public forum