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.

MSP430F6779: System Frequency vs Supply Voltage

Other Parts Discussed in Thread: MSP430F6779, MSP430F5510, MSP430WARE

Hi,

In datasheet it is written that MSP430F6779 can work at maximum 8Mhz if Supply Voltage is 1.8V.

Above limitation is for MCLK according to the device datasheet. 

My question is that if DCO output has similar limitation. 

For example

VDD = 1.8V

fDCO = 64 Mhz (suppose it is adjusted to generate this frequency using FLL)

And finally use DIVM to divide fDCO frequency to get final MCLK

Set DIVM = 8

So final fMCLK = fDCO/8 = 8Mhz.

Well, final MCLK is in the range. What do you think that is safe enough? Or there is another limitation for DCO output for 1.8V VDD?

Thanks.

  • Hi,

    yes this is basically possible: http://processors.wiki.ti.com/index.php/MSP430_FAQ#Why_should_it_be_possible_to_run_5xx.2F6xx_UCS_DCO_clock_to_frequency_higher_than_25_MHz.3F

    and you can also search for similar topics.

    However please notice that the FLL of the UCS system produce jitter by changing the frequency above and below the target FLL frequency (you can also search for similar topic in this forum - a lot of detailed exaplanation from Jens-Michale Gross). This means that if you use 8 MHz, the FLL will toggle between 8+x and 8-x MHz, and the first one basically violate the spec. 

    I would recommend to either use lower frequency (e.g. 6MHz) or use higher supply and PMMCOREV value.

  • Just note that I prefer to use (high-frequency oscillator) XT1/XT2 directly when I need higher (MHz) MCLK., because on this way there is no need to increase core voltage, like with FLL/DCO. Only reason for me to increase core voltage is overclocking, nothing else.

  • what do you mean when you said that "there is no need to increase core voltage"?

    all the cases if you need to run MSP at 20Mhz or above (MCLK) you have to use PMMCOREV = 3. Default PMMCOREV which is 0 will not work even for your case.

  • Leo Hendrawan said:
    This means that if you use 8 MHz, the FLL will toggle between 8+x and 8-x MHz, and the first one basically violate the spec. 

    Thanks for referring to me.

    However, in this particular case, using DOCODIV with a prescaler of 8, or DIVM=8, will reduce the 'overshoot' to 8MHz+-(x/8) (=1.5% worst case). So considering the safety margin, it is very likely that it will work. Sure, not 100%, but 99.999 I guess.  Especially, as the limitt considers the full operating range.
    But as you said, to be sure, a higher core voltage setting or a lower frequency (but 6MHz is really much of a safety margin then) is of course the the way to go.

  • My note is not related to supply voltage, only core voltage. I am using MSP430F550x family members, with 24 MHz XT2 (MCLK = 24 MHz, not using FLL/DCO), powered by USB  (internal 3.3V LDO) without increasing core voltage. I only increase core voltage when I want to overclock it. In slac300 "MSP430F55xx Code Examples" there is MSP430F55xx_UCS_08.c example (XT2 sources MCLK & SMCLK without increasing core voltage) and MSP430F55xx_UCS_10.c (Software Toggle P1.1 with 25MHz DCO with increasing core voltage). 

  • zrno soli said:

    My note is not related to supply voltage, only core voltage. I am using MSP430F550x family members, with 24 MHz XT2 (MCLK = 24 MHz, not using FLL/DCO), powered by USB  (internal 3.3V LDO) without increasing core voltage. I only increase core voltage when I want to overclock it. In slac300 "MSP430F55xx Code Examples" there is MSP430F55xx_UCS_08.c example (XT2 sources MCLK & SMCLK without increasing core voltage) and MSP430F55xx_UCS_10.c (Software Toggle P1.1 with 25MHz DCO with increasing core voltage). 

    I believed that all the cases if you need more than 8Mhz MCLK, you have to play with core voltage register. Source from DCO or from external xtal doesn't matter. They may forget to change PMMCOREVx in the code unintentionally.

  • BasePointer said:

    I believed that all the cases if you need more than 8Mhz MCLK, you have to play with core voltage register. Source from DCO or from external xtal doesn't matter. They may forget to change PMMCOREVx in the code unintentionally.

    Why? You had same problems with MSP430F5xx with 24 MHz XT2 on core 1.4V (default, PMMCOREV=0)? I am working with few MSP430F5510 DIY boards with 24 MHz XT2 on 1.4V core, more than 2 years and never had any problems. Don't see any reason (except overclocking http://forum.43oh.com/topic/3906-msp430f5xx-overclocking) to change this (PMMCOREV).
  • Leo Hendrawan said:

    Hi,

    yes this is basically possible: http://processors.wiki.ti.com/index.php/MSP430_FAQ#Why_should_it_be_possible_to_run_5xx.2F6xx_UCS_DCO_clock_to_frequency_higher_than_25_MHz.3F

    and you can also search for similar topics.

    However please notice that the FLL of the UCS system produce jitter by changing the frequency above and below the target FLL frequency (you can also search for similar topic in this forum - a lot of detailed exaplanation from Jens-Michale Gross). This means that if you use 8 MHz, the FLL will toggle between 8+x and 8-x MHz, and the first one basically violate the spec. 

    I would recommend to either use lower frequency (e.g. 6MHz) or use higher supply and PMMCOREV value.

    Leo,

    I have another question regarding to PMMCOREV setting.

    In my application, I have two power domains first is 3.3V and other is 1.8V. I mean that MSP sometimes will be powered with 1.8V and sometimes with 3.3V.

    If MSP is powered with 3.3V, I will set MCLK to 16Mhz because I need more processing power in this mode.

    If MSP is powered with 1.8V, I will set MCLK to 8Mhz because no processing power required in this mode.

    And switching between these two modes should be fast.

    OK, MCLK frequency switching is easy and fast, I don't have any problem with it.

    But I have problem with PMMCOREV setting.

    In 16Mhz and 3.3V mode, I will set PMMCOREV to 2 this is OK.

    But should I set back PMMCOREV to 0 for 8Mhz and 1.8V mode?

    What if I keep PMMCOREV as 2 and just reduce frequency to 8Mhz at 1.8V?

    Any side effect other than consuming more power?

    Also on Wiki page you provided, they said that "To set the VCORE level, it is advised to use the 5xx/6xx Core Libraries" But core library link is not working.

    10x.

  • Hi,

    i think you need to switch back to PMMCOREVx=0 if the supply drops from 3.3V to 1.8V. The reason is that in the datasheet - http://www.ti.com/lit/ds/symlink/msp430f6779.pdf - section "Recommended Operating Conditions" - page 57, it is mentioned that you need at least 2.2V Vcc supply to set PMMCOREVx=2. 

    Anyway i just modified the wiki page, you need to refer to the driverlib of MSP430ware now for getting codes to setting PMMCOREVx level.

**Attention** This is a public forum