Changing the CPU speed - General Discussion and Assistance - CHDK Forum

Changing the CPU speed

  • 6 Replies
  • 4505 Views
*

Offline RaduP

  • *****
  • 926
Changing the CPU speed
« on: 08 / August / 2009, 21:11:35 »
Advertisements
Is there any way to change the CPU speed, preferably from a script? I know that the ARM cpus can run at very low frequencies, at this might help (just a little) with the camera standby mode (cpu and sensor off), so that it can be used with a long timelapse script if you don't have AC power available.

*

Offline reyalp

  • ******
  • 14125
Re: Changing the CPU speed
« Reply #1 on: 08 / August / 2009, 23:59:21 »
The cameras already adjust some clock speeds on the fly. You can find the relevant functions with strings like, "clock", "clk", "mhz" etc.

See http://chdk.setepontos.com/index.php/topic,2139.msg20087.html#msg20087

These functions are not currently exposed in CHDK or script.
Don't forget what the H stands for.

*

Offline RaduP

  • *****
  • 926
Re: Changing the CPU speed
« Reply #2 on: 09 / August / 2009, 00:44:59 »
Well, do you think they take their clock really down, such as 1 Mhz or less, when the lcd and sensor are off?
I've seen some power consumption numbers, and it's almost 150 mA when in stand by, which is a lot. Of course, the CPU alone probably takes much less than that, so I am also curious what takes all this power.

*

Offline reyalp

  • ******
  • 14125
Re: Changing the CPU speed
« Reply #3 on: 09 / August / 2009, 02:05:46 »
Well, do you think they take their clock really down, such as 1 Mhz or less, when the lcd and sensor are off?
I would assume that canon engineers aren't stupid, and use the power saving features available to them quite aggressively. Battery life is significant point of competition in the digital camera market, although I suppose this applies more to shooting than idling.

On my digic II camera at least, the set?clkNNN functions simply write the values 0,1 or 3 to an MMIO address (corresponding to speeds of 72, 18 and 36 mhz respectively according to the associated print function). This suggests to me that control in single MHZ increments is not available.
Don't forget what the H stands for.

*

Offline RaduP

  • *****
  • 926
Re: Changing the CPU speed
« Reply #4 on: 09 / August / 2009, 04:41:24 »
Yes, I also don't think they would focus much on the idle power saving, because very few cameras spend any significant time in that mode.
I would really like to use a Canon camera with chdk for a long timelapse (2-3 months), but except for a car battery, there is little chance I could waste almost 0.4W each hour.

I hacked a cheap, broken Samsung camera, attached a PIC controller with a phototransistor and potentiometer (the phototransistor is to prevent it from turning the camera on at night, and the potentiometer to set the delay), then attached a solar panel, and it took photos for almost 2 months, until the 2gb card got full (this camera won't support HCSD). But a Canon camera with chdk would be much nicer, because I can adjust the focus, do long exposure stuff so that I can take pictures at night too, and many other cool things. I wish I'd knew where all that power goes :/

*

Offline Anaglyphic

  • ***
  • 129
  • Anaglyphic lives!
Re: Changing the CPU speed
« Reply #5 on: 11 / August / 2009, 01:16:32 »
Since we cannot know all that there is to be known about anything,
 we ought to know a little about everything.
-- Blaise Pascal

*

Offline RaduP

  • *****
  • 926
Re: Changing the CPU speed
« Reply #6 on: 11 / August / 2009, 02:36:34 »
If I go the microcontroller way, which I am thinking of doing, I would not use a servo. I would instead hotwire the shot and on/off buttons, and possibly some other buttons as well.
However, doing stuff the microcontrolelr way has some disadvantages, such as turning the camera lenses on/off many times a day, and I am sure they will eventually fail (not to mention drain the battery). And using CHDK with a microcontroller doesn't make much sense from a pactical point of view.

 

Related Topics


SimplePortal © 2008-2014, SimplePortal