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

Shortest preamble of a packet, nRF51 can receive.

What is a minimal length of preamble, such that nRF51 is able to safely receive a packet with? Can it be made (via some magic registers) to be as small as 4 bits? Then it would be possible to implement software support for classic Bluetooth on nRF51 chip. Of course all that pretty hardware for packet encoding/decoding etc would be useless, but anyway it would be a nice possibility.

Parents
  • @Matthias Ringwald (The reply turned out to be too long for a comment)

    1. To some extent. My initial goals of implementing parts of Bluetooth stack weren't met, but I've been able to exchange data with PC through Broadcom 2045A USB dongle using Bluetooth Host Controller Interface on PC side.
    2. I haven't got any equipment to say that for sure but there are some indirect evidences. E g I've tried to include patterns of up to few tens of alternating zeroes and ones into nRF51 address, and it was still able to receive packets. I think it is simply because the BCM2045A toggles bits during transmitter ramp up thus effectively making a long preamble.
    3. Yes, I found a device where it didn't work because of the short preamble. Eventually and it worked too: its sync pattern (based on the Bluetooth address) contained 8 alternating bits somewhere in the middle and those could be used as a preamble. Though the nRF51 requires 9 alternating bits at the start of packet, sometimes with some level of noise it could accept and 8.

    It is still possible to work with any classic Bluetooth device with some limitations by selecting a Bluetooth address in a special way so that the sync pattern starts with 5 alternating bits. The nRF51 must then always initiate a connection and be a master, i e no page scan, no inquiry in any role. The only tough place here is receiving paging responses. But because they do not bear any information, with some limited level of safety they can be detected using RSSI.

  • Thanks a lot for the detailed answer and sharing the nifty trick of using part of the sync word to "create" an 8-bit preamble! The 'treat data with high RSSI as connect response' is a clever hack as well!

    I didn't see something related to a 4-bit preamble in the latest nRF52840 SoC either :(

    How long did it take to get this to work? Would you share your test code?

Reply Children
No Data
Related