<?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: TSI scan using DMA in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733656#M44853</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Hui_Ma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so took example from SDK and tried to configure to scan ADC using ADC major and minor loops. i took pdb adc and ADC_DMA example from SDK_2.3 for K64 controller available, so tried to modify pdb example to work in mode as described in&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;AN4590SW example.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;so initially i have configured ADC for channel and in DMA0 buffer i have given ADC channel 1 with two dma as per above example. but first to start DMA i have to trigger dma by adding below lines.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;edma_config_t userConfig;&lt;/P&gt;&lt;P&gt;EDMA_GetDefaultConfig(&amp;amp;userConfig);&lt;BR /&gt; EDMA_Init(DEMO_DMA_BASEADDR, &amp;amp;userConfig);&lt;BR /&gt; EDMA_CreateHandle(&amp;amp;g_EDMA_Handle, DEMO_DMA_BASEADDR, DEMO_DMA_CHANNEL1);&lt;BR /&gt; EDMA_SetCallback(&amp;amp;g_EDMA_Handle, Edma_Callback, NULL);&lt;BR /&gt; EDMA_PrepareTransfer(&amp;amp;g_transferConfig, (void *)ADC16_RESULT_REG_ADDR, sizeof(uint32_t),&lt;BR /&gt; (void *)ui_adc_result, sizeof(uint32_t), sizeof(uint32_t),&lt;BR /&gt; sizeof(ui_adc_result), kEDMA_PeripheralToMemory);&lt;BR /&gt; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;g_transferConfig);&lt;BR /&gt; /* Enable interrupt when transfer is done. */&lt;BR /&gt; EDMA_EnableChannelInterrupts(DEMO_DMA_BASEADDR, DEMO_DMA_CHANNEL1, kEDMA_MajorInterruptEnable);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; /* Enable transfer. */&lt;BR /&gt; EDMA_StartTransfer(&amp;amp;g_EDMA_Handle);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i put a break point in DMA call back i got some values and in ADC register ADC channel was set to 0 which was done during ADC initialization.&lt;/P&gt;&lt;P&gt;so my question was like to trigger second DMA which is responsible to change ADC channel do i need to do anything else apart from what is given in&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;AN4590SW example.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 Jan 2018 14:47:36 GMT</pubDate>
    <dc:creator>amitmehta</dc:creator>
    <dc:date>2018-01-29T14:47:36Z</dc:date>
    <item>
      <title>TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733652#M44849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i am developing application for scanning touch input and taking action based upon input but TSI scan is taking time as we need to scan channel one by one, so i want to move TSI scan from interrupt based to DMA based on KL16 so processing time can be saved and other tasks can be done during scan, but i am unable to configure DMA with TSI&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Jan 2018 10:39:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733652#M44849</guid>
      <dc:creator>amitmehta</dc:creator>
      <dc:date>2018-01-18T10:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733653#M44850</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;Sorry, I don't find a TSI combine with DMA example for your reference.&lt;/P&gt;&lt;P&gt;While, that application is quite similar with AN4590 application note, which using DAM to emulate ADC flexible scan mode. It also using DMA to get the ADC conversion result and software trigger the next channel.&lt;/P&gt;&lt;P&gt;Please refer&lt;A href="https://www.nxp.com/docs/en/application-note/AN4590.pdf"&gt; here&lt;/A&gt; for the detailed info.&lt;/P&gt;&lt;P&gt;AN4590SW could be downloaded from &lt;A href="https://www.nxp.com/docs/en/application-note-software/AN4590SW.zip"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regards,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jan 2018 08:18:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733653#M44850</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-01-22T08:18:58Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733654#M44851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;thanks for reference code so i was also stuck for ADC DMA, so basically i try to port the code you shared for K24 using SDK 2.2 but i am unable to figure out in the code how ADC DMA is being triggered as in PDB i am unable to find any reference for ADC and further if you can help me getting this thing up and running with latest SDK available.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jan 2018 12:11:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733654#M44851</guid>
      <dc:creator>amitmehta</dc:creator>
      <dc:date>2018-01-24T12:11:21Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733655#M44852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Amit,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the KL16 chip, which doesn't include PDB module.&lt;/P&gt;&lt;P&gt;If you want to know how PDB hardware trigger ADC module, I would recommend you to download &lt;A href="https://mcuxpresso.nxp.com/en/select"&gt;MCUXpresso SDK for FRDM-K64F&lt;/A&gt;. There provides the [ftm_pdb_adc16] demo located at below path:&lt;/P&gt;&lt;P&gt;..\SDK_2.3.0_FRDM-K64F\boards\frdmk64f\demo_apps\ftm_pdb_adc16&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;Mike&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>Fri, 26 Jan 2018 06:59:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733655#M44852</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-01-26T06:59:54Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733656#M44853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Hui_Ma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so took example from SDK and tried to configure to scan ADC using ADC major and minor loops. i took pdb adc and ADC_DMA example from SDK_2.3 for K64 controller available, so tried to modify pdb example to work in mode as described in&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;AN4590SW example.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;so initially i have configured ADC for channel and in DMA0 buffer i have given ADC channel 1 with two dma as per above example. but first to start DMA i have to trigger dma by adding below lines.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;edma_config_t userConfig;&lt;/P&gt;&lt;P&gt;EDMA_GetDefaultConfig(&amp;amp;userConfig);&lt;BR /&gt; EDMA_Init(DEMO_DMA_BASEADDR, &amp;amp;userConfig);&lt;BR /&gt; EDMA_CreateHandle(&amp;amp;g_EDMA_Handle, DEMO_DMA_BASEADDR, DEMO_DMA_CHANNEL1);&lt;BR /&gt; EDMA_SetCallback(&amp;amp;g_EDMA_Handle, Edma_Callback, NULL);&lt;BR /&gt; EDMA_PrepareTransfer(&amp;amp;g_transferConfig, (void *)ADC16_RESULT_REG_ADDR, sizeof(uint32_t),&lt;BR /&gt; (void *)ui_adc_result, sizeof(uint32_t), sizeof(uint32_t),&lt;BR /&gt; sizeof(ui_adc_result), kEDMA_PeripheralToMemory);&lt;BR /&gt; EDMA_SubmitTransfer(&amp;amp;g_EDMA_Handle, &amp;amp;g_transferConfig);&lt;BR /&gt; /* Enable interrupt when transfer is done. */&lt;BR /&gt; EDMA_EnableChannelInterrupts(DEMO_DMA_BASEADDR, DEMO_DMA_CHANNEL1, kEDMA_MajorInterruptEnable);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; /* Enable transfer. */&lt;BR /&gt; EDMA_StartTransfer(&amp;amp;g_EDMA_Handle);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;when i put a break point in DMA call back i got some values and in ADC register ADC channel was set to 0 which was done during ADC initialization.&lt;/P&gt;&lt;P&gt;so my question was like to trigger second DMA which is responsible to change ADC channel do i need to do anything else apart from what is given in&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;AN4590SW example.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jan 2018 14:47:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733656#M44853</guid>
      <dc:creator>amitmehta</dc:creator>
      <dc:date>2018-01-29T14:47:36Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733657#M44854</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 DMA transfer logic is below:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44378i693516E8C8FA5316/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;So, the DMA channel 1 using to transfer ADC conversion result data, after than, the channel link will trigger start Channel 0 to software start next round ADC conversion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regards,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Feb 2018 08:59:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733657#M44854</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-02-05T08:59:49Z</dc:date>
    </item>
    <item>
      <title>Re: TSI scan using DMA</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733658#M44855</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for you help found reference code in SDK_2.3 for k64 now i am able to configure ADC with 2 DMA, i still have to try same for TSI.&lt;/P&gt;&lt;P&gt;I have another doubt regarding TSI but i think i should create different discussion for that because that is regarding auto noise mode&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Feb 2018 13:03:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/TSI-scan-using-DMA/m-p/733658#M44855</guid>
      <dc:creator>amitmehta</dc:creator>
      <dc:date>2018-02-08T13:03:50Z</dc:date>
    </item>
  </channel>
</rss>

