Processor gets HOT!!!

Technical discussions around xCORE processors (e.g. xcore-200 & xcore.ai).
User avatar
Jerry
Member++
Posts: 30
Joined: Sat Dec 12, 2009 7:14 pm
Location: Silicon Valley

Processor gets HOT!!!

Post by Jerry »

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.
User avatar
leon_heller
XCore Expert
Posts: 546
Joined: Thu Dec 10, 2009 10:41 pm
Location: St. Leonards-on-Sea, E. Sussex, UK.

Post by leon_heller »

All the four-core XMOS chips run hot, it's nothing to worry about. The single-core devices dissipate a lot less heat.

Leon
User avatar
Bianco
XCore Expert
Posts: 754
Joined: Thu Dec 10, 2009 6:56 pm

Post by Bianco »

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.
User avatar
Jerry
Member++
Posts: 30
Joined: Sat Dec 12, 2009 7:14 pm
Location: Silicon Valley

Post by Jerry »

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.
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?
richard
Respected Member
Posts: 318
Joined: Tue Dec 15, 2009 12:46 am

Post by richard »

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:

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();
  }
}
The write_pswitch_reg function is documented in the XC Libraries Reference, and the control registers are documented in the XS1-G System document.