<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: RTC frequency compensation in K60 micro controller in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447743#M26473</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Akhil&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an application note for your reference. &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf" title="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf"&gt;http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 21 Aug 2015 03:16:48 GMT</pubDate>
    <dc:creator>Paul_Tian</dc:creator>
    <dc:date>2015-08-21T03:16:48Z</dc:date>
    <item>
      <title>RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447742#M26472</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;We have noticed&amp;nbsp; some shifts (lags/ advances) in RTC time in K60 micro controller. &lt;/P&gt;&lt;P&gt;The crystal that we used &lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;have a frequency tolerance of 20ppm. The time shift is different in different boards(same configurations).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;The&amp;nbsp; data sheet of K60 contains the details of RTC frequency compensation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Then, how to implement the different frequency compensation for different boards. Is there any sample source code to implement the same?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Please share your comments on this.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Thanks &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-IN" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif';"&gt;Akhil&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Aug 2015 04:34:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447742#M26472</guid>
      <dc:creator>akhil</dc:creator>
      <dc:date>2015-08-18T04:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447743#M26473</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Akhil&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is an application note for your reference. &lt;A href="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf" title="http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf"&gt;http://cache.freescale.com/files/microcontrollers/doc/app_note/AN4949.pdf&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Aug 2015 03:16:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447743#M26473</guid>
      <dc:creator>Paul_Tian</dc:creator>
      <dc:date>2015-08-21T03:16:48Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447744#M26474</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As my colleague had mentioned, the AN4949 provides the RTC compensation theory.&lt;/P&gt;&lt;P&gt;Below is the RTC compensation test code for your reference:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**************************************************************************/&lt;/P&gt;&lt;P&gt;//srtc compensation function test&lt;/P&gt;&lt;P&gt;void srtc_comp() &lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; volatile uint32 TSR_VAL, TPR_VAL;&lt;/P&gt;&lt;P&gt;&amp;nbsp; int i=2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; int current;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Start checking srtc time compensation function...\r\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Enable osc\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; RTC_CR |= RTC_CR_OSCE_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Compensation Interval of 1 seconds with Compensation value of 32641 cycles\r\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp; current = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //RTC_TCR = 0x00000080;&amp;nbsp; //should be short ~3.5 seconds in 1020 counts&lt;/P&gt;&lt;P&gt;&amp;nbsp; //RTC_TCR = 0x000000BF;&amp;nbsp;&amp;nbsp;&amp;nbsp; //should be short ~1.7 seconds in 1000 counts&lt;/P&gt;&lt;P&gt;&amp;nbsp; RTC_TCR = 0x00000000;&amp;nbsp;&amp;nbsp;&amp;nbsp; //should be dead on after 1000 counts&lt;/P&gt;&lt;P&gt;&amp;nbsp; //RTC_TCR = 0x0000003f;&amp;nbsp;&amp;nbsp; // should be fast ~1.7 seconds after 1020 counts&lt;/P&gt;&lt;P&gt;&amp;nbsp; //RTC_TCR = 0x0000007f;&amp;nbsp;&amp;nbsp;&amp;nbsp; //should be fast ~3.5s after 1000 counts&lt;/P&gt;&lt;P&gt;&amp;nbsp; RTC_TSR = 0x00000001;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RTC_SR |= RTC_SR_TCE_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; //Check for 15 seconds that the TPR register never increments to 32642&lt;/P&gt;&lt;P&gt;&amp;nbsp; while(1)&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //TPR_VAL = RTC_TPR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //TSR_VAL = RTC_TSR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(/*(RTC_TPR &amp;gt;= 32767) &amp;amp;&amp;amp;*/ (current != RTC_TSR))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("%i\n", i);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i+=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; current = RTC_TSR;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Aug 2015 03:12:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447744#M26474</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2015-08-25T03:12:16Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447745#M26475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui,&lt;/P&gt;&lt;P&gt;Thank you for the response.&lt;/P&gt;&lt;P&gt;I have understood the details of frequency compensation. But I would like to know, how the actual frequency error(in ppm) is calculated for a particular crystal dynamically in the firmware.&amp;nbsp; The issue we are facing is that the actual frequency of each crystal(same make) is different.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Akhil &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Aug 2015 03:32:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447745#M26475</guid>
      <dc:creator>akhil</dc:creator>
      <dc:date>2015-08-26T03:32:35Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447746#M26476</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The RTC counter clock is coming from external 32KHz crystal. The external 32KHz crystal will decide the RTC accuracy.&lt;/P&gt;&lt;P&gt;The 32KHz crystal frequency shift need with coherence in the same temperature range.&lt;/P&gt;&lt;P&gt;Otherwise it is hard to set the temp compensation in RTC module.&lt;/P&gt;&lt;P&gt;Wish it helps. &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Aug 2015 03:02:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447746#M26476</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2015-08-27T03:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447747#M26477</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Akhil&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The RTC compensation function is only used to adjust RTC counter based on known offset. But it is not the calibration function. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Paul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Aug 2015 08:25:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447747#M26477</guid>
      <dc:creator>Paul_Tian</dc:creator>
      <dc:date>2015-08-27T08:25:14Z</dc:date>
    </item>
    <item>
      <title>Re: RTC frequency compensation in K60 micro controller</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447748#M26478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I read the AN4949 application note, but I still don't understand how to set RTC_TCR register for compensation in a K6x cpu.&lt;/P&gt;&lt;P&gt;The CIR field set the compensation interval in seconds (from 1 to 256 s): every compensation interval the prescaler value is adjusted for one cycle with the value of the TCR field (+128 / -127) from the 32768 nominal value, right?&lt;/P&gt;&lt;P&gt;Now, I can measure the RTC_CLKOUT signal frequency, which differs quite always from the 32768 Hz nominal value; but how to calculate the right values for CIR and TCR fields?&lt;/P&gt;&lt;P&gt;If I measure RTC_CLKOUT = 32767.0000 Hz, should I set CIR = 0 and TCR = 1 ?&lt;/P&gt;&lt;P&gt;But what if I measure RTC_CLKOUT with a fractional part, i.e. 32767.1234 or 32768.8765 Hz ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2017 22:02:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/RTC-frequency-compensation-in-K60-micro-controller/m-p/447748#M26478</guid>
      <dc:creator>Vagni</dc:creator>
      <dc:date>2017-11-29T22:02:27Z</dc:date>
    </item>
  </channel>
</rss>

