Question about PLL

Hi all,

I am trying to get going very simple connection between multiple devices - specifically the end product is first-responder walkie-talkies.  Effectively all I need is simple wireless modems for which I will provide on-air protocol myself.

I am using the nrf24l01+ as it is supported by the NXP FRDM-K64F dev kits, of which I have many!

After lots of assistance here earlier I am now able to send packets of exactly the right length, with the correct addressing fields, and decode them using another nRF24L01+ attached to a raspberry pi and OSS nRFsniffer application.

The only problem is that my received data are all corrupt!

I put the logic analyser on the SPI interface and I can see that the data I am sending are correct - in one case a signon banner and, on interrupt, continuous ABCD... etc for 32 bytes to simulate audio.  But the data decode on the air is random garbage.  I can see no patterns to indicate source of error.

I cannot understand who my commands to the module are being decoded correctly, hence the transmissions, but the data portion are not!

The only thing I can think of is PLL instability.  So hence my question, is there any way to test this on the SPI interface?  I can see that it can be forced locked on but no way to check its status.

I have eliminated hardware failure by swapping multiple MCUs and transceiver boards in and out.

Any help really appreciated!

Nigel

Parents Reply Children
  • Hi Nigel,

    I can't think of anything in specific no, other than do always check the payload length field, and if the payload is longer than 32bytes then you need to flush the rx fifo before you can start receiving new packets. There is a small note about this in the datasheet of the nRF24L01+.

    Also, make sure that you have not by accident configured the SPI polarity/mode wrong, in which case it may look right on the transmitter.

    Kenneth

Related