Knocking back the speed?
Rick Murray (539) 13840 posts |
Hi, It is nearly 30C in my bedroom. As a person who works in a refrigerated factory, this is stifling. In addition to this, my eeePC and Beagle are both running rather warm. My eeePC I can handle, it runs around 65C but if I feel it getting too hot (and damn, those SSDs warm up like you wouldn’t believe – and here I thought it would be the x86 that melts the casing!), I can run “eeectl” and hijack the fan controller to max it to 100%. That keeps it cool. The Beagle, on the other hand, gets close to 60C in RISC OS while doing nothing. I believe it is further complicated by being a POP so may be more susceptible to thermal issues (consider how a bimetallic switch works!). A fan isn’t really practicable, and I don’t think a heatsink would be a lot of use as it would sit on the memory. Thus my question – is it possible to artificially knock back the speed of the OMAP to hopefully work on slower = cooler ? |
Rick Murray (539) 13840 posts |
…just looked around. Would Portable_Speed be what I’m looking for? I’ll try this on Saturday. |
Steve Pampling (1551) 8170 posts |
Thus my question – is it possible to artificially knock back the speed of the OMAP to hopefully work on slower = cooler ? I’ve still not figured out whether the u-boot settings delivered through uEnv get overridden by the RO image. IIRC speed is defaulted to auto, which presumably means the OS can then pass through changes. From observation of the temperature monitored by CPUTemp simply blowing across the package drops the temperature from 63C to 57C so any small fan would probably do. I have a 17mm unit for fitting in the LTO3 tape case. 25mm units are easy to find. Discussions elsewhere have centred on how to find a small enough heatsink if you go that route – maybe a voltage regulator heatsink would do. |
Raik (463) 2061 posts |
I do not know exactly, but I think the SmartFlex driver set the speed on the required performance. Who just turned my computer standing around and not the temperature rises. That is why Jeffreys tool to set the speed not works. A problem for my A4xM. On the Pandora and my BB C4 can I set the clock yet. |
Jeffrey Lee (213) 6048 posts |
Temperatures around 60 degrees may sound (and feel) hot, but the OMAP is actually rated to operate at (internal) temperatures of up to around 100 degrees – so apart from the possibility of burning your finger when touching the chip there’s nothing much to worry about with how things are at the moment.
RISC OS completely ignores whatever speed settings u-boot specifies. RISC OS does several things to control the speed of the CPU:
Of course it’s worth pointing out that controlling the CPU speed is only one part of the story – pretty much every part of the SoC can be powered up and down or switched to different power levels as required, but at the moment there’s no framework within RISC OS to control any of this. E.g. I suspect we’d be able to get some significant heat/power reduction if we were able to switch the VDD2 domain (which handles the main bus/interconnect) to a lower OPP. But since so many things are dependent on the VDD2 power/clocks it will require a fair amount of work to get the OS to switch it to a different OPP without everything going tits-up. |
Wouter Rademaker (458) 197 posts |
From http://www.ti.com/lit/ds/symlink/omap4460.pdf (Pandaboard ES) For the Beagleboard processor I can find something like a maximum junction temperature of 90ºC when not overclocked (OPP1 – OPP4). |
Steve Pampling (1551) 8170 posts |
Of course it’s worth pointing out that controlling the CPU speed is only one part of the story – pretty much every part of the SoC can be powered up and down or switched to different power levels as required, but at the moment there’s no framework within RISC OS to control any of this. E.g. I suspect we’d be able to get some significant heat/power reduction if we were able to switch the VDD2 domain (which handles the main bus/interconnect) to a lower OPP. But since so many things are dependent on the VDD2 power/clocks it will require a fair amount of work to get the OS to switch it to a different OPP without everything going tits-up. Useful info, worth a hobby electronics twiddle (ignoring the rather old electronic engineering education) |
Matthias Faust (490) 38 posts |
But see table ‘Recommended Operating Conditions’ in the linked manual on page 128, Note (7) ‘Maximum supported junction temperature in functional operating condition is 110°C. That does not mean that 110°C of junction temperature is supported continuously.’ |
Rick Murray (539) 13840 posts |
That was my main concern. Not so much “how hot can the OMAP get” but rather how much heat (and temperature cycling) can the POP arrangement cope with without risking potential physical degradation due to thermal size changes. As I said, think of a bimetallic strip… |
Keith Dunlop (214) 162 posts |
I am about to embark on heatsinking for my PandaBoard ES as, given the current inclement weather here in London, it is beginning to run a bit too hot. The temperature monitoring software is telling me that we’re aroung the 77-78 degree mark right now – generally things start to get a bit unstable above 75… …Running the OMAP at 1.5GHz might also contribute ;-) |
patric aristide (434) 418 posts |
I fitted one of those small aluminium heatsinks to my BB-xM. While it did make an improvement I still saw temperatures well in excess of 70 degree. Either a more elaborate setup like a heat pipe is needed or a small fan. Would’ve preferred to do without! I wonder why my more powerful Tegra 2 tablet gets away without :-( |
Wouter Rademaker (458) 197 posts |
A large fan at 5 V works better. A large fan at 5 V and small aluminium heatsink are keeping my Pandaboard between 35 and 50 °C with almost no sound. |
Chris Johnson (125) 825 posts |
For amusement, I have knocked together a small app that will show the values of the cpu fast and slow settings, and the current speed of the cpu as it is switched between the two values. It also allows you to reduce the fast setting. It is not yet on my web site – there is still a bit of polishing to do, but if anyone would like a copy to try let me know (chris at chrisjohnson dot plus dot com) and I will send you a zip file. |
Chris Johnson (125) 825 posts |
I should have added that I was hoping to extract some details from Jeffrey’s excellent description above to include in the help file (with attribution). I hope Jeffrey has no objection. |
Jeffrey Lee (213) 6048 posts |
Fine by me. I look forward to seeing the finished plugin! When I wrote the speed switching code I did add a (debug-only) feature to the Portable module to measure how much time was spent in the fast & slow states, how much time is spent waiting in Portable_Idle, etc. I wonder if it would be worth finding a way of making those features available in non-debug builds of the module, as it would be a cleaner/more accurate way of getting stats via other means. I think the only thing that’s stopping it from being enabled is that we still need to implement/ratify a method for controlling access to HAL timers. Although it’s not mentioned in the thread, I think that after chatting with Ben about it over email we came to the agreement that using service calls to claim/release timers was the most appropriate way of doing things. |
Chris Johnson (125) 825 posts |
The CPUClock app seems to have been working fine on various flavours of BeagleBoard. The Panda ROM doesn’t have the Portable_Speed2 SWI fully implemented yet, so it isn’t much use on that at the moment. |