<?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 Poor sigma delta ADC resolution [MKM34Z] in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Poor-sigma-delta-ADC-resolution-MKM34Z/m-p/908209#M53265</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Hardware&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;TWR-KM34Z75M&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Software setting:&lt;BR /&gt;&lt;/STRONG&gt;According to "&lt;EM&gt;KM Family Reference Manual"&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;S&amp;amp;D adc is clocked by 6.144 MHz clock generated from PLL with 32.768 kHz&lt;/LI&gt;&lt;LI&gt;no others module is using this clock to fulfill reference hint:&lt;BR /&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;'When PLL is driving AFE clock, this clock should not be used for any other module including the core, bus, flash and other peripherals as this is necessary to ensure good accuracy from AFE.'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/LI&gt;&lt;LI&gt;continous conversion mode&lt;/LI&gt;&lt;LI&gt;pga gain disabled&lt;/LI&gt;&lt;LI&gt;oversampling: kAFE_DecimatorOversampleRatio1024&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Test:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Just short differential input together [EXT_SD_ADPx to EXT_SD_ADMx;&amp;nbsp; where: x = 0 .... 2], run conversion and get multiple samples.&lt;/P&gt;&lt;P&gt;The expectation is that:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;the average value will be DC-offset. (Perfectly 0)&lt;/LI&gt;&lt;LI&gt;the variance tells about resolution (Perfectly variance shall be 0). The higher variance the lower resolution.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Results:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Here is a result from the first S&amp;amp;D 24 bits converter. I took it from 40 samples&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101010101001␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101101011000␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110000010111␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110011011111␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011100100␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011001111␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011011010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100111010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100010010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101010110110␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100101111␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110001100001␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110011000010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101110011011␍␊&lt;BR /&gt;[15:25:14:123] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101110011110␍␊&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;val_max-val_min = 909. It tells that about 10 bits are useless (2^10&amp;gt;909). &lt;BR /&gt;So because S&amp;amp;D has 24bit resolution, we can say that ENOB (effective number of bits) is 24- 10 =&lt;STRONG&gt;14bits.&lt;BR /&gt;&lt;/STRONG&gt;Take a look at the samples, its clear to see that the LSB bits are trash. &lt;BR /&gt;I have done such test many times and always get the same results ENOB: 12-14bit.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Why MKM34Z's S&amp;amp;D adc has such poor resolution? &lt;BR /&gt;Is there any trick to increase the resolution??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 May 2019 07:08:35 GMT</pubDate>
    <dc:creator>zbigniew_halat</dc:creator>
    <dc:date>2019-05-27T07:08:35Z</dc:date>
    <item>
      <title>Poor sigma delta ADC resolution [MKM34Z]</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Poor-sigma-delta-ADC-resolution-MKM34Z/m-p/908209#M53265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Hardware&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;TWR-KM34Z75M&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Software setting:&lt;BR /&gt;&lt;/STRONG&gt;According to "&lt;EM&gt;KM Family Reference Manual"&amp;nbsp;&amp;nbsp;&lt;/EM&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;S&amp;amp;D adc is clocked by 6.144 MHz clock generated from PLL with 32.768 kHz&lt;/LI&gt;&lt;LI&gt;no others module is using this clock to fulfill reference hint:&lt;BR /&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;'When PLL is driving AFE clock, this clock should not be used for any other module including the core, bus, flash and other peripherals as this is necessary to ensure good accuracy from AFE.'&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/LI&gt;&lt;LI&gt;continous conversion mode&lt;/LI&gt;&lt;LI&gt;pga gain disabled&lt;/LI&gt;&lt;LI&gt;oversampling: kAFE_DecimatorOversampleRatio1024&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Test:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Just short differential input together [EXT_SD_ADPx to EXT_SD_ADMx;&amp;nbsp; where: x = 0 .... 2], run conversion and get multiple samples.&lt;/P&gt;&lt;P&gt;The expectation is that:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;the average value will be DC-offset. (Perfectly 0)&lt;/LI&gt;&lt;LI&gt;the variance tells about resolution (Perfectly variance shall be 0). The higher variance the lower resolution.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Results:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Here is a result from the first S&amp;amp;D 24 bits converter. I took it from 40 samples&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101010101001␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101101011000␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110000010111␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110011011111␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011100100␍␊&lt;BR /&gt;[15:25:14:034] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011001111␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101011011010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100111010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100010010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101010110110␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101100101111␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110001100001␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100110011000010␍␊&lt;BR /&gt;[15:25:14:079] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101110011011␍␊&lt;BR /&gt;[15:25:14:123] LOG_LEVEL_INFO: #LOG_LEVEL_DEBUG: 111111111100101110011110␍␊&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;val_max-val_min = 909. It tells that about 10 bits are useless (2^10&amp;gt;909). &lt;BR /&gt;So because S&amp;amp;D has 24bit resolution, we can say that ENOB (effective number of bits) is 24- 10 =&lt;STRONG&gt;14bits.&lt;BR /&gt;&lt;/STRONG&gt;Take a look at the samples, its clear to see that the LSB bits are trash. &lt;BR /&gt;I have done such test many times and always get the same results ENOB: 12-14bit.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Why MKM34Z's S&amp;amp;D adc has such poor resolution? &lt;BR /&gt;Is there any trick to increase the resolution??&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 May 2019 07:08:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Poor-sigma-delta-ADC-resolution-MKM34Z/m-p/908209#M53265</guid>
      <dc:creator>zbigniew_halat</dc:creator>
      <dc:date>2019-05-27T07:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: Poor sigma delta ADC resolution [MKM34Z]</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Poor-sigma-delta-ADC-resolution-MKM34Z/m-p/908210#M53266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You could take a look to the below document to increase accuracy of an ADC.&lt;/P&gt;&lt;P&gt;&lt;A href="https://cache.nxp.com/docs/en/application-note/AN5250.pdf"&gt;https://cache.nxp.com/docs/en/application-note/AN5250.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Felipe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2019 22:27:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Poor-sigma-delta-ADC-resolution-MKM34Z/m-p/908210#M53266</guid>
      <dc:creator>FelipeGarcia</dc:creator>
      <dc:date>2019-05-28T22:27:48Z</dc:date>
    </item>
  </channel>
</rss>

