Brown out at slow supply rise

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by Brinkand on Mon Jan 03 06:06:14 MST 2011
I am using the LPC1111 in an application where it is powered from an linear supply. So if the external supply slowly ramps from 0V to nominal voltage, so will the power supply for the LPC1111, which i nominally 3.1V in this application.

The problem is that for slow rising voltages, the processor does not start up correctly. Same problem goes if supply drops from nominal suply to below 1.5V and up again, but i solved that by:
LPC_SYSCON->BODCTRL = 0x12;  // Set Brown out active and at correct level. 0x12 is 2.4V.  
I assume the problem is that the processor starts up with a little too low supply to actually work, and so hangs in some undefined state. (I cannot debug from this state.) Brown out detection is not in fuse bits, so it will have to be set by software - and this happens after start up code has run. I am using CMSIS.

There is no way i can use an external reset device, so I need to modify the code to handle the slow startup scenario.

I guess the problem comes when the startup code tries to switch from RC oscillator to crystal oscillator and use the PLL for generating 48MHz. I will try to modify the start up code to enable brown out detection before it switches clock.

Anyone seen/solved similar problems?

Any hints as to modify start up code?

Thanking You in anticipation.