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 CRC error on ALL packets received by CC1111 USB dongle

Other Parts Discussed in Thread: CC1101

Hi,

  I am working on a custom PCB, with a CC1101 radio controlled by an Actel Igloo FPGA. I am using it to transmit data packets, which will be received by CC1111 USB Dongle. I am getting an FCS error in ALL the packets received by the dongle. Those packets are certainly transmitted by the CC1101 only, as powering it off, stops the packet reception. Also I have ensured the carrier frequencies and basic parameters match on both the radios used in this communication. I request for assistance in resolving this error. I have referred to previous posts in this regard, and none seem to resolve this issue.

  • Please use SmartRF Studio to generate registers settings for you. You should test the settings with good HW first to make sure they are OK. This means that you should start testing with a CC1101EM using SmartRF Studio to communicate with a CC1111 dongle. When you are sure your settings work OK you can start testing out your own HW.

    Siri

  • Also note that the CC1111 normally have a > 10 kHz frequency offset due to not optimally tuned crystal load caps.

    If you get CRC error on all packets it could sound like you have issues with your packet length or similar. In addition to SmartRF Studio, try using the packet sniffer with the dongle so you can actually see what you receive vs what you send.
  • Hi Siri and TER, 
    Thank you for the response. I have now tested the link between USB dongle and a CC1101 evaluation module controlled by SmartRFStudio. This link works perfectly fine, for both transmission and reception of data. However , The packets received by dongle from my custom PCB , still shows CRC error for ALL packets. I tried with variable packet length setting as well as fixed packet length, but none seem to correct the issue.The FPGA is sending the right signals(SI,SCLK, and CSn) to the radio, as checked on the oscilloscope. The radio on the custom PCB, has exact same radio register settings as the tested CC1101 evaluation board.

  • - Is the content of the packet you receive correct? Is it just the CRC that is wrong or more? Since you manage to send packets most probably with the correct sync word I would assume that the SPI communication works. It sounds like a small error in your tx code sending a different number of bytes compared to what the Rx side expect.
    - Check the easylink software here and compare the functions used in this example with yours
  • Hi TER,
    I now checked the RSSI in CC1101 TRXEB evaluation module, when my custom PCB is transmitting. The continuous Rx shows about -100dBm(which doesnt seem right, coz i get about -50dBm when the USB dongle is used as transmitter). However, the RSSI appended to each received packet in the "Packet Rx" SmartRF mode is around -45 to -50 dBm, along with the CRC error message appended in the end of each packet.
    Also ,The packets received are not the same as being transmitted(and hence i suppose the CRC error). The FPGA recieves the chip status byte, and also reads it from GD02 pin(in its default configuration). The CHIP_RDYn is also low during transmission(Since the SO, and GDO2 functions are active, i dont think the radio is dead.) I will check the easy link software functions and let you know.
    Thanks.
  • Shreedutt,

    It seems like you have a hardware issue with your custom PCB. I suggest performing basic TX test from your custom PCB and using a spectrum analyzer to confirm that the frequency offset and frequency is as configured.

    Regards,
    /TA
  • I am not able to resolve the issue yet. I have a little doubt on the data rates for transmission, if that could be the reason for wrong received data. Since i have configured the radios with GFSK 250 kBaud (implying 250kbps data rate) modulation, does it require me to fill the TX FIFO with data , at exactly 250kbps , i.e, with an SCLK of 250 KHz; or does the radio have any kind buffering action, through which I can send data from FPGA through the SPI at a little higher rate than 250kbps, but still expect the radio to transmit at the specified bit rate? The SPI Access Note for CC1101 says, the SCLK can be maximum 10Mhz(or 9Mhz) 

  • You would normally fill the TX FIFO before starting the transmission or ensure that you manage to refill it while sending in a rate that ensures that the FIFO doesn't get an underflow.

    If the sender side had a wrong datarate you would most probably not been capable of receiving anything.

    - Use SmartRF Studio to control another CC1101 or CC1111 and set the receiver to fixed packet length with a length larger than what you think you are sending. Then check what you are actually sending and compare this with what you place in the TX FIFO. Is the first few bytes the same?
  • Hello everyone,
    Sorry for the delayed response . The issue is now resolved. It was due to rate at which i was sending in the data to the TX FIFO, which mismatched with data rate configured. Once the data rate, and SCLK frequencies were matched, the CRC error was resolved, first by checking with fixed length, and then also verified with variable length packet. (My application doesnt use any buffer, and the data i am getting in from another PCB, is directly fed at that very rate, to the radio.)