Measuring 30b CPU speed reduction
|
08-03-2015, 05:05 AM
Post: #6
|
|||
|
|||
RE: Measuring 30b CPU speed reduction
Hello,
I do not remember exactly the values for the CPU, but I am the one who implemented the feature and can explain the why of it and why it does actually preserve battery life (Car analogy is incorrect)... At full speed (30~36Mhz), the CPU will draw around 20mA. This is outside the normal operating range for CR2032 for 'long pulse' and result is a rapid rise of the battery internal resistance, and hence a lot of energy wasted 'in the battery'. CR2032 are OK with short pulses of high power draw, but can not (are not designed) to sustend continuous high power draw. They are OK with a continuous low power draw however. So, if the calculator runs for more than 1s at full speed, a timer kicks in and reduces CPU speed to 4Mhz (from memory). At that speed, the CPU runs on an internal oscillator which is very power friendly (compared with the PLL used at 30Mhz), AND the wait state of the flash can be reduced to 0 (instead of one, which speeds up the CPU calculation compared with the CPU speed). This reduces the power consumption by a factor much greater than the ~5 time drop in CPU speed (around 10 if my memory serves me well) and places the batter draw back in the 'long pulse' range, drops the battery internal resistance (which means that battery energy will be used by the CPU and not to heat up the battery), and in turn increase battery life... So, the correct car analogy is to say that driving a car at 20Mph DOES save gaz compared with driving it at 200Mph (which is certainly true as the wind resistance is non linear!) I hope that this helps! Cyrille |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)