Multiceiver is a feature used in RX mode that contains a set of 6 parallel data pipes with unique addresses.
A data pipe is a logical channel in the physical RF channel. Each data pipe has its own physical address
decoding in the nRF24L01.
nRF24L01 configured as PRX (primary receiver) can receive data addressed to six different data pipes in
one frequency channel as shown in Figure 10. Each data pipe has its own unique address and can be configured
for individual behavior.
Up to six nRF24L01s configured as PTX can communicate with one nRF24L01 configured as PRX. All
data pipe addresses are searched for simultaneously. Only one data pipe can receive a packet at a time.
All data pipes can perform Enhanced ShockBurst™ functionality.
The following settings are common to all data pipes:
• CRC enabled/disabled (CRC always enabled when Enhanced ShockBurst™ is enabled)
• CRC encoding scheme
• RX address width
• Frequency channel
• Air data rate
• LNA gain
The data pipes are enabled with the bits in the EN_RXADDR register. By default only data pipe 0 and 1 are
enabled.
Each data pipe address is configured in the RX_ADDR_PX registers.
Each pipe can have up to 5 byte configurable address. Data pipe 0 has a unique 5 byte address. Data
pipes 1-5 share the 4 most significant address bytes. The LSByte must be unique for all 6 pipes.
The PRX, using multiceiver and Enhanced ShockBurst™, receives packets from more than one PTX. To
ensure that the ACK packet from the PRX is transmitted to the correct PTX, the PRX takes the data pipe
address where it received the packet and uses it as the TX address when transmitting the ACK packet.
Figure 12. is an example of how address configuration could be for the PRX and PTX. On the PRX the
RX_ADDR_Pn, defined as the pipe address, must be unique. On the PTX the TX_ADDR must be the same
as the RX_ADDR_P0 and as the pipe address for the designated pipe.
No other data pipe can receive data until a complete packet is received by a data pipe that has detected its
address. When multiple PTXs are transmitting to a PRX, the ARD can be used to skew the auto retransmission
so that they only block each other once.
Then you can use it. Each nRF at Tx will have its own address and the first to transmit will be received by nRF at Rx.
There is a option for re-transmission.
Post the datasheet of nRF.
Well in the 2nd senario what happens if all the 6 nRF's at the Rx side receive data from the Tx of the first person who pressed the button? It is the same thing as the first senario. all nRF at the Rx side receives the data of 1st user at the same time and then data of other users are re-requested. Is there any what to make each nRF at the Rx side to pick only data from one user? If, yes, it is better.
The RX address for data pipe 0 (RX_ADDR_P0) has to be equal to the TX address (TX_ADDR) in the PTX device. For the example in Figure 12. on page 37 the following address settings have to be performed for the TX5 device and the RX device:
TX5 device: TX_ADDR = 0xB3B4B5B605
TX5 device: RX_ADDR_P0 = 0xB3B4B5B605
RX device: RX_ADDR_P5 = 0xB3B4B5B605
Ha, have 10 of these on the way myself, for more normal transmitting but still funny..
You could have the main controller send out a heartbeat, and the button controllers sync to it and keep their own internal timing. Then on button press report their timing, that way it doesn't matter which transmission gets through first, it's the lowest timing button press that was first.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?