<?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>Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24589/configuring-i2s-for-ics43434</link><description>We are trying to configure the I2S peripheral for working with the ICS-43434 microphone ( www.invensense.com/.../) , but we are having a hard time fulfill the requirements of the clocks because they conflict with the nRF52832 equations and contraints</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 02 Mar 2018 08:06:28 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24589/configuring-i2s-for-ics43434" /><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/122551?ContentTypeID=1</link><pubDate>Fri, 02 Mar 2018 08:06:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a35425da-58cf-4cd2-9a54-8939d78b2d90</guid><dc:creator>Alan</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Greg Tomasch&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Is this solution workable on the SDK14?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;I tried but I just cannot make it work.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Thanks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Al&lt;/span&gt;&lt;span&gt;an&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/96823?ContentTypeID=1</link><pubDate>Thu, 14 Sep 2017 03:21:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4e89e482-5ef3-46af-a6ac-074f4c008d6b</guid><dc:creator>Greg Tomasch</dc:creator><description>&lt;p&gt;Hello All,&lt;/p&gt;
&lt;p&gt;I think there is a work-around of sorts now... Like everyone else, I was attempting to collect audio data from a modern 24-bit I2S MEMS microphone and ran into the hard-coded limitation of 48 SCK pulses per stereo I2S frame in I2S master mode. It dawned on me that there really is precious little difference between I2S master and slave modes... Except where the LRCK and SCK pulses come from.&lt;/p&gt;
&lt;p&gt;My solution was to augment the PWM library to set the PWM carrier period directly in 16MHz ticks, not milliseconds. So I use two PWM channels; one to generate SCK and the other to generate LRCK and connect the PWM outputs to the I2S SCK and LRCK pins. I set the LRCK PWM channel period to be 64X that of the SCK PWM chanel period. I have a functioning peripheral application for SDK 13.0.0 and the pca10040 DK board located here:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/gregtomasch/nRF52_24-bit-_I2S_Microphone_Audio_Recording_Utility"&gt;github.com/.../nRF52_24-bit-_I2S_Microphone_Audio_Recording_Utility&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I was using the Invensense ICS43432 microphone. There is a sample &amp;quot;.wav&amp;quot; audio file that demonstrates typical audio quality....&lt;/p&gt;
&lt;p&gt;This may be considered as an ugly work-around but it doesn&amp;#39;t require any other external devices to generate the clock signals...&lt;/p&gt;
&lt;p&gt;Best Regards, Greg Tomasch&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/96821?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 20:50:29 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65c6c094-213e-4cba-92f1-38605ad4d6e0</guid><dc:creator>Tomer</dc:creator><description>&lt;p&gt;So it looks like I&amp;#39;m going to direct this question for the microphone manufacturer, thanks for the answer!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/96822?ContentTypeID=1</link><pubDate>Fri, 01 Sep 2017 07:00:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25959920-2286-4e16-ab22-e9e58fce23d2</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;You can use 16 bit frames, but as you say, the WS/LRCK then toggle every 16th SCK. The data will not be changed in anyway, but in 24-bit mode the data is sign-extended to 32 bit in memory. If you choose 16 bit instead that won&amp;#39;t work unless this is handled by the microphone. So how well this will work actually depends on your microphone.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/96820?ContentTypeID=1</link><pubDate>Sun, 27 Aug 2017 07:34:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45b29703-60d5-490c-affa-8af421dcd6b9</guid><dc:creator>Tomer</dc:creator><description>&lt;p&gt;Does that mean that this microphone cannot be used with the nRF52832? Or can it be used at smaller resolution of samples? I&amp;#39;m not that familiar with I2S, but what happens when you set the sample width at the nRF52832 to 16 bit so it will alternate the WS clock each 16 SCK clocks? Will it truncate the samples or mess the data?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Configuring I2S for ICS43434</title><link>https://devzone.nordicsemi.com/thread/96819?ContentTypeID=1</link><pubDate>Fri, 25 Aug 2017 07:03:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:732c9d0b-50b7-494e-baf6-b73b664688c2</guid><dc:creator>MartinBL</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Unfortunately, transferring 24-bit samples over 32-bit frame is not supported in our current I2S and I cannot think of any workarounds.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>