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.

TMS320F28069M: Low clock SPI

Part Number: TMS320F28069M


I have a display with as low clock as 18KHz

To fulfill the clock requirements can I use the following solution (to prescale the clock (90MHz))?

I did not experienced yet the solution below. To use the SPI interface of the TMS320F28069M (90MHz) I call the function downclock(), do the SPI communication and then call the function upclock(). I do for each time I want to do SPI communication. Will this work? SPI Prescaller is 127

Thanks

Luis Gonçalves

***********************************

void downclock(void)
{
SysCtrlRegs.LOSPCP.all = 0x0007;
InitPll(6,2);
while (SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1);
}

Communication SPI and display information function


void upclock(void)
{
SysCtrlRegs.LOSPCP.all = 0x0002;
InitPll(18,2);
while (SysCtrlRegs.PLLSTS.bit.PLLLOCKS != 1);
}

  • Luis,

    Thanks for posting this here.

    Yes, the scheme that you suggest should be feasible. A few notes:
    - Make sure that EALLOW; and EDIS; surround the LSPCLK prescaler modification.
    - Using InitPLL() actually includes the PLL Lock polling loop. Adding it in your custom function is redundant.

    The major thing I see with this strategy is to just highlight that you need to ensure that your system can handle the periodic major clock changes. Is anything else happening in your system during your SPI communication phase? Will the other pieces fail? Just more to think about.

    What device are you communicating with that requires such a slow speed SPI?

    Thanks,
    Mark