<?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>Is it possible to operate SPI slave in a way DMA generates END event when given number of bytes is transferred ?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/5651/is-it-possible-to-operate-spi-slave-in-a-way-dma-generates-end-event-when-given-number-of-bytes-is-transferred</link><description>In my case active CE signal defines byte boundaries - for each byte individually. 
From what I see, DMA seems to stop on rising edge of CS regardless what is declared in MAXTX, MAXRX. So assuming that semaphore is in a SPI state, start of DMA transaction</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 23 Feb 2015 14:07:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/5651/is-it-possible-to-operate-spi-slave-in-a-way-dma-generates-end-event-when-given-number-of-bytes-is-transferred" /><item><title>RE: Is it possible to operate SPI slave in a way DMA generates END event when given number of bytes is transferred ?</title><link>https://devzone.nordicsemi.com/thread/19797?ContentTypeID=1</link><pubDate>Mon, 23 Feb 2015 14:07:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c95c4ff3-1801-44b7-b80c-027e32e0de2c</guid><dc:creator>maki</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;You are right - it is not possible, but only when using documented hardware.
I have been discussing it internally with SAG.
The bottom line is, that SPI-BUS transaction (CE low, SOME DATA, CE high) is also SPI-DMA transaction.
Regarding CS, this line is driven by SPI master and slave only can respond to the state of the line. Regarding serialization code, SPI_RAW, SPI_5W uses extended hardware (/REQ, /RDY) to implement packet protocol - this is not standard SPI bus implementation.
My case is different, I am using SPI slave to interface I2S device.
Thanks, anyway...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Is it possible to operate SPI slave in a way DMA generates END event when given number of bytes is transferred ?</title><link>https://devzone.nordicsemi.com/thread/19798?ContentTypeID=1</link><pubDate>Mon, 23 Feb 2015 13:33:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e125272-231d-4612-b272-45e5c2bc8869</guid><dc:creator>Stefan Birnir Sverrisson</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;I do not think it is possible with the standard SPI driver to get an event on the SPI slave side when a certain amount of bytes have been transferred. However, the SPI slave can signal the master to stop the transaction by setting the CS line high. For that purpose, you may want to look into the &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.2.0/s110/html/a00090.html"&gt;SPI raw&lt;/a&gt; and &lt;a href="http://developer.nordicsemi.com/nRF51_SDK/doc/7.2.0/s110/html/a00091.html"&gt;SPI 5W raw&lt;/a&gt; protocols&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>