<?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>NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/43843/nrf52840-spim3</link><description>Hi, 
 
 I am using the 2 NRF52840 boards, rev 1. I am using SDK 15.2. The first board is running the NRFX_SPIM example. The second board is running the SPIS example. The rx_delay is set to 0x02. 
 
 When I configured the SPIM to run at 4MHz. The SPIM</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 21 Feb 2019 16:53:47 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/43843/nrf52840-spim3" /><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/172363?ContentTypeID=1</link><pubDate>Thu, 21 Feb 2019 16:53:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:def85981-04b3-4da1-a48d-7b477b8b1dac</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Thanks for posting the results; given that the implied SPIS figure is only about 8MHz it&amp;#39;s pretty impressive we can use 16MHz.&lt;/p&gt;
&lt;p&gt;So I have an idea how you can get 64MHz SPI between 2 x nRF52840 DK boards, any interest in that? The trick is to use QSPI on the master, and 4 x SPIS on the slave. The 4 x Slave SPI all share SCK, MOSI and CS input signals, but each SPI MISO connects to one of the QSPI inputs on the master. Should work .. not tried it yet though. Our requirement is to get data off as fast as possible, and 64MHz is pretty fast.. QSPI Master is rated at 32MHz, but as we have found only 16MHz is usable on SPIS, so 4 x 16=64MHz :-)&lt;/p&gt;
&lt;p&gt;I should add that we don&amp;#39;t care about having to de-interlace the data, as it ends up on a much faster desktop.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/172358?ContentTypeID=1</link><pubDate>Thu, 21 Feb 2019 16:36:34 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c02a2800-712a-4454-9e9b-9ef42c90958e</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;Thank you for everyone help.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;At this point, I can only get 2 NRF52840 boards to work at 16MHz reliably.&amp;nbsp; At 32MHz, the SPIM works good, but the SPIS MISO signal get corrupted.&amp;nbsp; I am not sure it&amp;#39;s a driver issue or hardware limitation at this point.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Below is the performance result that I measured.&lt;/p&gt;
&lt;p&gt;Nordic NRF52840 16MHz Performance Results&lt;/p&gt;
&lt;table width="193"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="79"&gt;
&lt;p&gt;29.9&lt;/p&gt;
&lt;/td&gt;
&lt;td width="115"&gt;
&lt;p&gt;Hz Frame&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79"&gt;
&lt;p&gt;65535&lt;/p&gt;
&lt;/td&gt;
&lt;td width="115"&gt;
&lt;p&gt;bytes per frame&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79"&gt;
&lt;p&gt;1959496.5&lt;/p&gt;
&lt;/td&gt;
&lt;td width="115"&gt;
&lt;p&gt;byte per second&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="79"&gt;
&lt;p&gt;600&lt;/p&gt;
&lt;/td&gt;
&lt;td width="115"&gt;
&lt;p&gt;us frame gap&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;I wish I can get the 32MHz working too.&amp;nbsp; It would probably also increase the throughput by double.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Overall the performance is decent and it&amp;#39;s probably the best SPI I have seen.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thank you again for everyone help.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171992?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 22:40:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7dc27e12-5fe1-4289-9b1c-4d47a9a706cb</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I got the same results.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Thanks for trying it out.&amp;nbsp; I am not sure why the MISO signal is bad.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171991?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 22:36:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c45dfe0b-3893-4968-8a73-e2c395698e77</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;I tried with out-of-box software on 2 x pca10056 nRF52 DKs SDK 15.2.0 and get good operation at 8MHz and 16MHz &lt;em&gt;provided&lt;/em&gt; the hardware CS is disabled; the issue seems to be too short a setup time between /CS and SCK going active. It partially works at 32MHz, but every other packet gets slightly damaged. SPIM:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// This is working reliably at 16MHz, SPIM to SPIS both directions
// Only change is to SPIM, but SPIS works better in release mode
    nrfx_spim_config_t spi_config = NRFX_SPIM_DEFAULT_CONFIG;
    spi_config.frequency      = NRF_SPIM_FREQ_16M;   // &amp;lt;======== !
    spi_config.ss_pin         = NRFX_SPIM_SS_PIN;
    spi_config.miso_pin       = NRFX_SPIM_MISO_PIN;
    spi_config.mosi_pin       = NRFX_SPIM_MOSI_PIN;
    spi_config.sck_pin        = NRFX_SPIM_SCK_PIN;
    spi_config.dcx_pin        = NRFX_SPIM_DCX_PIN;
    spi_config.use_hw_ss      = false; //true;       // &amp;lt;======== !
    spi_config.ss_active_high = false;
    spi_config.mode           = NRF_SPIM_MODE_0;
    spi_config.rx_delay       = 0x02;
    spi_config.ss_duration    = 0x02;

    APP_ERROR_CHECK(nrfx_spim_init(&amp;amp;spi, &amp;amp;spi_config, spim_event_handler, NULL));

    // High power output pins
    nrf_gpio_cfg(NRFX_SPIM_SS_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive high/low level
                 NRF_GPIO_PIN_NOSENSE);

    // High power output pins
    nrf_gpio_cfg(NRFX_SPIM_MOSI_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive high/low level
                 NRF_GPIO_PIN_NOSENSE);

    // High power output pins
    nrf_gpio_cfg(NRFX_SPIM_SCK_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive high/low level
                 NRF_GPIO_PIN_NOSENSE);

    NRF_LOG_INFO(&amp;quot;NRFX SPIM example started.&amp;quot;);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Note SPIS works better if compiled in &lt;em&gt;Release&lt;/em&gt;&amp;nbsp;build or with better optimisation, SPIS:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    nrf_drv_spis_config_t spis_config = NRF_DRV_SPIS_DEFAULT_CONFIG;
    spis_config.csn_pin               = APP_SPIS_CS_PIN;
    spis_config.miso_pin              = APP_SPIS_MISO_PIN;
    spis_config.mosi_pin              = APP_SPIS_MOSI_PIN;
    spis_config.sck_pin               = APP_SPIS_SCK_PIN;
    spis_config.mode                  = NRF_SPIS_MODE_0;

    APP_ERROR_CHECK(nrf_drv_spis_init(&amp;amp;spis, &amp;amp;spis_config, spis_event_handler));

    // High power output pins
    nrf_gpio_cfg(APP_SPIS_MISO_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive high/low level
                 NRF_GPIO_PIN_NOSENSE);

