LPC11U67 temperature problem

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

LPC11U67 temperature problem

1,701 Views
mattiadell_oca
Contributor I

Dear All,

I'm having an important issue with some microcontrollers LPC11U67 48 pin. If I set internal frequency at 48Mhz some of them (more or less 5/10%) stop if I put them at a temperature of 40°C.

If, on the same micros, I set a 36Mhz clock frequency, the problem disappears and they don't stop.

The same problem is described in this topic of 3 years ago.

LCP11U67 and temperature reset | www.LPCware.com 

Has anyone the same problem?

I'm asking it because I do need to go at 48Mhz (36MHz is not enough).

Best Regards,

Mattia Dell'Oca

Labels (3)
4 Replies

855 Views
Hui_Ma
NXP TechSupport
NXP TechSupport

Hi,

First of all, sorry for the later reply.

Could you provide below info about the application?
Which modules customer is using of LPC11U67JBD48?
How about the clock generation? If customer using external crystal or external oscillator for system PLL?
Or customer just using the IRC as reference clock for system PLL?
What's the behavior of broken LPC11U67 chip when ambient temperature at 40°C?

Thank you for the attention.


Have a great day,
Ma Hui

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

855 Views
boreyki
Contributor I

Hi,

I'm currently experiencing the exact same issue with a LPC11U68JBD64E:

- as the temperature rise above ~60-63°C (as reported by the internal temperature sensor linked to AD0) and about ~45-50° on the IC's package, the uC trigger a hard fault.

I know this isn't linked to a bad/wrong instruction as it directly depends on the moment the "threshold" (~63° internally) is exceed, so the hard fault can occurs after any of the instructions.

Details:

Our LPC11U68JBD64E is used in a power supply application, our main peripherals are: ADC, I2C0.

Briefly the uC is used to switch on/off some DC/DC converters, monitor different voltages/currents and serves as a I2C slave.

We're not using an external crystal/oscillator but the internal oscillator @ 12MHz for the system PLL.

The behaviour when broken is (when reaching ~63°C internally):

- call to the hard fault handler (infinite loop), so no change on the input/output after the hard fault handler call. (if the uC was for example in a I2C transaction with clock low, the clock will stay low)

I found an other topic about this issue: LCP11U67 and temperature reset 

Do someone know an solution/workaround ? (In my case, it will be difficult to just lower the clock rate to 36MHz....)

Edit: I have 3 uC available, and 2/3 have the issue:

- LPC11U68J / S4A551.1 02 / ZSD15481A               (has the issue)

- LPC11U68J / SCF976.1 01 / ZSD16071A               (has the issue)

- LPC11U68J / SFV219.1 12 / ZSD16481A               (has NOT the issue)

Best regards,

Borey

855 Views
frankpeeters
Contributor I

Hi all,

i also have this problem with many boards. Every time the internal temperature rises above 60-63°C the processor fails. We see this problem with almost all boards of our latest production batches (30 out of 40 pcs.).

We use the LPC11U68 with 100 pins.

Now we try to run the CPU with 36MHz. But we have a USB-application, so we still need the USB-part to run at 48MHz. Does anybody has experience with such a different clocking.

It would also be great if NXP could tell anything about this bug. As for now, i won't use these processors agian :-(

Best regards,

Frank

0 Kudos

855 Views
boreyki
Contributor I

Hi Frank,

Good news, the issue can be fix.

1) In file "fmc_11u6x.h" ~line 60-64 :

Add to the enum FMC_FLASHTIM_TFLASHTIM_3CLK_CPU = 2,          -> in order to work @ 48MHz

typedef enum {
   FLASHTIM_1CLK_CPU = 0, /*!< Flash accesses use 1 CPU clocks (up to 20MHz) */
   FLASHTIM_2CLK_CPU = 1, /*!< Flash accesses use 2 CPU clocks (up to 40MHz) */
   FLASHTIM_3CLK_CPU = 2, /*!< Flash accesses use 3 CPU clocks (up to 50MHz) */                  
} FMC_FLASHTIM_T;

2) In file "sysinit_11u6x.c" depending on you configuration

    if you are using internal oscillator : ~line50 function : void Chip_SetupIrcClocking(void)

    else if you are using external oscillator : ~line106 function : void Chip_SetupXtalClocking(void)

In this function, setup the flash access to use FLASHTIM_3CLK_CPU (previously added in the enum)

/* Setup FLASH access */
Chip_FMC_SetFLASHAccess(FLASHTIM_3CLK_CPU);

Hope this will help you or someone else :smileyhappy:

Best regards,

Borey