cancel
Showing results for 
Search instead for 
Did you mean: 

How can I provide a 1Mhz HSE Byp clock for low power... without wasting more power than I save??

BarryWhit
Lead II

Hi all,

 

I've been working on reducing the power consumption of a project I'm working on using the STM32G431.

Stop modes are not an option on this chip since I need to keep some peripherals active, but I've been

able to reduce the needed system clock to below 1Mhz, and use the LP-Run/Sleep modes exclusively.

 

I've gone as far as I can in terms of reducing overall frequency. According to the CubeMx power estimator pane, I can  reduce the power consumption further by about 75% by avoiding the use of a crystal and supplying an external clock

signal instead. This so-called "HSE Bypass" mode powers down the oscillator circuit as well as the PLL. 

 

But I've run into a wall in implementing this. If I can't use a crystal, what do I put on the board to generate my (say, 1Mhz) clock? I don't have an FPGA or a big-brother CPU on the board to provide the clock. And to add one would negate the power savings several times over (to say nothing of the BOM cost). 

 

I've searched for dedicated clock generators, but what I've found so far seems to aim at much higher frequencies and still requires 10x the power used by the G431 to run.

 

Are there any jellybean chips/solutions for this? basically, I need an IC that generates a (say) 1Mhz clock while consuming only 10-100uA. 

 

[Edited for clarity]

- If someone's post helped resolve your issue, please thank them by clicking "Accept as Solution".
- Please post an update with details once you've solved your issue. Your experience may help others.
1 ACCEPTED SOLUTION

Accepted Solutions

So why not just try with HSE crystal, 4MHz , and check real world value then ?

AScha3_0-1717939413657.png

Or with hse-bypass, maybe the lowest possible consumption (if no crystal precision needed) :

584-C6930IMS88.00TPF (mouser) 

AScha3_1-1717941297754.pngAScha3_2-1717941466100.png

So you can expect about 150uA at 1MHz setting for this kind of micro-power-osc.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

23 REPLIES 23

@BarryWhit wrote:

I've gone as far as I can in terms of reducing frequency. 


Very often, a more effective strategy is to have the chip run quickly, and sleep more.

Do those peripherals really need to be constantly active?

 


@BarryWhit wrote:

Are there jellybean chips out there dedicated to generating a (say) 1Mhz clock while consuming only 10-100uA?


Have you looked at Silicon/MEMS oscillators?

eg, https://www.sitime.com/solutions/internet-of-things-iot 

See also:

https://www.st.com/resource/en/application_note/an2867-guidelines-for-oscillator-design-on-stm8afals-and-stm32-mcusmpus-stmicroelectronics.pdf

 

Some of the modern MEMS oscillators? These are no jellybeans, though.

Btw. are you aware of the minimum PLL frequency being 2.6MHz?

OTOH, do you need crystal precision? HSI16 (perhaps trimmed e.g. to LSE) wouldn't suffice?

JW

Hi @Andrew Neil,

> Very often, a more effective strategy is to have the chip run quickly, and sleep more.

 

Actually, when you scale HCLK way down, the power consumption gap between LPRUN  and LPSLEEP

is only about 20uA (out of say 160us).

 

Do those peripherals really need to be constantly active?

 

I need the DMA to feed the DAC every 20us. that's on the order of the wakeup times for STOP modes, so that doesn't seem worth persuing. With a newer sexier chip like the u5 (and LPDMA), I possibly could employ deeper LP modes, but for now I'm focused on getting as far as I can with the G431.

 > See also an2867-guidelines-for-oscillator-design

 

HSE Bypass specifically means using an external clock signal (i.e. a toggling pin) instead of an oscillator/ceramic resonator. 

 

> Have you looked at Silicon/MEMS oscillators?

This is interesting. They do claim to use drastically less power. but I'm not sure if what the power estimator reports is due to the STM32's own circuitry, or due to the crystal oscillator itself. Is it possible that crystal oscillator consume significant power, apart from the MCU? i thought they just... "vibrated and stuff".

- If someone's post helped resolve your issue, please thank them by clicking "Accept as Solution".
- Please post an update with details once you've solved your issue. Your experience may help others.

If you do not need high accuracy and low jitter for your clock, consider to run from 2^15 quarz or oscillator .
"When a 32.768 kHz clock source is available in the system (LSE), the MSI frequency can be automatically trimmed byhardware to reach better than ±0.25% accuracy."

 

> Btw. are you aware of the minimum PLL frequency being 2.6MHz?

 

Doesn't HSE Bypass..... bypass the PLL altogether? I didn't plan to use it. I think the power reduction is partly

by powering down the PLL (as well as the oscillator amplifier circuit).

I figured I'd either get a programmable/fixed source at the rate I want, or something in the 1-2-4Mhz range,

and just use the AHB clock divisors. No PLL necessary.

 

> OTOH, do you need crystal precision? HSI16 (perhaps trimmed e.g. to LSE) wouldn't suffice?

According to the power estimator, HSI16  does not provide anywhere near the same power reduction as HSE bypass.

 

Funnily enough, after chasing down all kinds of 90s relics the only viable solution I've come up with is to use a modern variant of the 555. The LMC555 from TI is programmable up to 3Mhz and draws somewhere between 130-250uA. That should work. Of course, it relies on an RC circuit for timing so with "civilian" component tolerances that would mean about a 2% variation in frequency at least. I could probably live with that, but it's not ideal.

 

Even more strange is the fact that there *used* to be such an IC. The Harris HA7210 (1996) (Harris->Intersil->Renesas). According to the datasheet, it used a crystal oscillator as an input but only consumed 100uA at 1Mhz. It's an EOL part and I've found no replacements with Active Status so far.

 

- If someone's post helped resolve your issue, please thank them by clicking "Accept as Solution".
- Please post an update with details once you've solved your issue. Your experience may help others.
LCE
Principal

HSE_BYPASS does not bypass the PLL, only the internal oscillator circuit.

Yes, but the MCU can clock directly from HSE it doesn't need the PLL. Other peripheral might need the PLL, like SDIO on F4

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Techn
Senior III

PIC micro controller has internal clock. You can add external crystal aswell. There are some ultra low-power devices 8 pin devices. For example pic16lf15325, it is stated to consume 30ua/Mhz. Operate at the lowest possible Vcc...

If you feel a post has answered your question, please click "Accept as Solution".

> According to the power estimator, HSI16 does not provide anywhere near the same power reduction as HSE bypass.

HSE with 8MHz crystal consumes around 500uA typ, according to the DS, while HSI16 around 155uA typ 190uA max. You want to divide the AHB accordingly to run the rest of the mcu at the same frequency (say 2MHz), in order to get them into the same consumption level.

HSE bypass does not consume anything, but the external oscillator does, and it will be in the 150uA ballpark.

You can try all these options first-hand using a cheap Nucleo board.

> Funnily enough, after chasing down all kinds of 90s relics the only viable solution I've come up with is to use a modern variant of the 555. The LMC555 from TI is programmable up to 3Mhz and draws somewhere between 130-250uA.

That's static consumption. I am curious how much would operating it at 1-2MHz add to this, and how much would be the current spent in the external RC circuitry.

> Even more strange is the fact that there *used* to be such an IC. The Harris HA7210 (1996) (Harris->Intersil->Renesas). According to the datasheet, it used a crystal oscillator as an input but only consumed 100uA at 1Mhz. It's an EOL part and I've found no replacements with Active Status so far.

Interesting, but, as you've said, gone.

With enough design effort, you may be able to design a low-power crystal oscillator from discretes.

There's also interesting but generally unusable (expensive, non-crystal-precision) LTC6906.

JW