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.

MSP430F5x vs RL78/G13

Other Parts Discussed in Thread: MSP430F1611, MSP430F5438A

I am designing an ultra low power device that wakes up from standby mode every 1 minute, measures from sensor and goes to standby again. The device is working with internal batteries. For selecting a processor, I have reached to the point of selection between MSP430F5x and RL78/G13.

512KB Flash RAM and 32KB SRAM of RL78/G13 (against 256KB Flash and 16KB SRAM of MSP430) as well as its lower active mode power consumption (66uA/MHz vs 23- uA/MHz) is tempting for our device. However, the extended temperature range  (-55C) as well as more flexible clock system of MSP430F5x is tempting for me as well.

I have to mention that I have not done any measurement to compare the power consumptions and I have studied only the datasheets, however, I cannot rely only on the numbers in datasheet. Regardless of the Flash memory size and extended temperature rand, could you please help me to have a comparison between the power consumption of MSP430F5x and RL78/G13.

Thanks

  • Hi,

    my opinion as TI employee might be biased, but we have a white paper describing on how to make real benchmark comparison for ultra low power application:

    http://www.ti.com/lit/wp/slay023/slay023.pdf

  • SRAM is a static (constant) current consumer. More SRAM means more current. However, there are MSPs in the 5x family with up to 64k SRAM.

    CPU current consumption is one thing. The peripherals are another thing. In low-power MCUs, CPU current is only a fraction of the total current consumption, especially on low speeds. Also, the MSP support low-power modes which can be use without any speed penalty and which reduce CPU current to zero. A good program spends most of time in LPM, so a good LPM strategy (and good coding skills for using it properly) is way more important than a single non-normalized datasheet value.

    Finally, current/MHz does say nothing. Many MSP operations (all register/register operations) only take a single CPU cycle. Other CPUs require more cycles to do the same job. So while having lower µA/MHz, they also need more MHz to do the same job.
    Values like µAs/Dhrystone would be way more interesting. But nobody provides them, as they could be really used for comparing the products. And the marketing dpt. then cannot pick the lowest (nicest) value in the datasheet for advertizing, even though it is rather meaningless in comparison.

    As you said, you cannot rely only on datasheet values. Because datasheet values need to be interpreted in context. You simply cannot compare raw values across different products.
    It’s like comparing the price for honeydew melons and watermelons and saying both are melons and with watermelons you get more pounds per dollar.
    After all, you don’t want MHz, you want calculations done.

  • Thanks Leo, the paper was great.

  • Thanks Jens. Unfortunately, everybody says that we should compare µAs/Dhrystone of different MCUs, however, you can find this value for none of them, it is a secret value!

  • You’re right, this very comparable information is usually not provided. Mainly because it is comparable. And nobody really wants his product to be compared against the competitors. Instead, the best-looking parameter, as meaningless as it might be for comparison, is presented for advertizing purposes.

    Well, even µAs/Dhrystone wouldn’t be 100% comparable these days, because the MSP (like the x86) can work with lower core voltage for lower speeds, which makes the current consumption not scale linearly with speed.
    But partly, you can calculate this value.
    If you know Dhrystones/s@xMHz, you can calculate Dhrystones/s@1MHz, then divide the µA/MHz by it and get µAs/Dhrystone. Even though Dhrystones aren’t usually provided for microcontrollers, you should be able to get this information somewhere on the net from other users.

    Well, I did say it is one of few ways to get a real comparison (and MIPS is not), I never said that it is easy to obtain :)

  • Here is my calculations for uA/DMIPS

    MCU uA/MHz DMIPS/MHz uA/DMIPS

    MSP430F5x


    230 @ 8MHz


    0.3-0.45

    (this is the only thing I found in the net)


     

    511-767


    RL78/G13


    262.5@8MHz

    190.6 @ 32MHz


    1.28 @32MHz


    205 @ 8MHz

    149 @ 32 MHz


    EFM32GG

    (Cortex M3)


    227.7 @ 8MHz

    215 @ 32MHz


    1.25 @ ? MHz


    182.2 @ 8MHz

    172 @ 32MHz

  • Amir Rahvar said:

    I have to mention that I have not done any measurement to compare the power consumptions and I have studied only the datasheets, however, I cannot rely only on the numbers in datasheet.

    Maybe you can find something in STM32L vs MSP430F5 topic...

    http://forum.43oh.com/topic/3416-stm32l-vs-msp430f5-whats-left-for-msp430

  • I did a quick port of the Dhrystone 2.1 C code on the MSP430F1611, running on 8MHz.
    I compiled it with MSPGCC 2.3.2 compiler (quite old, but all our code is built with this version and verified)
    Without any optimization (-O0), I get 3194 Dhrystones, which means 399D/Mhz and (relative to the VAX11/780 rating of 1418D/s on this version of the benchmark) 0.281DMIPS/MHz.

    When optimized for size (-OS), there are 4316D = 0.38DMIPS/MHz, and when optimized for speed (-O2, without inlining) it goes slightly up to 4338D = 0.382DMIPS/MHz
    Then I replaced the standard library memcpy function by DMA (byte-wise, so no assumptions about alignment) and the number went up to 5296D = 0.467DMIPS/MHz.
    When using –O3 which allows inlining of small functions (-O3), it goes up to 5028D =0.443DMIPS/Mhz without and 6446D = 0.568DMPIS/Mhz with DMA.

    Perhaps using –O3 but preventing inlining would give better results than –O2, even without violating the no-inlining-rule of the test.

    And I’m pretty sure that the 5x family devices with their more advanced instructions will give way better results too. Especially the 16% faster move instruction.

    I also noticed that the algorithm does not use any multiplication, in which the MSP would excel, especially with the 32bit hardware multiplier.

    As one can see with the boost when using DMA, the DMIPS value is good for comparing raw core power, but intelligent use of the available peripherals (the coder skill) must not be left unconsidered. A skilled coder with experience on a less capable processor may still yield way better results than a superior processor which is castrated by an unskilled or inexperienced (and often both) coder.

    Wow, I think this is the first investigation I ever made on an MSP without any relation to my daily work.

  • Thanks Jens-Michael. It was a great experiment. Your measurements confirms perfectly my DMIPS/MHz values in the table mentioned above.

  • Well, if you take the 5438A, it isn’t only faster due to more efficient CPU instructions, It also consumes less power. Since the Dhrystone shall meter the CPU power, you can run it from ram. Won’t change the speed, but reduce the µA/Mhz to only 110 (8MHz, PMMCOREV0). Taking my results on the 1611 (Which are below the 5x capabilities) with this consumption, I get 290µA/DMIPS or with the optimized code 194µA/DMIPS. Even less with the better instruction set.

    With these results, the MSP430F5438A does perform better in µA/DMIPS than the listed competitors @8MHz. Despite of the lower DMIPS/MHz. (and I still wonder how these get so high DMIPS/MHz, the PC/XT did only reach about 0.2DMIPS/MHz)

    Yes, it all comes down to the exact circumstances.

**Attention** This is a public forum