<?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>Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/55999/peripheral-interrupt-setting-with-s112</link><description>Hi, 
 It seems that s112 soft device uses IRQ level 0,1,4 of nRF52832. 
 By default my counter has default IRQ level 6, my concern is about the delay of COMPARE interrupt by s112? Will the delay be smaller when I set counter IRQ to level 3? 
 If my counter</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 14 Jan 2020 01:33:10 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/55999/peripheral-interrupt-setting-with-s112" /><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/228909?ContentTypeID=1</link><pubDate>Tue, 14 Jan 2020 01:33:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:825ce69d-1f0d-4cfc-9858-464046c05ea7</guid><dc:creator>yf13</dc:creator><description>&lt;p&gt;Thanks for the highlights. Now I can see that the maximum delay is within 250us, as shown in the tISR(0),PostProcessing row.&lt;/p&gt;
&lt;p&gt;I will close this ticket.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/228720?ContentTypeID=1</link><pubDate>Mon, 13 Jan 2020 07:45:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20994853-5233-473f-9c2c-0b3fb84fcac0</guid><dc:creator>Vidar Berg</dc:creator><description>[quote user="yf13"]Though I can&amp;#39;t get clear info about the maximum IRQ delays caused by s112,[/quote]
&lt;p&gt;ISR (priority 0) processing times are specified for given Softdevice events:&amp;nbsp;&lt;a title="Bluetooth Low Energy processor usage patterns" href="https://infocenter.nordicsemi.com/topic/sds_s112/SDS/s1xx/processor_avail_interrupt_latency/ble_usage_patterns.html?cp=4_5_0_0_15_2_2"&gt;Bluetooth Low Energy processor usage patterns&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/228658?ContentTypeID=1</link><pubDate>Sat, 11 Jan 2020 05:14:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e81b6a87-97ec-4801-968c-24e5187595d3</guid><dc:creator>yf13</dc:creator><description>&lt;p&gt;Though I can&amp;#39;t get clear info about the maximum IRQ delays caused by s112, so far with slower sampling rate everything looks fine. I would like to put this ticket to monitoring status but don&amp;#39;t know how yet.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227149?ContentTypeID=1</link><pubDate>Wed, 01 Jan 2020 00:26:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:148ecc08-4017-49af-817d-cd3babb30184</guid><dc:creator>yf13</dc:creator><description>&lt;p&gt;To avoid interrupt CPU too much, I am using repeated SPIM with array list and use a counter to counter SPIM&amp;nbsp; END events and then interrupt CPU.&lt;/p&gt;
&lt;p&gt;According to your description, I probably need another counter B for the STARTED events and in the IRQ handler B to setup the new xfer registers? won&amp;#39;t the IRQ B&amp;nbsp;gets delayed by higher priority&amp;nbsp;interrupts of s112 for more than 60us?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227147?ContentTypeID=1</link><pubDate>Tue, 31 Dec 2019 19:07:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:39c612bf-77aa-4839-8de6-d0e516041601</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;You can setup the easydma stuff in advance as the registers are double buffered.&lt;/p&gt;
&lt;p&gt;The caveat is you need to wait for the STARTED event.&lt;/p&gt;
&lt;p&gt;It it propably a good idea to handle this event in the SPIM interrupt and put the new DMA buffers in those TXD.PTR and RXD.PTR registers.&lt;/p&gt;
&lt;p&gt;This way the only thing that requires 60&amp;micro;s timing is the actual PPI event itself.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227117?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2019 23:37:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3a8b96ba-807f-4436-a611-f55a9c344afa</guid><dc:creator>yf13</dc:creator><description>&lt;p&gt;I have been using PPI to control the data collection in batches. The problem is that when the SPIM list buffer is full, the COMPARE interrupt happens and my IRQ is called. Within the IRQ, I must setup new SPIM list within 60us otherwise I am afraid the new data will cause old list to grow beyond allowed buffer. So offloading data collection to PPI doesn&amp;#39;t solve the IRQ delay issue.&lt;/p&gt;
&lt;p&gt;If 60us is too tight for s112, how about 120us?&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227058?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2019 12:02:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:69d95892-b47f-4e26-9728-7b256c779570</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;Setup the SPIM transaction beforehand, use a PPI channel to actually start it (triggered via GPIOTE).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227040?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2019 09:35:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2fe3869e-2786-41f0-8723-80b03a253910</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;The 60us timing requirement will not be guaranteed with the Softdevice enabled, unfortunately. However,&amp;nbsp;I think you should be able&amp;nbsp;to&amp;nbsp;reduce this requirement significantly by changing the way you use the SPIM.&amp;nbsp;You can, for instance, connect the TIMER COMPARE event directly to the&amp;nbsp; SPIM start task through PPI. DMA double buffering and list feature will also help offload the CPU. I would recommend you to take a look at the&amp;nbsp;&amp;nbsp;&lt;a title="Advanced usage" href="https://infocenter.nordicsemi.com/topic/sdk_nrf5_v16.0.0/hardware_driver_spi_master.html?cp=7_1_2_0_13_2#hardware_driver_spi_advanced"&gt;Advanced usage&lt;/a&gt;&amp;nbsp;section of the SPIM driver if you haven&amp;#39;t done it already. Also, the PS for a more low-level description of the peripheral:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/ps_nrf52833/spim.html?cp=4_1_0_5_22"&gt;SPIM — Serial peripheral interface master with EasyDMA&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/227017?ContentTypeID=1</link><pubDate>Mon, 30 Dec 2019 00:50:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:25fc443e-0d02-41ee-b911-5783c647dc7b</guid><dc:creator>yf13</dc:creator><description>&lt;p&gt;My app collects data samples at 16000hz, my IRQ will be triggered when the DMA buffer is fully loaded by the last sample.&amp;nbsp; Thus before the next samples come in 1/16000sec=60us, my IRQ needs be finished so that the new SPIM xfer can be setup, otherwise the old SPIM xfer may corrupt memory.&lt;/p&gt;
&lt;p&gt;So from this regard, the timing requirements for the IRQ seems shall be less than 60us. Will this be possible?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/226959?ContentTypeID=1</link><pubDate>Fri, 27 Dec 2019 16:26:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9eb20dd7-c161-4a63-96ab-e012c16450b7</guid><dc:creator>Vidar Berg</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Do you have a certain timing requirement you need to meet? The Softevice is idle most of the time, so the timing impact is generally very low. You can read more about it in the &amp;quot;&lt;a class="" title="Interrupt model and processor availability" href="https://infocenter.nordicsemi.com/topic/sds_s112/SDS/s1xx/processor_avail_interrupt_latency/processor_avail_interrupt_latency.html?cp=4_5_0_0_15"&gt;Interrupt model and processor availability&lt;/a&gt;&amp;quot; section of the Softdevice specification document.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Peripheral interrupt setting with S112</title><link>https://devzone.nordicsemi.com/thread/226912?ContentTypeID=1</link><pubDate>Fri, 27 Dec 2019 10:17:41 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:970eeba3-ea1b-40d1-a250-4a326b9c8492</guid><dc:creator>Turbo J</dc:creator><description>[quote userid="85167" url="~/f/nordic-q-a/55999/peripheral-interrupt-setting-with-s112"]Will the delay be smaller when I set counter IRQ to level 3?&amp;nbsp;[/quote]
&lt;p&gt;Only in the rare cases when the softdevice needs to process radios stuff &lt;em&gt;at the same time&lt;/em&gt;. Otherwise the delay will be the same.&lt;/p&gt;
&lt;p&gt;You cannot use the lower IRQ priorities - the timing for the RADIO interrupts is pretty tight even on the 64MHz devices. The softdevice will produce errors when it detects delayed interrupts.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>