<?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>Timing synchronization with GPIO controller</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/87401/timing-synchronization-with-gpio-controller</link><description>Hi support team, 
 I&amp;#39;m trying to simulate the BDM protocol of the 9s12 chip series. Basically the protocol is as follows: Communication on 1 GPIO pin, output open-drain mode and input floating, clock base 5MHz. 
 Transmission of logic like picture below</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 02 May 2022 09:23:51 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/87401/timing-synchronization-with-gpio-controller" /><item><title>RE: Timing synchronization with GPIO controller</title><link>https://devzone.nordicsemi.com/thread/365711?ContentTypeID=1</link><pubDate>Mon, 02 May 2022 09:23:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:76fa2467-4221-4735-8480-1ac54d7d45aa</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
[quote user="Dien Nguyen"]I&amp;nbsp;tested on nrf52840DK with SDK 17.0.2, project base on blink example, not using softdevice.[/quote]
&lt;p&gt;So you mean to say that even without the SoftDevice running you are still having issues?&lt;/p&gt;
&lt;p&gt;If that is the case it implies that there is something else in your project that is affecting the serial communication.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Have you tried to connect an oscilloscope or logic analyzer to the interface lines to see if you can spot any delays or other forms of data corruption?&lt;/p&gt;
[quote user="Dien Nguyen"]By using &lt;span&gt;timeslot API&lt;/span&gt;, I think it&amp;#39;s exactly what I&amp;#39;m looking for.[/quote]
&lt;p&gt;The timeslot API works great when you are in charge of the timing, and can decide when the communication should be run.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The timeslot API is not so great if the timing is controlled by some other chip, since you are not guaranteed that the timeslot will be accepted if you need it to happen at a particular time.&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: Timing synchronization with GPIO controller</title><link>https://devzone.nordicsemi.com/thread/365544?ContentTypeID=1</link><pubDate>Fri, 29 Apr 2022 09:32:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b9be1204-6f60-415f-8b2b-f0f402f78f32</guid><dc:creator>Dien Nguyen</dc:creator><description>&lt;p&gt;Hi,&lt;br /&gt;I&amp;nbsp;tested on nrf52840DK with SDK 17.0.2, project base on blink example, not using softdevice. However, I would like to add some codes for BLE communication that connects to the mobile phone so softdevice will be used later.&lt;br /&gt;By using &lt;span&gt;timeslot API&lt;/span&gt;, I think it&amp;#39;s exactly what I&amp;#39;m looking for.&lt;br /&gt;We will have 4 days holiday, so I&amp;#39;ll update the test results later.&lt;br /&gt;Thank you for the suggestion.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Timing synchronization with GPIO controller</title><link>https://devzone.nordicsemi.com/thread/365466?ContentTypeID=1</link><pubDate>Thu, 28 Apr 2022 15:03:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4f6d5891-5193-4bf7-b6d0-5ffbd02ed337</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Which version of the SDK and SoftDevice are you using?&lt;/p&gt;
&lt;p&gt;I am know sure where you found this 6us limitation documented, but later versions of the SoftDevice generally won&amp;#39;t allow you to disable the SoftDevice interrupts at all.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Is there any BLE activity when this issue occurs?&lt;/p&gt;
&lt;p&gt;If so could you test again without BLE activity, to verify if this is the cause of the issue?&lt;/p&gt;
&lt;p&gt;There is a so called timeslot API in the SoftDevice which allows you to reserve a timeslot during which you will not be interrupted by the SoftDevice. As long as you are the master on the bus, and the one initiating the transfers, then you can use this API to avoid interrupts during the transaction,&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></channel></rss>