I've an XC-1 board and am running a simple application that uses one core and spends most of its time waiting on timers and on channel input. Despite this, the XS1-G4 chip gets so hot that it's almost too hot to touch (room ambient temp is 20C).
Is this typical? The application I'm working on is the indoor data display for a remote weather sensing application. It will have temperature and humidity sensors mounted in a small table-top box to display the inside temperature and humidity, along with the outside values of these parameters that it gets via an Xbee radio link, on a small graphical LCD. I plan to use the XS1-L1 in the final unit rather than the XS1-G4 that's on the XC-1, but I'm concerned with heat output from the MCU affecting my sensors.
Processor gets HOT!!!
-
- Member++
- Posts: 30
- Joined: Sat Dec 12, 2009 7:14 pm
- Location: Silicon Valley
-
- XCore Expert
- Posts: 546
- Joined: Thu Dec 10, 2009 10:41 pm
- Location: St. Leonards-on-Sea, E. Sussex, UK.
All the four-core XMOS chips run hot, it's nothing to worry about. The single-core devices dissipate a lot less heat.
Leon
Leon
-
- XCore Expert
- Posts: 754
- Joined: Thu Dec 10, 2009 6:56 pm
Besides that even though you only use one core the other cores are also dissipating (the maximum?) heath.
You can shutdown the other individual cores using the channels to decrease the dissipation.
For example the demo inside the OTP uses only one core and shuts down the others.
You can shutdown the other individual cores using the channels to decrease the dissipation.
For example the demo inside the OTP uses only one core and shuts down the others.
-
- Member++
- Posts: 30
- Joined: Sat Dec 12, 2009 7:14 pm
- Location: Silicon Valley
I downloaded and looked at the source code for the XC-1 LEDs demo (the one that starts on powerup) and don't see anything that shuts down the other three cores. Is the shutdown code part of the bootloader itself? Where can I get a copy of code that illustrates how to do a core shutdown?Bianco wrote:Besides that even though you only use one core the other cores are also dissipating (the maximum?) heath.
You can shutdown the other individual cores using the channels to decrease the dissipation.
For example the demo inside the OTP uses only one core and shuts down the others.
-
- Respected Member
- Posts: 318
- Joined: Tue Dec 15, 2009 12:46 am
You can't completely shut down a core but you can clock it down to a low speed. The following code clocks all cores except core 0 down:
The write_pswitch_reg function is documented in the XC Libraries Reference, and the control registers are documented in the XS1-G System document.
Code: Select all
#include <platform.h>
void myapp(void);
void clockDown()
{
unsigned coreid = get_core_id();
write_pswitch_reg(coreid, XS1_PSWITCH_PLL_CLK_DIVIDER_NUM, 0x80);
}
int main()
{
par {
on stdcore[0]: myapp();
on stdcore[1]: clockDown();
on stdcore[2]: clockDown();
on stdcore[3]: clockDown();
}
}