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.

CC1101: Cannot receive first 2 transmission

Part Number: CC1101

Dear all.

I'm first time work with CC1101 RF chip and I have a strange issue.

My setup is PIC16f1827 and board E07-M1101D (most probably the board are from AliEspress) 

The issue, is that after powerup, the RX did not receive (maybe correctly) the data from TX first 1 or 2 time. After I send data 2 times, every thing is normal (the boards run 24 hours without lost data).

What I know till now:

- the RX see that was some data in air (GPO0 react) but data in rxBuffer is garbage maybe with bad CRC. I forced read all rxBuffer but my data is not there 

- after power up, I put  RX board in transmit mode and send some data that arrive OK on third board. So, is not seems to be  initial config issue.

- i have 3 boards. One board react normal after 1 receive, 2 board react normal after 2 receive 

What I do till now:

- try various power-up reset method 

- put in idle and flush rx and tx buffer before start receive

- manual initiated calibration of frequency before start receive

- put in rx, idle, rx before start receive

None of them help me so solve my issue.

Can you give me some hint to solve my issue?

PS: CC1101 have some unique ID like a MAC? I did not find anything about this in datasheet.

Thank you in advance.

Best regards.

 

  • Hi Vasile,

    I am contacting one of our experts that have experience with that part.

    Regards,

    Arthur

  • Great!

    Thank you for your attention and time.

    Best regards.

  • I cannot see any reasons why you always will receive one faulty packet and then start to receive OK. There is nothing that are different first time going into RX with respect to following times entering RX.

    When testing I recommend that you start by testing with one of the default settings from SmartRF Studio. 

    Also use SmartRF Studio as the transmitter, to make sure that your TX is OK.

    You code should not do anything other than the following:

    1) Init MCU

    2) Reset radio according to manual reset procedure described in the data sheet

    3) Configure radio with default registers settings exported from SmartRF Studio.

        (Set PKTLEN to max 61 to avoid any RX FIFO overflows)

    4) Strobe RX (calibration will be automatically performed if using settings from Studio)

    5) Wait for falling interrupt GDO0 (The defult settings from Studio gives IOCFG0 = 0x06)

    6) Read out RXBYTES to find out how many bytes are in the RX FIFO

    7) Read the RX FIFO (RXBYTES.NUM_RXBYTES number of bytes)

    BR

    Siri

  • Oh, Siri.

    Thank you so much for reply.

    After you tell me "must work", I find a small error on my softwareFace palm. I am so shamed.

    Now, can you tell me something about that question: 

    CC1101 have some unique ID like a MAC? I did not find anything about this in datasheet.

    Thank you so much for your time.

    Best regards!

  • No, it has not.

    Siri