This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PLL wrong configuration

Other Parts Discussed in Thread: TMS570LS3137

Hello,

We have found a mistake in the PLL configuration in our code. Basically we are configuring PLLCTL1, PLLCTL2, etc to run at 180Mhz, (we are using TMS570LS3137)

Because of an error in code after that we have the code:

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

/* Workaround for FMZPLL#17 errata */
systemREG1_Const->PLLCTL1 = 0x41036300U;
systemREG1_Const->PLLCTL1 = config->Pllctl1_u32;
/* Clearing the Slip Bit */
systemREG1_Const->GBLSTAT = 0x300;

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

config->Pllctl1_u32  is equal to 0x400058600 (this is the also the value in PLLCTL1 before running the previous code.

The problem is that we have already created the release so changing this code would mean several days/weeks of testing, documentation updates, etc, so if it is possible we would prefer to not change it.

1) We understand that this errata, FMZPLL#17 does not apply to TMSLS3137 but only to TMSLS20... is that correct?

2) Would this erroneous code produce any PLL slip?

3) Also would the PLL lock still be valid?

4) Any other reaction, etc to consider because of this error?

We can not see any problem during our tests, but we would like to be sure that this is no problem.

Regards,

Francis.

  • Francis,

    I'm checking with our PLL expert and will be back to you.
  • Francis,


    Here are the answers from our PLL expert.

    1] Yes this errata is only applicable for (TMS570LS20xxx)

    2]        PLLCTL1 starts at  0x400058600. (probably 16MHz xtal so that 16[MHz]/6*135/(2*1); Reference: 2⅔[MHz]; VCO: 360MHz Out: 180[MHz])

                PLLCTL1 is changed to 0x41036300 (16[MHz]/4*100/(2*1) ; Reference: 4[MHz]; VCO: 400MHz Out: 200[MHz])

                PLLCTL1 is changed back to 0x400058600. (16[MHz]/6*135/(2*1); Reference: 2⅔[MHz]; VCO: 360MHz Out: 180[MHz])

               IF the PLL is enabled, this will cause the PLL to slip. If the PLL has yet to be enabled, these control registers have not affected the PLL macro yet.