This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

question about cc1101 preamble and sync word

Other Parts Discussed in Thread: CC1101

I try to receive the data from a sensor with cc1101. I extract the bit pattern by using GNUradio. It seems the preamble+sync :

01010101 01010101 01010101 01010110 10100101 01011001 01010110 10101001 01011010(I can't tell the preamble and sync)

Since it's manchester encoded data, the decoded data is  FF FE 3D 31 C

I don't know how to set preamble and sync word in cc1101 to receive these datas. I hope to get some advice from you. Thanks

  • Seems like the preamble and sync word are Manchester encoded. When using the packet handling features (i.e. automatic sync search) the sync word needs to be in NRZ format. 

    Assuming the symbol rate is X ksps (and the bit rate = symbol rate/2) you can configure CC1101 for NRZ (i.e. no Manchester encoding/decoding) and set the bit rate to X kbps. That is, each symbol in the Manchester encoded data is treated as a bit. You can the set the sync word to 0xA9 5A (last eight symbols) and MDMCFG2.SYNC_MODE = 2. Alternatively use MDMCFG2.SYNC_MODE = 2 to also enable carrier sense and thus reduce the likelihood of false sync word detection. The data coming into the RX FIFO then has to be converted from Manchester to bits; 01 = 1 and 10 = 0. You will have to do this in SW.

  • Thank for your reply.
    Can I use automatic sync search when turning on the Manchester decoding? If so, will the preamble and sync be decoded into manchester? And if I set Preamble Quality Threshold to 0, how does it affect data receiving?
  • If you enable Manchester encoding only the payload will be decoded. The preamble and sync are still NRZ. In your case where preamble, sync word and payload are Manchester encoded you need to do what I described in my first post. Treat every symbol as a bit. Set the the sync word as explained and do the Manchester decoding in SW. We have several customers using this approach for old legacy systems.

    Setting PQT to 0 means that there is no check on preamble quality.
  • CC1101 does manchester coding both on preamble and sync, see e2e.ti.com/.../126101
  • TER is absolutely correct. CC1101 does Manchester encoding on preamble, sync, payload, and CRC.

    For reference: CC112x only does Manchester encoding on payload and CRC only.

    Sorry for misleading you in the previous posts.