Jump to content
43oh

MSP430FR vs M0+ which is better for battery-less operation


Recommended Posts

  • Replies 32
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

@@rockets4kids While I tend to agree with alot of your points, we should assume that @@RFEE has done enough background work on his design to know which parameters he is using as a metric.   This sta

I tend to agree with what is posted before; you do need to care about low power modes, since that's the whole point of using an msp430! A tiny teeny example: you need an ADC to measure... Then start

It is pretty obvious that if you ask which is the better part in an msp430 forum you are going to get the answer that of course the msp430fr59xx chip is the better choice.

Hi All,

 

My company is interested in developing passive sensors that are capable of harnessing energy from the environment, so basically the sensor are completely dead and without power until there's either light, temperature difference, vibration, or RF illumination.  So I do not care about high current draw in sleep mode. In this type of environmentwhat would work best? MSP430FR? or M0+?  

 

Current draw during start-up on the MSP430 is also a problem, which is roughly 1 ms. Looking at the EMF32 Zero Gecko, Its list as 400us with a 24MHz clock.  It seems to me that Zero Gecko would be a better choice, but from uA/MHz  FRAM based MSP430 is a better choice.

 

I don't need to do any crazy computation here, all I  need is for the ADC to measure a time decay, and send it back out through a wireless tx module.

I tend to agree with what is posted before; you do need to care about low power modes, since that's the whole point of using an msp430!

A tiny teeny example: you need an ADC to measure...

Then start the ADC S&H circuit, go to low power, get an interrupt from the ADC that it's done, wake up and copy the value.

 

As you can see, even for such a simple task as reading the ADC (which may take only a few milliseconds, maybe even microseconds) it's worthwhile to consider implementing low power. If you choose not to, than you're burning precious energy.

 

Same for RF transmission, let's assume your RF module accepts serial data (UART or SPI) and you need to send 4 bytes of data.

You load the first byte in the USCI (or other serial peripheral), go to sleep, get an interrupt when the TX register is available again.

Then you wake up and load the second byte.Same for third. Same for fourth.

Then you get an interrupt, wake up, since you have nothing else to, you return to low power again, but now without any clocks, you don't need them anymore, but the RF module is not yet done with the last byte. This way you can drop your msp430 power consumption to a few hands full of nanoamps.

 

If you ignore these scenarios and let your MCU just spin until it's allowed to do something (read a sampled ADC value, send a next byte, etc) then you're not giving the msp430 the fair chance it deserves.

Link to post
Share on other sites

@@rockets4kids 

 

TI give a great table in their datasheets, Table 5-10 "Typical wake-up charge" Taken from the FR5969 datasheet Pg 31.

 

A*s or Ampere Seconds is just Coulombs, the standard unit for charge. This is literally the energy required for the IC to power-up before it will execute any code.

 

Looking at EnergyMicro's M0+ they don't have any comparable values.

We can compute a value to try and compare. however during a MCU start-up not everything is running as it is in active mode, so these figures will be larger than if tested.

 

Gecko zero M0+

typical startup time 163us (Device datasheet, table 3-5 power management)

Startup speed 14Mhz (reference manual pg 106)

Active mode current: 117uA/Mhz  * 14Mhz = 1638uA (device datasheet, operating current)

 

Startup charge = 266nAs

 

Personally, I would build your device using both MCUs and personally test the difference. Asking about product comparisons on a forum about one of the products is inevitably going to return biased results.

 

Full disclosure I have never used any energyMicro devices. I just spent a few minutes on google and reading datasheets.

@@greeeg @@roadrunner84  Thanks for your input, and thank you for not starting your reply by stating that I know nothing, and I'm a person who probably doesn't know what he wants.  That aside, I was wondering if its possible to assume that the zero gecko can start from EM4 mode without any power to begin with, and if that is indeed the case, then the 163 us would be the correct value. Now Looking at Table 3.9. HFXO for the zero gecko, it says it takes 400 us a 24 MHz crystal to startup.  So which value should I use from a dead start?   (As for FR5969, according to Table 5-5. it says 0.6 ms @ 3V/24MHz.)

Link to post
Share on other sites

I fully understand, sometimes I see in these cases, it is either the only way or greatly simplifies the implementation and cost model. In high volumes the ASIC pays for itself quite quickly. If you are looking to do something simple, a fast turn on oscillator and digital state machine is fast, cheap and low power.

Link to post
Share on other sites

@@igor  Thanks for the links.  I've read both of those earlier last week, but since I am not  a MCU expert, I didn't realize until now that  I can use the PRS system on the gecko zero in EM1 mode to make a measurement with the ADC and put it in the RAM without ever waking up the core.  And after reading  @@roadrunner84's response, I think it might be even possible to also activate UART under EM1 as well, thus consuming only 50uA/MHz in the entire process.

Link to post
Share on other sites

I wasn't talking for myself. :)

 

I didn't realize those gecko chips had appeared with a reasonable price. However it looks like the dev boards are still pretty expensive. http://octopart.com/efm32zg222f32-qfp48t-silicon+laboratories-30290453 You might consider the gecko on price alone.

 

BTW: At least one of those posters in the links above is by someone who has scratched msp430 chips off their favorite chip list.

 

-rick

Link to post
Share on other sites

I feel bad about saying this on an MSP430 site, but really, really, really... the MSP430 is not getting chosen for new designs in IoT stuff.  If you are a TI dedicate, this might be OK, since there is a little bit of leaked information about CC13xx on the internet... you can probably guess what it is (good night CC430).  And no, I do not have an active NDA with TI.  I've said for a long time that TI should upgrade MSP to CM0+ and just keep the same clocking and peripherals.

 

