This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Problem with Enhanced Shockburst on NRF52832

Good Day,

we are currently working on a project for university. For this project, we are using esb to transmit a continuous audio stream (i2s format). We sample our data at 44100 Hz. Before sending we compress the data so that the padding bytes of the i2s stream. During every transmission 45 samples are sent, speaking of 135 byte payload. So every ~1,02ms a packet is sent.

We tested everything with two nrf52 DKs and it seemed to work fine. Now that we have assembled our PCBs we encountered another problem. Every once in a while a transmission fails. This causes unsynchronized data supply and therefore a sound output that does not sound well. The amount of failures increases by the distance between the PCB and the modules (stream is almost impossible when they are 1 m away from each other). We already tried to increase the antenna output power, without any success.

The third-party module we used on our PCB: MS50SFB with ceramic antenna

Current test setup: our selfmade PCB and a nrf52 DK

A picture of our design:

I have several suggestions now:

  • Did we misplace the module? Does the surrounding ground plane cause this issue?
  • Is ESB not suitable for a continuous stream?
  • Right underneath the antenna, the battery is placed. can this also cause the problem? We already tried removing the battery but it did not change anything, so this does not seem to be the major issue.

Thank you in advance!

Parents
  • Have you followed the module manufacturers guidelines to placement and handling? 

    Is there any difference in range if you do simple back and forth data using fixed payloads (without I2S)? Just trying to figure out of it may be digital noise from the I2S that affect the range here or not.

    Best regards,
    Kenneth

  • Thank you for the quick reply!
    Yes, I have followed the instructions and added some extra space. It was stated as "acceptable".
    I have disabled i2s now and I am sending a static buffer with the same size and the same interval and indeed the problem seems to appear less frequently. Also, the range has increased.

    Is this really caused by the i2s noise? I am calling the esb send function during the i2s callback when a buffer is received. Can this be the issue? I have tried enabling the i2s peripheral and sending the data statically with the same effect as mentioned before.

Reply
  • Thank you for the quick reply!
    Yes, I have followed the instructions and added some extra space. It was stated as "acceptable".
    I have disabled i2s now and I am sending a static buffer with the same size and the same interval and indeed the problem seems to appear less frequently. Also, the range has increased.

    Is this really caused by the i2s noise? I am calling the esb send function during the i2s callback when a buffer is received. Can this be the issue? I have tried enabling the i2s peripheral and sending the data statically with the same effect as mentioned before.

Children
Related