MCF52259 overheated

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MCF52259 overheated

4,316 Views
nnadal2
Contributor III

Hi all,

In my company we make a board based on the evaluation board MCF52259EVB except in the series resitor pack for the data and address bus. The ethernet chip was the same. The board runs very well but too hot (40-50ºC).

The voltage levels are very good 3.2V-3.3V

 

Our firmware does not use ethernet, but it remains connected in the bus lines. There is not any output device connected to the cpu.

If I loaded our firmware in the evaluation board, it runs cooler than our board (35ºC).

If I loaded an example firmware with ethernet, ir runs hotter in our board (42ºC).

Without ethernet is also the same.

Without the BDM the board runs hot too

 

If I stopped the firmware with the BDM it seems to be much cooler.

If I program the flash the cpu remains at 25ºC.

 

How can I evaluate if Is it usual in the MCF52259 or there is a hardware problem If I do not have the evaluation board (was returned monts ago)?

 

Thanks in advance

 

Narcis Nadal

Labels (1)
0 Kudos
18 Replies

3,937 Views
PabloBaena
Contributor III

Hi, here's my contribution:

I've used a 16Mhz crystal and raise it to 80Mhz with PLL, and found a lot of overheating. Otherwise if I do not raise it to such high frequency, overheating dissapears.

By mistake, I purchased the wrong cristal, it was meant to be a 48Mhz fundamental tone crystal, (not the 3rd overtone)....So got to switch to the correct one to have the MCU very cool.

Regards,

Pablo

0 Kudos

3,937 Views
nnadal2
Contributor III

well, my intuition is you are right...in part.

shure the heat sink is better in the evaluation board but  the cpu generates less heat also.

Well, tanks for all

 

N. Nadal

0 Kudos

3,937 Views
nnadal2
Contributor III

 

Firs at all thanks Tom and Scifi.

 

> It is all looking very "normal".

I have to say also the currents I have write are very conservative, writing only  when the multimeter stabilizes.

You not are not the first person who has tod me that, but It makes me thing about the fact than the evaluation board had the cpu much more cooler, I can't explain that.

 

>I still think your CPU board isn't acting very well as a heatsink. How many layers" How many of them are full planes? Are the planes unbroken, and what's their total area?

 

There are only 2 planes FR4. Watching the board I can see probably you are right about this question.There is a lot of cupper in the left of the cpu but the poligon is disconnected on top and bottom planes (attached)

 

N. Nadal

0 Kudos

3,937 Views
TomE
Specialist II

You only sent the layout for two LAYERS.

 

A board that has "two planes" usually has four LAYERS. Top and bottom routing, with the two inner layers being solid fills of Power and Ground, with those planes being unbroken and extending over the entire board. They let the heat escape sideways. Copper conducts heat, FR4 not so much. The copper thickness matters too.

 

If your board is truly only a two layer board, then there's very little "heatsink copper" there. There's also a lack of RF shielding.

 

The demo board would have been a 4 or 6 layer board with planes. I think that's the big difference.

 

But as long as you keep the silicon below 105C you're fine. The board may start to go brown at those temperatures though :smileyhappy:.


Tom

 

0 Kudos

3,937 Views
nnadal2
Contributor III

----------------------------------------------------------------------------------------------------------------------------

You have not ruled out overclocking. Verify your system clock frequency. Say, configure a UART to a certain clock rate (e.g. 9600 bps) and verify the rate with a scope.

Check voltage level at every pin and make sure you get expected values.

-----------------------------------------------------------------------------------------------------------------------------

 

 

Aparently is correct. I transmit/receive with regularity at 115k bauds. Our firmware is based on the MCF52259VB running at 80MHz internally and I can run HVAC, an example code from  that evaluation board without problems.

 

I checked the address and data bus and every output. Is very clever with rails between 0 and 3.3V. The external ram powered at 3.3, no danger of clipping signals by the protection diodes. I do another test monday checking a board with only a cpu and BDM: the temperature rises also to 40ºC after configuring the PLL so I thing the address and data bus and all the outputs are out of the problem (were disconnected).

 