A good Cortex M0+ like the STM32L0, EFM32-Zero, or the equivalent Freescale part (I am not familiar with their naming, but I know they are doing a lot of ARM CM devices) will be able to run the same code (let's say, C) a lot faster than MSP430 will.  For the most part, the CM0+ devices have roughly similar figures for current usage at 16 MHz, and this figure is about the same as the MSP430F5/CC430 at 20 MHz.  It's somewhere in the area of 3.5mA.  However, the CM0+ at 16 MHz is still more than twice as fast as the MSP430F5 at 20 MHz.  CM3 is almost exactly three times as fast, in my personal measurements with OpenTag.

 

In terms of sleep current, this is important too.  In ARM language, your main sleep mode will be DEEPSLEEP with all buses powered-down.  STM32 calls this "STOP."  EFM32 has some LPx nomenclature.  In any case, on these devices, STOP current (or equivalent LPx) is in the 0.4-0.7 uA range, and you can go from STOP to full speed run in about 4us.  That's pretty damn impressive.  The light-sleep that you can use during certain, blocking operations is in the 600 - 800 uA range.  That is still impressive.  Additionally, one of the things I do with STM32 is have OpenTag (an RTOS) automatically determine the optimal run speed.  Tasks can also request a speed.  The most efficient run speed of the STM32 is 4.2 MHz, but for doing protocol processing you definitely want to jump to 16 MHz in order to turn-around the packet faster.

 

Other benefits:

- ARM CM DMA is a lot better than the MSP430 DMA.  If you are smart, you can write fast memcpy and SPI routines that also go into light sleep.  This adds up.

- ARM CM has a nested-vector interrupt controller, which can be nice for working with multiple I/O.  This is most prevalent on CM3, 4, 7.

- ARM CM has a hardware-based dual stack configuration, which makes running a lightweight RTOS much more efficient and reliable than with MSP430.

 

IMO, the best CM3 device is the EFM32 Gecko, but the best CM0+ device is the STM32L0.  It beats or matches the zero gecko in most respects, it has HW CRC, HW AES, and also a bunch of special low-power features.  It also has onchip EEPROM, which is really important if you want to store non-volatile data, even if it is just a mapping table to a flash wear leveling system.  It is also priced much better than EFM32.  Nonetheless, it might be worth it to wait for more info on CC13xx.

 

RF Element:

The biggest power user is going to be the RF transmitter.  In addition, you need to worry about the RF startup time.  The SPIRIT1 from ST has an onchip SMPS, so it has the lowest TX current by far.  It also has a very fast fractional-N PLL and crystal driver.  However, I think it is not so fast from a truly cold start.  You will need to seriously inspect the startup-time for all the transmitters you are considering, in addition to the transmission current.  I still bet SPIRIT1 is the best choice.

Link to post
Share on other sites

@@jpnorair, I see the Zero Gecko parts at Mouser even in single quantities for just about a dollar upwards. I haven't seen the STM32L0 anywhere that cheap yet.

The mouser pricing seems like it's promotional.  In any case, it is good to see that the price has come down.  One caveat about Zero-Gecko, though, is that it is only 32KB Flash + 4KB RAM, and there is no AES HW.  In September, I bought a tray of 50 STM32L062K8 parts from Future for under $2/unit.  This is obviously $0.70 greater than the price of the Zero-Gecko, but the device has 64KB Flash, 8KB RAM, 2KB EEPROM, crystal-less USB, and HW AES.  For doing IoT stuff, the AES and EEPROM are good to have.  The extra RAM doesn't hurt.  Many of the MSP430F5 devices have USB and AES, and the FR ones have nonvolatile memory, so I would say it is a better comparison.

Link to post
Share on other sites

You have to love when you can have these debates down to a nickel and dime.  I just looked up a EFM32 Cortex M0+ with AES, just $1.06 for a single chip.  That is crazy. 

 

http://www.mouser.com/Search/ProductDetail.aspx?R=EFM32ZG110F32-QFN24virtualkey63410000virtualkey904-EFM32ZG110F32

 

Still *only* 32k of flash and 4k of ram, no EEPROM or USB but jeaze you're right, way more compute, memory and peripherals than MSP430 AND lower cost.

Link to post
Share on other sites

You have to love when you can have these debates down to a nickel and dime.  I just looked up a EFM32 Cortex M0+ with AES, just $1.06 for a single chip.  That is crazy. 

There is no AES on this part.  In fact, no Zero-Geckos include AES.  AES can actually be a bit of an issue for export restrictions, so don't get it unless you know you need it.

 

Cost matters if you care about production.  If you are a hobbyist, frankly, I think you should care more about how quickly/easily you can realize the goal far more than you should care about cost, but nonetheless I have encountered a lot of folks stressing-out over a dollar here or there.

 

Anyway, the price on these parts is outrageous.  SiLabs cannot be making money on these.  But, a race to the bottom for the manufacturers benefits the users, so good for us.

Link to post
Share on other sites

Well, knowing a little about the cost structure for semiconductor production, they are probably making a little, but to your point, it isn't much...

 

It isn't a big deal but I'm confused, I thought that on page 3 of the data sheet that I did see AES: http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32ZG110.pdf

 

You are using the ST Spirit1 transceiver these days, doesn't that have a AES co-processor as well?

 

Anyway, back to the Original Post, looks like you have some good options.

Link to post
Share on other sites
It isn't a big deal but I'm confused, I thought that on page 3 of the data sheet that I did see AES: http://www.silabs.com/Support%20Documents/TechnicalDocs/EFM32ZG110.pdf

You are using the ST Spirit1 transceiver these days, doesn't that have a AES co-processor as well?

You seem to be right, AES is described as a feature, and I can ind no exceptions in the datasheet, stating that this chip is an exception to that feature.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...