<?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>SPIS select pin</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/67010/spis-select-pin</link><description>Hello Nordic, 
 I&amp;#39;m working with NRF52840 (with SDK 16 and softdevice s140 7.0.1) in my project. I need to work with another chip through SPI. This chip is the master and NRF should be the slave. 
 The following picture is the required protocol flow to</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 13 Oct 2020 13:47:15 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/67010/spis-select-pin" /><item><title>RE: SPIS select pin</title><link>https://devzone.nordicsemi.com/thread/274683?ContentTypeID=1</link><pubDate>Tue, 13 Oct 2020 13:47:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:0831fbb2-a7c8-4182-bbf0-9e5749764ec9</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;You can of course try to add 0x00&amp;#39;s or 0xff&amp;#39;s as padding (the same amount of bytes that the &amp;quot;fetch&amp;quot; and &amp;quot;status&amp;quot; messages are.&lt;/p&gt;
&lt;p&gt;Unfortunately, there are no events that you can use in between the EVENTS_END, which is the event that triggers the&amp;nbsp;NRF_DRV_SPIS_XFER_DONE event:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;spis_irq_handler() -&amp;gt;&amp;nbsp;spis_state_change(p_spis, p_cb, SPIS_XFER_COMPLETED); -&amp;gt;&amp;nbsp;spis_state_entry_action_execute() -&amp;gt;&amp;nbsp;event.evt_type&amp;nbsp; = NRFX_SPIS_XFER_DONE; -&amp;gt;&amp;nbsp;NRF_DRV_SPIS_XFER_DONE -&amp;gt; spis_event_handler().&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIS select pin</title><link>https://devzone.nordicsemi.com/thread/274408?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2020 15:41:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:73d56a8c-21ba-4a9b-98dc-5d013126b00e</guid><dc:creator>hossein_m</dc:creator><description>&lt;p&gt;Thanks,&lt;br /&gt;I don&amp;#39;t understand your note about &amp;quot;delay spots&amp;quot;. Clock speed of this protocol&amp;nbsp;is OK with NRF52840 requirements if that&amp;#39;s what you mean.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIS select pin</title><link>https://devzone.nordicsemi.com/thread/274405?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2020 15:36:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9e0e9f69-1d7f-4430-a543-19d8b976d0b4</guid><dc:creator>hossein_m</dc:creator><description>[quote userid="26071" url="~/f/nordic-q-a/67010/spis-select-pin/274372#274372"]Is there any cases where the SPI master will send something other than &amp;quot;Fetch&amp;quot; in the beginning and &amp;quot;status&amp;quot; in the end[/quote]
&lt;p&gt;There are, but for now we only need this part.&lt;/p&gt;
[quote userid="26071" url="~/f/nordic-q-a/67010/spis-select-pin/274372#274372"]does it matter that the data is sent before the fetch is complete?[/quote]
&lt;p&gt;I don&amp;#39;t think it would be possible, since there is a time delay between fetch and command in the protocol.&lt;/p&gt;
&lt;p&gt;Are you suggesting to put command on the output and when SS goes high read fetch and status together?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIS select pin</title><link>https://devzone.nordicsemi.com/thread/274372?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2020 14:12:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce726727-be91-454a-a378-5953f54b0206</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Is there any cases where the SPI master will send something other than &amp;quot;Fetch&amp;quot; in the beginning and &amp;quot;status&amp;quot; in the end?&lt;/p&gt;
&lt;p&gt;If not, does it matter that the data is sent before the fetch is complete? What happens if the nRF Starts pushing data at the same time as it receives the &amp;quot;fetch&amp;quot;?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SPIS select pin</title><link>https://devzone.nordicsemi.com/thread/274359?ContentTypeID=1</link><pubDate>Mon, 12 Oct 2020 13:52:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ac5fd31d-fd4b-43ab-8c5c-a9c7b7f2a806</guid><dc:creator>Turbo J</dc:creator><description>&lt;p&gt;Redesign the SPI protocol. It is not doable with an NRF chip (and BLE running).&lt;/p&gt;
&lt;p&gt;Reason is that BLE basically blocks the CPU during radio operation. If that occurs during the Fetch/Slave cycle either the master must wait for a looooong time or the slave will misses the timing. Also the master has no way of predicting when these radio operations will occur.&lt;/p&gt;
&lt;p&gt;Very bad for throuput and implementation complexity even in the master.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Side note: If these &amp;quot;delay slots&amp;quot; are small, this protocol would need an FPGA as SPI slave.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>