&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171986?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 21:47:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b537b455-eb60-42bb-9389-813d0928fe3f</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I am using MODE0.&lt;/p&gt;
&lt;p&gt;I pulldown MOSI, MISO, SCK.&amp;nbsp; I pullup CS. I applied the change to both the SPIM and SPIS projects.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It didn&amp;#39;t solve the problem with the MISO signal.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171985?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 21:15:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6fbf5dbe-0480-4e33-ad1f-8ab07f5b9fec</guid><dc:creator>wpaul</dc:creator><description>&lt;p&gt;This is just a guess, but have you tried enabling the internal pullups for the SPI pins? (I see NOPULL in the code snipped above, so I suspect not.)&lt;/p&gt;
&lt;p&gt;I have a project where I&amp;#39;m using the high speed SPI bus at 32MHz for an ILI9341 display. I&amp;#39;m able to correctly do reads and writes of its video memory. (I don&amp;#39;t actually use the read memory feature much, but I did test it at one point just as a sanity check.)&lt;/p&gt;
&lt;p&gt;-Bill&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171983?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 20:26:42 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a71099c6-0b7b-4aa0-8379-1d513c729438</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I looked at all the available GPIOs that support the high drive mode, and tried them out for the MISO but they all showed the same behavior.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I shorted the SB20, and cut SB10 to use P0.23 but it also exhibit the same behavior as other GPIOs.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Since P0.27 worked good, I swapped the MISO and MOSI but the MISO still shows bad data output.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171971?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 18:38:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:557bf7a6-4ae1-4613-9f51-ed2cf56d25f6</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I also switched to P1.15 earlier but it had the same behavior.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171970?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 18:37:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:42888a7e-50b0-4b58-9a07-04f152968933</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;MISO is P0.26 and connects to SDA which has a 4k7 pull-up R52 on the Mux U7 n/c and goes to several connections; maybe the capacitive loading is too high and a different (cleaner) pin would be better.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171968?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 18:15:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b9f4f7a4-9be2-44b6-a0af-c278f66ba8ba</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I ended up moving the GPIOs.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;spis_config.sck_pin = 2;&lt;/li&gt;
&lt;li&gt;spis_config.mosi_pin = 27;&lt;/li&gt;
&lt;li&gt;spis_config.miso_pin = 26;&lt;/li&gt;
&lt;li&gt;spis_config.csn_pin = 47;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;But the data out of the SPIS is bad.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SCK is good.&lt;/li&gt;
&lt;li&gt;MOSI is good.&lt;/li&gt;
&lt;li&gt;CS is good.&lt;/li&gt;
&lt;li&gt;MISO is bad.&amp;nbsp;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171962?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 16:50:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b265873e-3b76-496e-9ac9-c140dafed00f</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Nope, that won&amp;#39;t help :-) here are the hardware design files in case you don&amp;#39;t have them; there is a detailed schematic burried in there:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fdevelopment%2Fnrf52840_pdk%2Fkit_download_content.html"&gt;nrf52840 DK Hardware Files&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Edit: They&amp;#39;ve moved, sorry .. I have trouble using the new info center but they are there somewhere ..&lt;/p&gt;
&lt;p&gt;Not schematics, but close to what you need:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.nordicsemi.com/DocLib/Content/User_Guides/nrf52840_dk/latest/UG/nrf52840_DK/connector_if"&gt;Updated link but not full schematics&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171959?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 16:31:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3307e6e-2b70-46ed-a199-72a40b752e13</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I updated my PINs last night.&amp;nbsp; I am using the following PINs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;spis_config.sck_pin = 5;&lt;/li&gt;
&lt;li&gt;spis_config.mosi_pin = 6;&lt;/li&gt;
&lt;li&gt;spis_config.miso_pin = 7;&lt;/li&gt;
&lt;li&gt;spis_config.csn_pin = 8;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171957?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 16:27:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:74df8ab5-2460-4851-88c9-cdafedf32176</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Also note P0.14 is driving LED2, P0.24 connected to BUTTON4 and P0.26 to MUX U7; all these increase capacitive loading.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171956?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 16:22:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ec176631-c9ef-487b-8d17-6672db991731</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;On the nRF52DK pca10056 pin P0.06 - SCK in this case - is driving D17 and TxD; D17 may be unconnected but TxD is connected to MUX U5 and hence potentially to IMCU_RxD on the J-Link interface ATSAM3U. There is a cuttable link .SBS2 to remove that loading, which at 16MHz or 32MHz will be significant.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171850?ContentTypeID=1</link><pubDate>Tue, 19 Feb 2019 10:22:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2c90fdc3-4cf2-4eea-bd35-f46abfedd21b</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Did you try using a different GPIO than P0.06 for&amp;nbsp;&lt;span&gt;SCK? This pin is by default used for UART peripheral and connected to interface MCU.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171759?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 23:48:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:30f74cbc-be37-4e62-963e-89b41a9d358f</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I am able to get 16MHz clock working now.&amp;nbsp; I understand the settings better now.&amp;nbsp; At 32MHz the clock and the MISO data don&amp;#39;t line up correctly.&amp;nbsp; I switched from mode0 to mode1, changed the rx_delay to align the data.&amp;nbsp; But now I am getting a bad SCK.&amp;nbsp; I think if I figure out the SCK issue then it will work at 32MHz.&amp;nbsp; Any idea why there&amp;#39;s a hick up in the SCK?&amp;nbsp; Bad GPIO setting?&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;At 32MHz.&amp;nbsp; The Data from Master to Slave is good.&amp;nbsp; Data from Slave to Master is garbled up sometimes now.&amp;nbsp; At 16MHz, I am able to transfer 36 bytes of data between the two boards successfully.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171744?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 21:20:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d4905f57-bef9-4030-b4cd-43b5506ebd13</guid><dc:creator>J&amp;#248;rgen Holmefjord</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;The SPIS peripheral have a &lt;a href="https://www.nordicsemi.com/DocLib/Content/Product_Spec/nRF52840/latest/spis?804#unique_27741061"&gt;minimum clock input period of 125 ns&lt;/a&gt;, or 8 MHz, running it on 32 MHz will not work.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;Jørgen&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171738?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 20:07:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:65e6abc3-c4e1-49f1-8409-cfc9d961a0f6</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Typo; I meant SPIM not PWM&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171737?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 20:04:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:295e5691-b6ce-40bc-b3f7-63bd91adf9e7</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Ah, what&amp;#39;s that P0.6 I see :-) have you checked pca10056.h and multiple&amp;nbsp; other places for stuff like this:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define RX_PIN_NUMBER  8
#define TX_PIN_NUMBER  6 // ie P0.06
#define CTS_PIN_NUMBER 7
#define RTS_PIN_NUMBER 5
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Also note there is probably a hardware connect to that pin on the nRF52DK&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171736?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 20:03:46 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3b5957c7-9d2b-448d-b8ac-fe54d57a23fe</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I added the code you suggested after the function, &amp;quot;nrfx_spim_init&amp;quot;.&amp;nbsp; There&amp;#39;s no PWM usage in the SPIM and SPIS example projects.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The code works at low speed like 250KHz.&amp;nbsp; But at higher speed bytes the data&amp;nbsp;received is incorrect.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171733?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 19:43:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:07a58ad1-c007-4fef-a786-ea71168467e2</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;Did you try adding the code I posted above &lt;em&gt;after&lt;/em&gt; your initialisation of the PWM driver? The reason for this is that the library SPI code does not use high-strength port pin drive, which can lead to soggy signals on SPI CLK, CS and MOSI outputs. That&amp;#39;s actually 4 output drives which you can drive harder, SCK, CS and MOSI from the master, and the returned MISO driven by the slave. Soggy signals (ie low drive into a load) can cause the type of errors you are seeing.&lt;/p&gt;
&lt;p&gt;This code must be added for all 4 signals after the initialisation, as otherwise this code would be eclipsed. If you already tried that then maybe that&amp;#39;s not the issue.&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    pwm_init();
    // Now boost signal strength
    nrf_gpio_cfg(SCK_1_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive low &amp;amp; high levels
                 NRF_GPIO_PIN_NOSENSE);
    nrf_gpio_cfg(CS_1_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive low &amp;amp; high levels
                 NRF_GPIO_PIN_NOSENSE);
    nrf_gpio_cfg(MOSI_1_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive low &amp;amp; high levels
                 NRF_GPIO_PIN_NOSENSE);
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171730?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 19:16:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5af80f8d-0969-4fec-bf33-9cc523cf93c8</guid><dc:creator>lpham</dc:creator><description>&lt;p&gt;I am using the following PINs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SS - P0.14&lt;/li&gt;
&lt;li&gt;MISO - P0.26&lt;/li&gt;
&lt;li&gt;MOSI - P0.24&lt;/li&gt;
&lt;li&gt;SCK - P0.6&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These PINs should support high drive mode.&lt;/p&gt;
&lt;p&gt;In the SPIM project, I used &amp;quot;nrf_gpio_cfg&amp;quot; like you stated for SS, SCK, and MOSI.&lt;/p&gt;
&lt;p&gt;In the SPIS project, I used &amp;quot;nrf_gpio_cfg&amp;quot; like you stated for the MISO.&amp;nbsp; The data looks very bad.&amp;nbsp; The number of bytes in the SPIS is correct.&amp;nbsp; The number of bytes in the SPIM includes an extra byte.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;SPIM Outputs:&lt;/p&gt;
&lt;p&gt;0&amp;gt; &amp;lt;info&amp;gt; app: Transfer completed.&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: Received:&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF FF FF FF FF FF FF FF|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF FF FF FF FF FF FF FF|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF FF FF FF FF FF FF FF|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF FF FF FF FF FF FF FF|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF FF FF FF FF |..... &lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: Transfer completed.&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: Received:&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: FF E9 CD EE 4C 8D 2C 66|....L.,f&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 26 46 66 86 A6 C6 E7 07|&amp;amp;Ff.....&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 26 06 26 46 66 86 A6 C6|&amp;amp;.&amp;amp;Ff...&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: E7 07 26 06 26 46 66 86|..&amp;amp;.&amp;amp;Ff.&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: A6 C6 E7 07 26 |....&amp;amp; &lt;/p&gt;
&lt;p&gt;SPIS Outputs:&lt;/p&gt;
&lt;p&gt;Transfer completed.&lt;/p&gt;
&lt;p&gt;0&amp;gt; &amp;lt;info&amp;gt; app: 73 7B 93 23 4B 19 89 91|s{.#K...&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 99 A1 A9 B1 B9 C1 C9 81|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 89 91 99 A1 A9 B1 B9 C1|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: C9 81 89 91 99 A1 A9 B1|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: B9 C1 C9 80 |....&lt;/p&gt;
&lt;p&gt;Transfer completed.&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 73 7B 93 23 4B 19 89 91|s{.#K...&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 99 A1 A9 B1 B9 C1 C9 81|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: 89 91 99 A1 A9 B1 B9 C1|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: C9 81 89 91 99 A1 A9 B1|........&lt;br /&gt; 0&amp;gt; &amp;lt;info&amp;gt; app: B9 C1 C9 80 |.... &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: NRF52840 SPIM3</title><link>https://devzone.nordicsemi.com/thread/171725?ContentTypeID=1</link><pubDate>Mon, 18 Feb 2019 18:20:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:c1ecd295-7b26-4c9c-979f-468c19a7f76f</guid><dc:creator>hmolesworth</dc:creator><description>&lt;p&gt;That looks suspiciously like low drive issues, especially since traversing a significant number of mm from one board to another. I think the examples do not set high drive, so maybe try something like this after initialisation on all SCK CS and MOSI pins (6 pins in all):&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;    nrf_gpio_cfg(SCK_1_PIN,
                 NRF_GPIO_PIN_DIR_OUTPUT,
                 NRF_GPIO_PIN_INPUT_DISCONNECT,
                 NRF_GPIO_PIN_NOPULL,
                 NRF_GPIO_PIN_H0H1,       // Require High Drive low &amp;amp; high levels
                 NRF_GPIO_PIN_NOSENSE);
&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>