[Oberon] FPGA - nRF24L01 connection

Paul Reed paulreed at paddedcell.com
Thu Apr 12 20:02:19 CEST 2018

Hi Tomas,

> Meanwhile I was able to send a payload to RPI.

Congratulations!  :)

> But, but, it can transfer every 10th packet, all other dropped, why is
> that?

There may be many reasons, you will have to investigate further until you
fully understand the detailed principles of operation (took me a while,
Felix knows).  :)

Again, study the register descriptions in the datasheet and check the
values - the OBSERVE_TX register may be useful here.  Hopefully you have
read that the messages are received in a FIFO; the ping program may be
flushing this.  Try pacing your sending.  Consider what happens at both
ends when the receive FIFO is full.

> Also, the payload is 32 bytes, of which only 16 received???

I can see why from your code - you are only copying 4 words into your
transmit buffer.

> Also, RPI receives payloads, only when addresses RX/TX
> are reversed to Oberon setting, see below???

Not sure exactly what you're saying here, but obviously TX on one is RX on
the other.

> I checked some parameters on Oberon, I learnt only to read first byte
> of each register, they see[m] to match RPI setting.

For registers 0AH, 0BH and 10H, you can keep reading four more SPI bytes
before deselecting the chip, for a total of five bytes, LSB is read first.
 For registers 0CH, 0DH, 0EH and 0FH, the upper four bytes of the address
are defined to be the same as for register 0BH.

HTH, well done for not giving up ;-)


More information about the Oberon mailing list