<?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>S32KのトピックRe: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
    <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113573#M49751</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248971"&gt;@DiaDev&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I don't understand how do you collect the 20 items in arr[50]?&lt;/P&gt;
&lt;P&gt;Do you use RTD drivers or your own SPI implementation?&lt;/P&gt;</description>
    <pubDate>Tue, 10 Jun 2025 11:13:37 GMT</pubDate>
    <dc:creator>danielmartynek</dc:creator>
    <dc:date>2025-06-10T11:13:37Z</dc:date>
    <item>
      <title>[S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2112033#M49662</link>
      <description>&lt;P&gt;Hi NXP Community,&lt;/P&gt;&lt;P&gt;I’m working with the S32K344 MCU and need to implement block-based data transfers via DMA from peripherals like ADC, UART, or SPI. My goal is to queue multiple blocks of data for continuous streaming without loss, starting from the very first block.&lt;/P&gt;&lt;P&gt;Requirements:&lt;/P&gt;&lt;P&gt;(Wait until 20 Data are collected)---&amp;gt;Transfer to DMA (Tx watermark condition)&lt;/P&gt;&lt;P&gt;Peripheral sends continuous data (e.g.,LPUART , LPSPI).&lt;BR /&gt;DMA should queue and transfer blocks of fixed size (e.g., N bytes).&lt;BR /&gt;Support for multi-buffering or buffer rotation so that new data is not lost while the current buffer is being processed.&lt;BR /&gt;Questions:&lt;/P&gt;&lt;P&gt;In my application, I want to wait until 20 data samples are collected, and then trigger a DMA transfer under a Tx watermark condition. What’s the recommended approach using eDMA and RTD drivers on the S32K344 to achieve this kind of block-based triggering?&lt;BR /&gt;Can I use linked TCDs or scatter-gather with eDMA on S32K3XX for this purpose?&lt;BR /&gt;Any SDK-supported method to pre-load buffer queue and enable DMA without missing the first data?&lt;BR /&gt;Any tips, examples, or guidance on DMA queuing and buffer management using RTD would be greatly appreciated!&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 10:47:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2112033#M49662</guid>
      <dc:creator>DiaDev</dc:creator>
      <dc:date>2025-06-06T10:47:25Z</dc:date>
    </item>
    <item>
      <title>Re: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2112135#M49671</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248971"&gt;@DiaDev&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;The DMA controller does not have an internal buffer and cannot accumulate or wait for data on its own.&lt;BR /&gt;Instead, it transfers data immediately when it receives a signal from the corresponding peripheral.&lt;/P&gt;
&lt;P&gt;Example: LPSPI Module&lt;BR /&gt;The LPSPI module includes a 4 x 32-bit RX FIFO.&lt;BR /&gt;If LPSPI_FCR[RXWATER] = 4, the LPSPI module will trigger a DMA request once 4 words have been received.&lt;BR /&gt;This means the peripheral controls when the DMA is signaled, not the DMA itself.&lt;BR /&gt;Each peripheral has its own way of interacting with DMA. The behavior and triggering conditions can vary significantly between modules.&lt;/P&gt;
&lt;P&gt;In most cases, peripheral RTD drivers configure the DMA channels.&lt;BR /&gt;For example, in the LPSPI RTD driver, the FIFO is not used by the driver.&lt;BR /&gt;Instead, the DMA transfers data word by word as it is received, without waiting for the FIFO to fill.&lt;BR /&gt;This behavior can differ from one driver to another, so it's important to consult the specific driver implementation for details.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jun 2025 13:51:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2112135#M49671</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-06-06T13:51:13Z</dc:date>
    </item>
    <item>
      <title>Re: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113513#M49745</link>
      <description>Hi,&lt;BR /&gt;I'm collecting data into arr[50] and want to transfer 20 items to DMA after they're collected (Tx watermark condition).&lt;BR /&gt;&lt;BR /&gt;How should I configure the minor loop and major loop for this?&lt;BR /&gt;&lt;BR /&gt;Minor loop byte size?&lt;BR /&gt;&lt;BR /&gt;Major loop iteration count?&lt;BR /&gt;&lt;BR /&gt;How to ensure DMA triggers only after 20 items are ready?&lt;BR /&gt;&lt;BR /&gt;Thanks!</description>
      <pubDate>Tue, 10 Jun 2025 09:59:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113513#M49745</guid>
      <dc:creator>DiaDev</dc:creator>
      <dc:date>2025-06-10T09:59:34Z</dc:date>
    </item>
    <item>
      <title>Re: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113573#M49751</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248971"&gt;@DiaDev&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I don't understand how do you collect the 20 items in arr[50]?&lt;/P&gt;
&lt;P&gt;Do you use RTD drivers or your own SPI implementation?&lt;/P&gt;</description>
      <pubDate>Tue, 10 Jun 2025 11:13:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113573#M49751</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-06-10T11:13:37Z</dc:date>
    </item>
    <item>
      <title>Re: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113587#M49752</link>
      <description>In Config S32DS, using RTD</description>
      <pubDate>Tue, 10 Jun 2025 11:34:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2113587#M49752</guid>
      <dc:creator>DiaDev</dc:creator>
      <dc:date>2025-06-10T11:34:53Z</dc:date>
    </item>
    <item>
      <title>Re: [S32K3] DMA: Block-Based Queuing for Continuous Peripheral Data</title>
      <link>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2114197#M49783</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/248971"&gt;@DiaDev&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;If you use RTD, the APIs take an RX buffer as an argument and populate the buffer with RX data either using interrupts or DMA already.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please be more specific.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Jun 2025 06:50:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32K3-DMA-Block-Based-Queuing-for-Continuous-Peripheral-Data/m-p/2114197#M49783</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-06-11T06:50:38Z</dc:date>
    </item>
  </channel>
</rss>

