1. How can I enter Low Frequency Clock mannually?
2. How to check the Low Frequency Clock and the stack settings are in a right way?
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.
1. How can I enter Low Frequency Clock mannually?
2. How to check the Low Frequency Clock and the stack settings are in a right way?
Hello xuefeng.jin,
I hope you are doing well! In regard to your questions:
1. Can you clarify the purpose of this? Do you want to run a timer on a lower frequency?
2. Checking the registers is generally what we would do, otherwise if you are setting up a timer you can use a global and read the global to confirm that it is working as expected.
For more help can you provide me your SDK version, CCS version, and the example code you started with (or plan to start with).
If you are looking for how to set up a timer with a lower clock rate than the high frequency clock, then you can reference the LGPTimer examples in your SDK.
Thanks,
Alex F
Hi Alex F,
1. My purpose is check the Low Frequency Clock and the stack settings are in a right way to make sure the communication is stable and power consumption is optimal.
2. How can I get the registers address. In TRM, I got the offset, but I need a full address.
3. My SDK is:simplelink_lowpower_f3_sdk_7_20_00_29, and my CCS is: 12.6.0.00008, example code is Data Stream.
4. I will read this part of codes.
Thanks.
I found the registers about low frequency clock, still need to check if the values changed is correct.
Hello xuefeng.jin,
I have an older E2E post about looking into the timing registers:
https://e2e.ti.com/f/1/t/1276978/ (*it is on a different device, but can apply the general approach)
"You can see if the timer is updating/resetting via GPT# (in my case GPT0) in registers. You should also try to stick with one timer functions (GPTimer, or Timer). When using the timer functions, even if there is a value leftover from the previous Timer_open, then the new Timer_open will overwrite the count.
You can change the low frequency clock in syscfg (if you did not do this already):
2. How can I get the registers address. In TRM, I got the offset, but I need a full address.
First locate the memory module base address from the memory map table, then apply your offset to the specific base address for the complete address:
Thanks,
Alex F
I checked the LGPT codes, and debug it, but it seems not affect Low Frequency Clock registers.
Hello,
Can you check the "LFCLKSEL" to see if the low frequency clock is selected or not?
Thanks,
Alex F
Hello,
Looking at my own project the way to check if low frequency is enabled is:
Looking a bit deeper in the CKMD registers a bit more detail on what the CLK is doing:
If you look at the register LFCLKSTAT.LFINCSRC the RCOSC uses 00, while XOSC uses 10.
I set the low Frequency Clock Source to LF RCOSC in the above images (in syscfg).
If you want to verify the (32 kHz) clock then this E2E should be helpful: https://e2e.ti.com/f/1/t/1228887/.
Thanks,
Alex F
Hi Alex Fager,
If you want to verify the (32 kHz) clock then this E2E should be helpful: https://e2e.ti.com/f/1/t/1228887/.
As this link, I got RC oscillator 33.11 kHz, a little higher than TRM given value 32kHz.
I know there has many calculate to adjust RTC, but I want to know is there have any settings to make this performance better when I select RCOSC?
Hello Xuefeng Jin,
In my own quick test, I got ~32.7 kHz with the code provided in that E2E post.
In regard to the clock accuracy, I think this post will help clarify: https://e2e.ti.com/f/1/t/1309385/.
Thanks,
Alex F
Thank you Alex Fager, that's really helpful for me.
Last question, as the forum said, LFOSC improve accuracy drivers will release in Q2, and after switch to new SDK, do we need add some function call in app side?