<?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>nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/24585/nrf24l01-playload-datarate</link><description>When I have a test using nRF24l01+ with STM32, I can only get a playload datarate no more than 450kbps using nRF24l01+ 2M mode.
How can increase the playload data rate and what is the maximum for the playload data rate?
Thanks.</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 13 Sep 2017 07:43:26 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/24585/nrf24l01-playload-datarate" /><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96786?ContentTypeID=1</link><pubDate>Wed, 13 Sep 2017 07:43:26 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ce44efd6-27b7-4691-aa83-7cc29a752021</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;That is good news :)&lt;br /&gt;
The best of luck with your project.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96785?ContentTypeID=1</link><pubDate>Wed, 13 Sep 2017 07:40:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b713e39-4081-41ef-84e0-02be44646651</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;It is ok now. The through put is muck higher than before.
Thanks a lot.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96784?ContentTypeID=1</link><pubDate>Wed, 13 Sep 2017 06:47:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:a203e050-bfb7-4ab0-9db6-57186caa5ef9</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;The procedure is quite straight forward:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set CE high&lt;/li&gt;
&lt;li&gt;Upload a packet to the TX FIFO as quickly as possible&lt;/li&gt;
&lt;li&gt;If time passed is less than 4ms, repeat from 2)&lt;/li&gt;
&lt;li&gt;Set CE low&lt;/li&gt;
&lt;li&gt;Wait for the next TX interrupt to occur&lt;/li&gt;
&lt;li&gt;Repeat from 1)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96781?ContentTypeID=1</link><pubDate>Tue, 05 Sep 2017 06:53:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1bc9332a-c466-4079-b351-c6842d09271b</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;I have a testing as below:&lt;/p&gt;
&lt;p&gt;define MAX_TX  	0x10
define TX_OK   	0x20
define RX_OK   	0x40&lt;/p&gt;
&lt;p&gt;u8 NRF24L01_TxPacketContinous(u8 txbuf[8][32],u8 packetNum)
{
u8 sta,i;
u8 outPut[20];&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;//NRF24L01_CE=0;
//NRF24L01_CE=1; //always in 1
for(i = 0 ; i &amp;lt; packetNum; i ++){
	while(1){
        sta=NRF24L01_Read_Reg(STATUS);  //get status	
        if(!(sta&amp;amp;0x1)) //TX FIFO not full
        {
		    NRF24L01_Write_Buf(WR_TX_PLOAD,&amp;amp;txbuf[i][0],TX_PLOAD_WIDTH);//write data to FIFO
		    break;
        }
	}
while(NRF24L01_IRQ!=0);
}
while(1){
  sta=NRF24L01_Read_Reg(STATUS);  //get status	 
  if(sta&amp;amp;0x20) //send comlete
  {
    break;
  }
}
NRF24L01_Write_Reg(WRITE_REG+STATUS,sta);
if(sta&amp;amp;MAX_TX)
{
	NRF24L01_Write_Reg(FLUSH_TX,0xff);
	llprintf(&amp;quot;tran failed\n&amp;quot;);
	return MAX_TX; 
}
if(sta&amp;amp;TX_OK)//SEND COMPLETED
{
	return TX_OK;
}

return 0xff;//OTHER ERROR
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;}
But it not well.Looks some packet lost or can not be received correctly.
Thanks.
Yong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96783?ContentTypeID=1</link><pubDate>Mon, 04 Sep 2017 08:52:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:551e0439-bc7d-499b-8189-fbd88a3d96ef</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;Hi Torbjørn,&lt;/p&gt;
&lt;p&gt;It is great. I will try the though put 1.5Mbps.It is very important for my  application.
Could u give me some advice for the configuration to enabled over multiple packets and to  to upload the next packet to the FIFO? Looks there is no more detail specification on datasheet document.It will be very helpful to me if there is a demo for the configuration.
Thanks.&lt;/p&gt;
&lt;p&gt;Yong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96780?ContentTypeID=1</link><pubDate>Mon, 04 Sep 2017 08:42:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:45c8f74f-5c39-469f-84e3-8b97285fbcb4</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Yong&lt;/p&gt;
&lt;p&gt;If you take advantage of the possibility to keep CE enabled over multiple packets (up to a maximum time of 4ms) you can reach 1.5Mbps or more in legacy Shockburst mode, yes.&lt;/p&gt;
&lt;p&gt;For this to work you have to upload the next packet to the FIFO while the current packet is being transmitted.&lt;/p&gt;
&lt;p&gt;Still, it is important to disable the TX temporarily after 4ms, otherwise the carrier frequency might drift out of spec and the packets will be lost.&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96779?ContentTypeID=1</link><pubDate>Mon, 04 Sep 2017 01:58:40 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:94fcad87-db91-40dd-9a37-7416fb3de6f7</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;Hi Torbjørn,
I agree with u.
Another question, what is the max through put for the NACK Mode, can it reach 1.5mbps?
Thanks.
Yong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96777?ContentTypeID=1</link><pubDate>Thu, 31 Aug 2017 14:14:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e0f54df7-3f89-4026-b385-3b62bd3783f8</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Yong&lt;/p&gt;
&lt;p&gt;You can&amp;#39;t really guarantee less than 2% packet loss at 60m. If you have line of sight, a good antenna and little interference then you might achieve it, but in other situations I am sure you will have much higher packet loss (like if you have walls in between, if there is a lot of 2.4GHz interference in the area, if the antenna is not properly tuned and so forth).&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96778?ContentTypeID=1</link><pubDate>Wed, 30 Aug 2017 07:21:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b960782c-8192-47fe-998c-c572429c302e</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;Hi Torbjørn,
In my testing SPI clock speed is 9MHz. Looks like SPI is quick enough so that  400-500us sleep need after send a packet with 32 Bytes by SPI.
Is possiable with about 500kbps thoughput and 60M distance and no more than 2% pakcet error or lost?
Thanks.
Yong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96782?ContentTypeID=1</link><pubDate>Tue, 29 Aug 2017 14:28:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:90e8fe17-e1bf-45b8-be37-f4c5b083a2ac</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi Yong&lt;/p&gt;
&lt;p&gt;What is the SPI clock speed?&lt;/p&gt;
&lt;p&gt;Have you looked at the SPI communication with the scope to check how much of the time it is active?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96776?ContentTypeID=1</link><pubDate>Mon, 28 Aug 2017 07:56:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:833d25c2-6d54-4897-b27d-86e01d7cef26</guid><dc:creator>pengyong</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for you feedback.
1)The auto ACK NOT enable.I used maximum payload size (32).
2)In the testing, when a packer(32bytes) sent, 300-400us will wait for sending the next.It will take more than 500us to send a single packet.If this were is no wait, the receiver can not get correct packets.
3)The radio capability for the throughput is 2Mbps. In my testing, the sending throughput is much lower the capability .&lt;/p&gt;
&lt;p&gt;I also have a test for the EN_AA enabled, Looks the throughput is no more than 500kbps.&lt;/p&gt;
&lt;p&gt;In my testing, looks the receiver can not get the data immediately if keep a low error packet rate.
The configuration as below:
FOR TX:
NRF24L01_CE=0;	&lt;br /&gt;
NRF24L01_Write_Buf(WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH);
NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x00); 
NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01); 
//NRF24L01_Write_Reg(WRITE_REG+SETUP_RETR,0x1a);
NRF24L01_Write_Reg(WRITE_REG+SETUP_RETR,0x0);

