Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

MOTIX™ MCU Forum Discussions

fromak
Level 1
First reply posted Welcome!
Level 1
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 5 sign-ins First like received 10 replies posted
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
Level 1
First reply posted Welcome!
Level 1

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