The power pins are all connected, but is it possible to have so large ground currents due to bad decoupling? I have 100nF in each power pin, but some are 3cm away from the cpu, not  too far. May be is important the ferrite bead of the pll? (I haven't any) .  

0 Kudos

3,937 Views
nnadal2
Contributor III

The hardware is based on the MCF52259EVB evaluation board. Unfortunatelly now I havent'any with me but I remerber was colder. The frequency was the same:

 xtal=48MHz...internal 80MHz . Vcc=3.3V

 

The currents in proto # 1 are:

90-100mA BDM halting the cpu at startup

210-240mA running

 

The temperature increments measured in the surface of the cpus in the protos # 1, 2 respect to the 22.7ºC ambient are:

     0ºC  to   0ºC        board powered off

+13ºC  to 15ºC        BDM halting the cpu at startup

   +5ºC  to  +6ºC      after pll, the cpu is halted by the BDM

   +1ºC  to  +1ºC      after GPIOs

 +10ºC  to +11ºC    running 

 +28ºC to +31.6ºC.......................Total TempCPU-TempAmb

Corresponds to 51 to 54ºC, the final absolute temperature reached by the boards. 

 

(sorry I did'nt take the temp of the boards when make those measures but the first one on the left was with the board so cold, the second one with board hot)

 

Answering your questions, I thing the numbers are so coherents for a QFP but I do not understand why the current arrives to 210-240mA.

 

Triyng the proto #3 with only the cpu, BDM and capacitors soldered, the cpu behaves like the others:  +15ºC-18ºC after PLL (I cannot run because the firmware needs the external ram and halts)

 

 

Note1: If I set all the ports as inputs with the BDM, the temperature change is only 0.5ºC

Note2: If I run without external ram access there is a very small change in temperature (not measured)

 

The power is 3.3V well stabilized, there are no ferrites in the pll. Capacitor packs decoupling each vdd. vstby = vbat < 3.3V. No other chip than the cpu is burning. Is possibble the MCF52259EVB had a special cpu ? What else can do so high current draining across the cpu while the evaluation boad remains cooler ?

0 Kudos

3,937 Views
TomE
Specialist II

> 210-240mA running

 

The Data Sheet says:

Typical Active (SRAM)  102mA

Typical Active (FLASH)  118mA

Peak (FLASH)  185mA

 

BUT:

 

(Typical) Tested at room temperature with CPU polling a status register. All clocks were off except the UART and CFM (when
running from flash memory).
(Peak) Peak current measured with all modules active, CPU polling a status register, and default drive strength with matching
load.

 

So in order to duplicate the data sheet conditions you have to write some code, loaded into FLASH and loaded into SRAM that only does what the notes above say - all other peripherals and clocks disabled.

 

210-240mA isn't that much higher than 185mA. I assume your code is doing a lot more than "polling a status register". Having it running through pages of FLASH might draw more than reading the same few instructions.

 

> The temperature increments measured in the surface of the cpus in the protos # 1, 2 respect to the 22.7ºC ambient are:

> +28ºC to +31.6ºC.......................Total TempCPU-TempAmb

I wrote:

> MCF52259CAG80. That's LQFP. That's 35-44 C/W to Ambient and 23-29 C/W to the board. So how hot is the board?

 

240mA * 3.3V = 792mW * 40C/W = 32C to ambient, which is very close to your figure.

 

It is all looking very "normal".

 

I still think your CPU board isn't acting very well as a heatsink. How many layers" How many of them are full planes? Are the planes unbroken, and what's their total area?

 

Tom

 

0 Kudos

3,937 Views
scifi
Senior Contributor I

 


nnadal2 wrote:
What else can do so high current draining across the cpu while the evaluation boad remains cooler ?

You have not ruled out overclocking. Verify your system clock frequency. Say, configure a UART to a certain clock rate (e.g. 9600 bps) and verify the rate with a scope.

Check voltage level at every pin and make sure you get expected values.

0 Kudos

3,937 Views
nnadal2
Contributor III

I used the mcf5225x_init function provided in the MCF52259EVB evaluation board

 

 /* Set real time clock freq */

 MCF_CLOCK_RTCCR = 48000000;

.........

 mcf5225x_pll_init();

 

where :

void mcf5225x_pll_init(void)
{


/*Required if booting with internal relaxation oscillator & pll off, clkmod[1:0]=00 & xtal=1 */

 MCF_CLOCK_OCLR = 0xC0;   //turn on crystal
 MCF_CLOCK_CCLR = 0x00;    //switch to crystal
    MCF_CLOCK_OCHR = 0x00; //turn off relaxation osc

/*---------------------------------------------------------------------------------*/


 /* The PLL pre divider - 48MHz / 6 = 8MHz */
 MCF_CLOCK_CCHR =0x05;
  
 /* The PLL pre-divider affects this!
  * Multiply 48Mhz reference crystal /CCHR by 10 to acheive system clock of 80Mhz
  */

 MCF_CLOCK_SYNCR &= ~(MCF_CLOCK_SYNCR_PLLEN);

    MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_CLKSRC | MCF_CLOCK_SYNCR_PLLMODE;
 
 //80
 MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_MFD(3) | MCF_CLOCK_SYNCR_RFD(0);
 MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_PLLEN;

 while (!(MCF_CLOCK_SYNSR & MCF_CLOCK_SYNSR_LOCK))
 {
 }
}

 

It makes me thing because we I run the mcf5225x_pll_init(); the temperature rise is about 3-4ºC.

What is strange also is the temperature so hight even during power-up with the BDM halting the cpu after the internal flash is programmed (42ºC). I thing this is not normal. One difference respect the evaluation board is the 48MHz is 10cm away from the cpu because I used it in U6 (MCF52259_B.sch). Can it be responsible of such 42ºC?

 

Narcís Nadal

0 Kudos

3,937 Views
TomE
Specialist II

Do some basic Electical Engineering Design Work on the system.

 

Measure the current. If you can, measure the CPU current. If you don't have the ability to split the power supply (so you can measure individual chips), then at least try to disable any other power hungry chips, or at least measure their temperature to see if you can prove they're not taking much current.

 

Measure and work out how much current the CPU is taking (total board current minus other known sinks). Compare it to the specifications. Run the chip in different modes and compare to the specifications. Does it match? Is there an excess? How much? Can you CHANGE the current you're measuring by changing the programming?

 

As well you should convert the current to power and work through the thermal specifications for the chip. Estimate the thermal resistance of your design - measure the chip surface temperature and the board temperature. It may be that your PCB design doesn't have the ground and power planes thermally connected to the balls well enough.

 

Are you LQFP or MAPBGA?

 

MCF52259CAG80. That's LQFP. That's 35-44 C/W to Ambient and 23-29 C/W to the board. So how hot is the board?

 

And keep going from there.

 

Tom

 

 

 

0 Kudos

3,937 Views
nnadal2
Contributor III

Buff !! , I prefer sending the sch. Its not a work of other world. There is not othe chip with a suspicious temperature. 

Thanks a lot

0 Kudos

3,937 Views
scifi
Senior Contributor I

I was thinking it could be a bus conflict (two chips driving the data lines simultaneously) but this doesn't appear to be the case. Maybe somebody else will notice something.

Also make sure that you've configured system clock frequency correctly. A massive overclocking of the MCU could explain excessive heat.

0 Kudos

3,937 Views
nnadal2
Contributor III

I have tested our 2 proto boards(1 and 2) with cpus provided by freescale samples and the other proto (3) with a cpu provided by Farnell and no other chip mounted except the power supply.

It's very strange, it seems the two coldfires have different behavour

 

By stopping the multilink emulator in the protos 1 and 2 I report the temperatures

 

A-Ambient: 25.3ºC

 

PROTOS 1 and 2

MCF52259CAG80 1M42N QCTCL0943

B-After programming the internal flash...42.1ºC

C-after init PLL...45.5ºC

D-after init IOS...47.9ºC

E-running...........52.3ºC

 

PROTO 3

MCF52259CAG80 1M42N QCTDN1021

B-After programming the internal flash...34.6ºC

C-after init PLL...39.8ºC

D-after init IOS...42.3ºC

E-running...........42.8ºC (without external ram)

 

There are 2 temperature  gaps :

D-E ... can be due the bus load of the external ram

A-B ... ???????

 

For me there in so explanation about the A-B temperature gap.

May be different CPU cores?

 

does somebody know the answers?

Thank you

 

Narcís Nadal

0 Kudos

3,937 Views
scifi
Senior Contributor I

The temperatures you are reporting look high indeed.

Schematics for your board would probably help.

If you can't post them, look for excessive currents flowing in or out of the MCU.

0 Kudos

3,937 Views
nnadal2
Contributor III

If I have understood, the inexistence of the series resistor really does not make the cpu getting hot.  

Thanks

 

Narcís Nadal

0 Kudos

3,937 Views
TomE
Specialist II

Type "hot" into the Search field on this forum to see other people with similar problems.  For instance:

 

https://community.freescale.com/message/43362#43362

 

Have you measured the current? Have you worked out the power? Apparently the above post lists the CPU running at 1W, and that means it will get hot. Apparently the board design (conducting the heat away through ground planes and ground fills) is important. Disabling the Ethernet or running it at 10MHz will make it less power hungry.

 

You may have a shorted output pin. Try programming everything as an input and see if that changes the current - that's a far better measure than thying to judge by the temperature.

 

Tom

 

0 Kudos

3,580 Views
narcisnadal
Contributor II

After a couple of years running hot with ceramic dissipators, suddenly the cpu temperature went low after a firmware modification of the  frequency of access to 4 74AHCT574’s. No other changes in hardware were done, except perhaps another crystal series/brand.

 

Pablo Baena’s appreciation is also true, the cpu does not run well withot fundamental frequency crystals.

 

I suspect the issue is around the crystal tracks, one of this is a little bit longuer and shared with a 74AC161, but not sure. its a mystery? a contention problem as scifi said ?

10 years later, the hardware is the same and I have a lot of not used ceramic dissipators in stock and more than one thousand cpu boards sold and running perfectly.

 

Thanks to everybody

 

Narcis Nadal

0 Kudos

3,937 Views
scifi
Senior Contributor I

 

Tom, the MCF52233 is different from MCF52259. The former has an on-chip Ethernet PHY that's power-hungry (200 mA or so.) That explains why the MCF52233 gets hot. In my experience, the MCF52259 doesn't get nearly as hot (using Ethernet and external bus.)

My guess is some output pins are shorted.

 

- mike

0 Kudos