<?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: K60 adc calibration problem in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338380#M16232</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kwon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ma Hui is correct but I wanted to recommend that you NOT run the calibration after every reset.&amp;nbsp; You should only run your calibration one time (under the optimal conditions of your application) and then store them in non-volatile memory.&amp;nbsp; After every reset, they will need to be re-written to the ADC's calibration registers, but you shouldn't have to run the calibration again.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also wanted to point you to this document which explains a little more about the ADC calibration and gives some recommendations on which conditions you should run your calibrations under.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-102013"&gt;16-bit SAR ADC calibration&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Chris &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 03 Feb 2015 20:08:05 GMT</pubDate>
    <dc:creator>chris_brown</dc:creator>
    <dc:date>2015-02-03T20:08:05Z</dc:date>
    <item>
      <title>K60 adc calibration problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338378#M16230</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I use MK60 and 16Bit ADC of differential mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I copy source code on it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I always run "ADC_ExecCalib" function after reset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;sometimes, ADC offeset has been got so big diffenent value befor reset.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do I must run this function every reset? or Can I use this function on only first run?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void InitADCDiffDMA(void)&lt;BR /&gt;{&lt;BR /&gt; DisableInterrupts;&lt;BR /&gt; //**** MCU periphery initialize **********************************************&lt;BR /&gt; SIM_Init(SIM_MODULE_CONFIG);&lt;BR /&gt; //FLL_Init(FLL_MODULE_CONFIG_FEE_96MHZ);&lt;/P&gt;&lt;P&gt; //test&lt;BR /&gt; //InitPITimer1();&lt;/P&gt;&lt;P&gt; //**** VREF config *********************************************************&lt;BR /&gt; VREF_Init (VREF_MODULE_TIGHTREG_CONFIG);&lt;/P&gt;&lt;P&gt; //**** PDB config **********************************************************&lt;BR /&gt; PDBCH0TRG0_Init (PDB_PRETRG_ON_DEALYED_CONFIG, 0x0010);&lt;BR /&gt; PDBCH1TRG0_Init (PDB_PRETRG_ON_DEALYED_CONFIG, 0x0010);&lt;BR /&gt; PDB_Init (PDB_MODULE_SWTRG_NO_IRQ_CONFIG( PDB_PRESCALER_1, PDB_MULT_1, 0x1000, 0xFFFF), 1, NULL);&lt;/P&gt;&lt;P&gt; //**** ADC config **********************************************************&lt;BR /&gt; //**** ADC calibrations **************************************************&lt;BR /&gt; ADC_ExecCalib (ADC0,ADC_MODULE_16B_IREF_HWTRG_CONFIG_U, &amp;amp;ram_adc0);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //DC OK, AC??&lt;BR /&gt; ADC_ExecCalib (ADC1,ADC_MODULE_16B_IREF_HWTRG_CONFIG_U, &amp;amp;ram_adc1);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //DC OK, AC??&lt;/P&gt;&lt;P&gt; //**** ADC0,ADC1 initialization ******************************************&lt;BR /&gt; ADC_Init&amp;nbsp; (ADC0, ADC_MODULE_16B_HWTRG_DMA_IREF_USER_CONFIG, ADC_CH_DI_POLL_CONFIG(DAD1), ADC_CH_DI_POLL_CONFIG(DAD1), 2, NULL);&lt;BR /&gt; ADC_Init&amp;nbsp; (ADC1, ADC_MODULE_16B_HWTRG_DMA_IREF_USER_CONFIG, ADC_CH_DI_POLL_CONFIG(DAD1), ADC_CH_DI_POLL_CONFIG(DAD1), 3, NULL);&lt;/P&gt;&lt;P&gt; //**** DMA channel 0 *****************************************************&lt;BR /&gt; DMACH0_CH1_Init();&lt;BR /&gt; DMACH1_CH1_Init();&lt;BR /&gt; //**** Enable all interrupts ***********************************************&lt;/P&gt;&lt;P&gt; EnableInterrupts;&lt;BR /&gt; //**** Start PDB ***********************************************************&lt;BR /&gt; PDB0_Trigger();&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Feb 2015 05:57:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338378#M16230</guid>
      <dc:creator>kwonym</dc:creator>
      <dc:date>2015-02-02T05:57:56Z</dc:date>
    </item>
    <item>
      <title>Re: K60 adc calibration problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338379#M16231</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 ADC with below info about ADC calibration function:&lt;/P&gt;&lt;P&gt;Calibration must be run, or valid calibration values written, after any reset and before a conversion is initiated.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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, 03 Feb 2015 05:30:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338379#M16231</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2015-02-03T05:30:01Z</dc:date>
    </item>
    <item>
      <title>Re: K60 adc calibration problem</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338380#M16232</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kwon,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ma Hui is correct but I wanted to recommend that you NOT run the calibration after every reset.&amp;nbsp; You should only run your calibration one time (under the optimal conditions of your application) and then store them in non-volatile memory.&amp;nbsp; After every reset, they will need to be re-written to the ADC's calibration registers, but you shouldn't have to run the calibration again.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also wanted to point you to this document which explains a little more about the ADC calibration and gives some recommendations on which conditions you should run your calibrations under.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/docs/DOC-102013"&gt;16-bit SAR ADC calibration&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Chris &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 03 Feb 2015 20:08:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60-adc-calibration-problem/m-p/338380#M16232</guid>
      <dc:creator>chris_brown</dc:creator>
      <dc:date>2015-02-03T20:08:05Z</dc:date>
    </item>
  </channel>
</rss>

