cancel
Showing results for 
Search instead for 
Did you mean: 

MOTIX™ MCU

fromak
New Contributor
Hi. I used STOP mode at TLE9867. In device pack 1.4.6 was changed enter in STOP mode, PLL go to freerunning mode. After STOP PLL not returns at Normal mode and MCU work incorrect.
I tryed switch to Normal mode by Usem manual, but MCU not work and reset.

How return MCU to Normal mode after STOP?

Best regards, Vladimir.
0 Likes
2 Replies
Ramius
Moderator
Moderator
Dear Vladimir
sorry for the late response here.
Can you please share the code, where you go to Stop Mode and go back to Normal (Active) Mode?

Best regards
Ramius
0 Likes
fromak
New Contributor

Hi, Ramius.

I work in uVision and tell about software pack in uVision.

In pack 1.4.4 and scu.c\h version 0.3.8 I enter to stop mode like this and all work good:

for(idx = 0; idx < 4; idx++)
{
SCU_EnterStopMode();
vTaskDelay(1);

PMU_Clear_Reset_Status();
}

In pack 1.4.6 and scu.c\h version 0.5.2 after Stop MCU work not correct. Looks like PLL not started and MCU work on some default oscilator. I try restart PLL after STOP mode like this:

for(idx = 0; idx < 4; idx++)
{
SCU_EnterStopMode();
vTaskDelay(1);

PMU_Clear_Reset_Status();
}

 Field_Mod8(&SCU->NMICON.reg, (uint8)SCU_NMICON_NMIPLL_Pos, (uint8)SCU_NMICON_NMIPLL_Msk, 0);
 SCU->PLL_CON.bit.VCOBYP = 1;
 SCU->PLL_CON.bit.OSCDISC = 1;
 SCU->OSC_CON.bit.OSCTRIM_8 = 1;
 idx = SCU->OSC_CON.reg;
 idx |= (1<<5);
 SCU->OSC_CON.reg = idx;
 SCU->PLL_CON.bit.OSCDISC = 0;
 SCU->PLL_CON.bit.RESLD = 1;
 while(0 == SCU->PLL_CON.bit.LOCK)
 {
 }
 SCU->PLL_CON.bit.VCOBYP = 0;
 Field_Mod8(&SCU->NMICON.reg, (uint8)SCU_NMICON_NMIPLL_Pos, (uint8)SCU_NMICON_NMIPLL_Msk, 1);



But it not work. Now I use scu.c\h version 0.3.8 in my code

Best regards, Vladimir.

0 Likes