<?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>SENT protocol driver using nRF Timer captures</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/78001/sent-protocol-driver-using-nrf-timer-captures</link><description>SENT protocol uses a 1-wire interface to transfer data using time intervals. To receive data you simply measure the time between pulses on the wire. The transmitter never stops sending data so you must design the receiver to run continuously and record</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Fri, 30 Jul 2021 10:34:57 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/78001/sent-protocol-driver-using-nrf-timer-captures" /><item><title>RE: SENT protocol driver using nRF Timer captures</title><link>https://devzone.nordicsemi.com/thread/322639?ContentTypeID=1</link><pubDate>Fri, 30 Jul 2021 10:34:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:36ff8b84-75ec-419d-9465-1d196bfcf418</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Michael&lt;/p&gt;
&lt;p&gt;Do you have a specification document for the SENT protocol?&lt;/p&gt;
&lt;p&gt;A possible solution to your problem is to use the SAADC periheral to sample the 1-wire data line. The SAADC uses easyDMA to allow sampled data to be stored in RAM automatically, and uses double buffering to ensure that you can switch from one buffer to the next even if the buffer fills up in the middle of a SoftDevice interrupt.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This use case has been tried out earlier in order to emulate a UART RX line without needing a dedicated UART peripheral, and your use case seems quite similar. You just need to set the ADC sample rate according to the maximum frequency of your signal.&amp;nbsp;&lt;/p&gt;
[quote user="mchartier"]This chart from the SD spec tells us the maximum latency at IRQ-0 is much longer than 36us, however these numbers are for different use cases. In our case the nRF is a BLE peripheral connected to just 1 central. There are no read or write operations. The nRF is only sending 20-byte notification packets. Do you have latency numbers for sending notifications?[/quote]
&lt;p&gt;The &amp;#39;Processing at the end of a connection event&amp;#39; interrupt will be shorter when you are only sending 20 bytes, but it will still be longer than 36us.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The &amp;#39;Processing when preparing the radio for a connection event&amp;#39; is also longer than 36us, and is not as much affected by how much data is being sent or not.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;Torbjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: SENT protocol driver using nRF Timer captures</title><link>https://devzone.nordicsemi.com/thread/322318?ContentTypeID=1</link><pubDate>Wed, 28 Jul 2021 19:27:49 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14682719-60fa-4325-b2c6-77472d9d899e</guid><dc:creator>mchartier</dc:creator><description>&lt;p&gt;Some more background:&lt;/p&gt;
&lt;p&gt;Our interrupt handler is running at level-2 which is the highest allowed when the SD is running. The shortest time between interrupts is 36us. If the SD runs at a higher IRQ level for 36us we could miss a data bit.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This chart from the SD spec tells us the maximum latency at IRQ-0 is much longer than 36us, however these numbers are for different use cases. In our case the nRF is a BLE peripheral connected to just 1 central. There are no read or write operations. The nRF is only sending 20-byte notification packets. Do you have latency numbers for sending notifications?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/communityserver-discussions-components-files/4/pastedimage1627499130355v1.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>