<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Transmitting Sine wave through nRF52840 I2S using Easy DMA with MAX98357A Codec</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/61548/transmitting-sine-wave-through-nrf52840-i2s-using-easy-dma-with-max98357a-codec</link><description>Hi Nordic Team, 
 
 I am developing a device using Arduino Nano-33-ble board which is based on the nRF52840. 
 The code is developed on Arduino IDE and the basic function is to generate bursts of Sinusoidal wave through I2S via a audio amplifier IC (MAX98357A</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 02 Jun 2020 13:32:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/61548/transmitting-sine-wave-through-nrf52840-i2s-using-easy-dma-with-max98357a-codec" /><item><title>RE: Transmitting Sine wave through nRF52840 I2S using Easy DMA with MAX98357A Codec</title><link>https://devzone.nordicsemi.com/thread/252768?ContentTypeID=1</link><pubDate>Tue, 02 Jun 2020 13:32:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:270b90a6-87b7-4b47-bb3e-70278fbc44e6</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Sorry for late reply.&lt;/p&gt;
[quote user="jesse wilson"]1)Can I configure Easy DMA in such a way that DMA transfer is stopped when NRF_I2S-&amp;gt;TXD.MAXCNT bytes of data transmission is completed?[/quote]
&lt;p&gt;&amp;nbsp;Yes, you can use PPI to connect the EVENTS_TXPTRUPD event (which will be generated for every RXTXD.MAXNT words that are sent on the SDOUT pin) with TASKS_STOP on the I2S peripheral. Usually you need to trigger the TASKS_START again afterwards.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="jesse wilson"]2)Are there any interrupts generated at the completion of Easy DMA transfer? can we configure this?[/quote]
&lt;p&gt;You can use the EVENTS_TXPTRUPD event to set an interrupt. &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
[quote user="jesse wilson"]3)Is there any generic DMA that can be used along with I2S?[/quote]
&lt;p&gt;&amp;nbsp;Don&amp;#39;t quite understand this question. I2S supports easyDMA and easyDMA is the only DMA module support in Nordic chips.&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Transmitting Sine wave through nRF52840 I2S using Easy DMA with MAX98357A Codec</title><link>https://devzone.nordicsemi.com/thread/251060?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 15:44:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1f3378d6-0b12-45d3-88a6-21d8e0b5981f</guid><dc:creator>jesse wilson</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Marjeris,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Sorry I forgot to attach the code.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/I2S_5F00_DMA_5F00_IRQ_5F00_Complete_5F00_1.ino"&gt;devzone.nordicsemi.com/.../I2S_5F00_DMA_5F00_IRQ_5F00_Complete_5F00_1.ino&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;These are my observation made while implemented I2S with Easy DMA.&lt;/p&gt;
&lt;p&gt;1)Easy DMA is starting over again even after NRF_I2S-&amp;gt;TXD.MAXCNT bytes data is finished.&lt;br /&gt;2)Easy DMA is transmitting continuously until I2S-&amp;gt; TASKS_STOP is set to 1.&lt;br /&gt;4)Easy DMA in I2S can not be configured to single, block, or burst transfer mode.&lt;br /&gt;5)Easy DMA can not be configured to circular or linear.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Please correct if my understandings are wrong. Please provide a solution to the below queries.&lt;/p&gt;
&lt;p&gt;1)1)Can I configure Easy DMA in such a way that DMA transfer is stopped when NRF_I2S-&amp;gt;TXD.MAXCNT bytes of data transmission is completed?&lt;/p&gt;
&lt;p&gt;2)Are there any interrupts generated at the completion of Easy DMA transfer? can we configure this?&lt;/p&gt;
&lt;p&gt;3)Is there any generic DMA that can be used along with I2S?&lt;/p&gt;
&lt;p&gt;Please provide an example code if available.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best Regards,&lt;/p&gt;
&lt;p&gt;Jesse Wilson&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Software Engineer&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Transmitting Sine wave through nRF52840 I2S using Easy DMA with MAX98357A Codec</title><link>https://devzone.nordicsemi.com/thread/251022?ContentTypeID=1</link><pubDate>Wed, 20 May 2020 14:07:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d835783b-913e-4dc8-992c-215edb37985e</guid><dc:creator>Marjeris Romero</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I don&amp;#39;t see any code attached.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Marjeris&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>