<?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>i.MX ProcessorsのトピックRe: i.MX93 ADC – Continuous / Scan Mode for Stable 48 kHz Sampling</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-MX93-ADC-Continuous-Scan-Mode-for-Stable-48-kHz-Sampling/m-p/2355413#M244986</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thank you for your interest in NXP Semiconductor products,&lt;/P&gt;
&lt;P&gt;SW team confirmed that L&lt;SPAN&gt;inux driver doesn’t support Scan mode. However you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;may refer to example code on MCU SDK. You can try to run it on i.MX93 directly, but it also can be used for reference with same IP.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It's located mcuxsdk-examples/driver_examples/sar_adc/sample_rate_measurement/sample_rate_measurement.c&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 23 Apr 2026 20:03:36 GMT</pubDate>
    <dc:creator>JosephAtNXP</dc:creator>
    <dc:date>2026-04-23T20:03:36Z</dc:date>
    <item>
      <title>i.MX93 ADC – Continuous / Scan Mode for Stable 48 kHz Sampling</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX93-ADC-Continuous-Scan-Mode-for-Stable-48-kHz-Sampling/m-p/2354145#M244952</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I’m working on an ADC-based audio capture use case on i.MX93 and would like to confirm whether continuous / scan mode is supported in the ADC driver, and whether our analysis is correct.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Goal:&lt;/STRONG&gt;&lt;BR /&gt;Capture ADC samples at a stable 48 kHz to feed an audio processing pipeline.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Current situation&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;1) One-shot mode&lt;/STRONG&gt;&lt;BR /&gt;Using imx93_adc_read_channel_conversion()&amp;nbsp;the effective sampling rate is limited by CPU scheduling and context switches.&lt;BR /&gt;In practice, we only reach ~14 kHz, which is not suitable for audio.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2) IIO triggered buffer + hrtimer&lt;/STRONG&gt;&lt;BR /&gt;We switched to an IIO triggered buffer with a kernel hrtimer trigger at 48 kHz (20.83 µs):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;hrtimer trigger @ 48 kHz&lt;/LI&gt;&lt;LI&gt;trigger handler polls EOC&lt;/LI&gt;&lt;LI&gt;samples pushed to IIO kfifo&lt;/LI&gt;&lt;LI&gt;userspace reads /dev/iio:deviceX&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Although the hrtimer is configured at 48 kHz, the effective capture rate is unstable (~47.xx kHz).&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Our understanding is that this happens because:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;each trigger still starts a one-shot conversion&lt;/LI&gt;&lt;LI&gt;conversion is retriggered every period&lt;/LI&gt;&lt;LI&gt;software overhead and context switches occasionally miss deadlines&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;So the sampling rate is not strictly deterministic.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Hardware / RM analysis&lt;/STRONG&gt;&lt;BR /&gt;According to the i.MX93 Reference Manual:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;ADC supports up to 1 MS/s&lt;/LI&gt;&lt;LI&gt;Normal mode supports:&lt;UL&gt;&lt;LI&gt;One-shot&lt;/LI&gt;&lt;LI&gt;Scan (continuous) conversions&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;This suggests that a continuous / scan mode could provide a stable 48 kHz rate, where:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;ADC is started once&lt;/LI&gt;&lt;LI&gt;samples are generated continuously&lt;/LI&gt;&lt;LI&gt;software only consumes data from a buffer (no per-sample retrigger)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;Questions&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Is scan / continuous mode currently supported in the i.MX93 Linux ADC driver?&lt;/LI&gt;&lt;LI&gt;If not supported:&lt;/LI&gt;&lt;/OL&gt;&lt;UL&gt;&lt;LI&gt;Is continuous / scan mode the recommended approach for stable audio-rate sampling (e.g. 48 kHz)?&lt;/LI&gt;&lt;LI&gt;Are there any reference patches, examples, or guidelines from NXP?&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Any feedback or confirmation would be very helpful.&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Apr 2026 08:50:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX93-ADC-Continuous-Scan-Mode-for-Stable-48-kHz-Sampling/m-p/2354145#M244952</guid>
      <dc:creator>moezmefteh</dc:creator>
      <dc:date>2026-04-21T08:50:36Z</dc:date>
    </item>
    <item>
      <title>Re: i.MX93 ADC – Continuous / Scan Mode for Stable 48 kHz Sampling</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-MX93-ADC-Continuous-Scan-Mode-for-Stable-48-kHz-Sampling/m-p/2355413#M244986</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thank you for your interest in NXP Semiconductor products,&lt;/P&gt;
&lt;P&gt;SW team confirmed that L&lt;SPAN&gt;inux driver doesn’t support Scan mode. However you&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;may refer to example code on MCU SDK. You can try to run it on i.MX93 directly, but it also can be used for reference with same IP.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It's located mcuxsdk-examples/driver_examples/sar_adc/sample_rate_measurement/sample_rate_measurement.c&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Apr 2026 20:03:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-MX93-ADC-Continuous-Scan-Mode-for-Stable-48-kHz-Sampling/m-p/2355413#M244986</guid>
      <dc:creator>JosephAtNXP</dc:creator>
      <dc:date>2026-04-23T20:03:36Z</dc:date>
    </item>
  </channel>
</rss>