NRF24L01_Write_Reg(WRITE_REG+RF_CH,120);  
//NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f);
NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f); 
//NRF24L01_Write_Reg(WRITE_REG+CONFIG,0x0e); 
NRF24L01_Write_Reg(WRITE_REG+CONFIG,0x02); 
NRF24L01_CE=1;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;FOR RX:
NRF24L01_CE=0;	&lt;br /&gt;
NRF24L01_Write_Buf(WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS,RX_ADR_WIDTH);&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NRF24L01_Write_Reg(WRITE_REG+EN_AA,0x00);    
NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x01);
//NRF24L01_Write_Reg(WRITE_REG+EN_RXADDR,0x00);
NRF24L01_Write_Reg(WRITE_REG+RF_CH,120);	  	  
NRF24L01_Write_Reg(WRITE_REG+RX_PW_P0,RX_PLOAD_WIDTH);
NRF24L01_Write_Reg(WRITE_REG+RF_SETUP,0x0f);
//NRF24L01_Write_Reg(WRITE_REG+CONFIG, 0x0f);
NRF24L01_Write_Reg(WRITE_REG+CONFIG, 0x03);
NRF24L01_CE = 1; 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Is there any unreasonable configuration?&lt;/p&gt;
&lt;p&gt;Thanks
Yong&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: nrf24l01 playload datarate</title><link>https://devzone.nordicsemi.com/thread/96775?ContentTypeID=1</link><pubDate>Thu, 24 Aug 2017 13:35:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e6a117b6-b4e6-4e4b-a28b-400e00114094</guid><dc:creator>ovrebekk</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;
&lt;p&gt;If you use the ACK mechanism (EN_AA enabled) then the data rate is usually &amp;lt; 800kbps, but 450kbps sounds a bit low.&lt;/p&gt;
&lt;p&gt;A couple of pointers and follow up questions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Are you using auto ACK or not, and are you using the maximum payload size (32) ?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Have you checked how long it takes to upload a single packet to the nRF24L01+ ?&lt;br /&gt;
If this command is running slowly then it might slow down overall data rate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Are you taking advantage of the capability of the radio to upload more packets while the previous packet is being transmitted over the air?&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As soon as the first packet is uploaded you can start uploading the second.&lt;/p&gt;
&lt;p&gt;Best regards&lt;br /&gt;
Torbjørn Øvrebekk&lt;br /&gt;
Application Engineer&lt;br /&gt;
Nordic Semiconductor&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>