cancel
Showing results for 
Search instead for 
Did you mean: 

FPU comsums seeable extra power?

Attila
Associate II
Posted on November 05, 2014 at 12:11

Hi  everyone!

I have a project where necessary to use FPU to proccess my AD data. If I enable the FPU in the uVision Keil, then I can see an extra noise on my power line and I get wrong values, but when I disable the FPU, values are good and the measurement is correct. I'm developing on the STM32F407 eval board. I have attached 2 picture. The same code with and without FPU. Im not allowed to tell the goal of the signals, but the blue one shows the power in AC mode. Anybody has the same or similar experience?

All the best,

Attila

#stm32-fpu-noise
6 REPLIES 6
frankmeyer9
Associate II
Posted on November 05, 2014 at 12:38

If I enable the FPU in the uVision Keil, then I can see an extra noise on my power line and I get wrong values, but when I disable the FPU, values are good and the measurement is correct.

 

I guess you mean noisy values. However, the FPU represents a not-insignificant part of the silicon, clocked with system core clock (up to 168MHz), which consequently pulls a significant amount of power when enabled.

The F407 has separate VDDA and VSSA pins to decouple analogue peripherals from the digital supplies, and the unavoidable ripple. Do you (or does your board) make use of it ?

Attila
Associate II
Posted on November 05, 2014 at 13:21

Yes, I tried to separate the analog part, I have connected external voltage to the VDDA, Vref+, but it didn't give significant improvement. Okay, lets say, my power lines are not the best, but is it possible to have an internal effect of the FPU usage to the AD's power supply? I know it is deeply silicon development, but I have no other idea at this moment:) The only difference between the test cases is the FPU usage...Sorry, I can't tell other circumstance about this thing, and in this case I see, there is no provement of my standpoint.

Posted on November 05, 2014 at 13:40

> the FPU represents a not-insignificant part of the silicon, clocked with system core clock (up to 168MHz), which consequently pulls a significant amount of power when enabled.

How true; however, the datasheet fails to specify... :(

Anybody with enough buying power to pester ST?

> Yes, I tried to separate the analog part, I have connected external voltage to the VDDA, Vref+, but it didn't give significant improvement.

Then you still have problem with grounds (!!!) and decoupling.

> Okay, lets say, my power lines are not the best, but is it possible to have an internal effect of the FPU usage to the AD's power supply?

Probably yes, but it's hard to say, how much. Have you read AN4073 and AN2834?

JW

frankmeyer9
Associate II
Posted on November 05, 2014 at 14:24

> Okay, lets say, my power lines are not the best, but is it possible to have an internal effect of the FPU usage to the AD's power supply?

 

 

Probably yes, but it's hard to say, how much. Have you read AN4073 and AN2834?

 

Neither did I do a close investigation of EMI issues in analogue peripheral due to power supply.

However, one should note that analogue peripherals in microcontrollers are always a compromise. They are forced close to hard-switching digital circuitry, with less than optimal supply voltage. Considering that, ST did do a quite good job, compared to competitors, and considering the price (well, less for documentation).

If you need very good accuracy, consider external analogue components, giving you much more freedom in design and PCB layout.

Attila
Associate II
Posted on November 05, 2014 at 14:48

This dev.board is kidding with me...One of the VSS pin was pulled up to VDD. R27 was fitted instead of R28. On a newer version of this dev.board R28 was fitted. I think this was the VSS pin of the FPU and that's why I got wrong operation.

I hope, I can close this topic and say thanks to all of you for the help:)

Posted on November 05, 2014 at 14:59

I get wrong values, but when I disable the FPU, values are good and the measurement is correct.

But wrong how? You understand how awful precision is at 32-bit (24-bit mantissa) with no better intermediate precision, right?

Does the math work on DISCO and EVAL boards? Can you demonstrate the arithmetic and data used to illicit the failure?
Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..