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.

TM4C1230C3PM: configuration code

Part Number: TM4C1230C3PM


Hi,

Good day. Our customer has the inquiry below about the TM4C1230C3PM.

My project use Micrcocontroler TM4C1230C3 and XTAL 8MHz, with PLL.

1) I configure SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_PLL | SYSCTL_XTAL_8MHZ | SYSCTL_OSC_MAIN);
I get value ui32SysClock=SysCtlClockGet();
ui32SysClock= 12500000; (12,5 M) (is it correct value in this situation? )
And
I configure SysCtlClockSet(SYSCTL_SYSDIV_16....
it is equal Value ui32SysClock = 12500000; (12,5 M)

When I configure SysCtlClockSet(SYSCTL_SYSDIV_4...
ui32SysClock= 50000000; (50M)
How does it configure correctly SysCtlClockSet? My question: Is it possilble PLL configure to 100MHz?

2)When I am using SYSCTL_SYSDIV_1... (12,5 M)
SSIConfigSetExpClk(SSI1_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 4000000, 8);
My system run with display. It is ok!

But I am using ...SYSDIV_1...(50 M) and other freq
My system doesn´t run!

Thank you for your help.


Regards,

Cedrick

  • Hi,

    1) I configure SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_PLL | SYSCTL_XTAL_8MHZ | SYSCTL_OSC_MAIN);
    I get value ui32SysClock=SysCtlClockGet();
    ui32SysClock= 12500000; (12,5 M) (is it correct value in this situation? )
    And
    I configure SysCtlClockSet(SYSCTL_SYSDIV_16....
    it is equal Value ui32SysClock = 12500000; (12,5 M)

    You are using PLL. The PLL VCO after a post-divide is 200Mhz. See below figure from the datasheet. 

    If you want to achieve the maximum operating frequency for the SYSCLK which is 80Mhz then you need to use SYSCTL_SYSIV_2_5 with 200/2.5=80Mhz. You cannot go higher than 80Mhz on TM4C123 as it will be out of the operating condition. You cannot use SYSCTL_SYSDIV_1 when using PLL.