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.

cc1120 transmitting but not receiving

Other Parts Discussed in Thread: CC1120

Hello all,

I came across a strange problem while testing our new antenna.

In our previous design, we use same software and achieved to transmit and receive using cc1120.

By using same firmware with new antenna, we can transmit data to previous design (to previous antenna). However, same software does not work on receiver side with new antenna. How is it possible? Is it because of antenna/bandwidth?

Register configurations are as attached.

common_registers.txt
{
    {CC112X_IOCFG3,         0xB0}, 
    {CC112X_IOCFG2,         0x06},
    {CC112X_IOCFG1,         0xB0},
    {CC112X_IOCFG0,         0xB0},
    {CC112X_SYNC3,          0xAA},
    {CC112X_SYNC2,          0xAA},
    {CC112X_SYNC1,          0xA6},
    {CC112X_SYNC0,          0xFE},
    {CC112X_SYNC_CFG0,      0x07},
    {CC112X_SYNC_CFG1,      0x0B},
    {CC112X_DCFILT_CFG,     0x1C},
    {CC112X_IQIC,           0xC6},
    {CC112X_CHAN_BW,        0x01},
    {CC112X_MDMCFG0,        0x05},
    {CC112X_AGC_REF,        0x31},
    {CC112X_AGC_CS_THR,     0x10},
    {CC112X_AGC_CFG1,       0xA9},
    {CC112X_AGC_CFG0,       0xCF},
    {CC112X_FIFO_CFG,       0x00},
    {CC112X_SETTLING_CFG,   0x03},
    {CC112X_FS_CFG,         0x12},
    {CC112X_PKT_CFG1,       0x05},  // address check 0x00 broadcast, status byte appended
    {CC112X_PKT_CFG0,       0x20},  // pkt len 20 idi
    {CC112X_PA_CFG2,        0x4F},
    {CC112X_PA_CFG1,        0x56},
    {CC112X_PA_CFG0,        0x1C},
    {CC112X_PKT_LEN,        0xFF},  //
    {CC112X_IF_MIX_CFG,     0x00},
    {CC112X_FREQOFF_CFG,    0x23},  //0x23 slow loop
    {CC112X_FREQ2,          0x6C},
    {CC112X_FREQ1,          0x80},
    {CC112X_FREQ0,          0x00},
    {CC112X_FS_DIG1,        0x00},
    {CC112X_FS_DIG0,        0x5F},
    {CC112X_FS_CAL0,        0x0E},
    {CC112X_FS_DIVTWO,      0x03},
    {CC112X_FS_DSM0,        0x33},
    {CC112X_FS_DVC0,        0x17},
    {CC112X_FS_PFD,         0x50},
    {CC112X_FS_PRE,         0x6E},
    {CC112X_FS_REG_DIV_CML, 0x14},
    {CC112X_FS_SPARE,       0xAC},
    {CC112X_XOSC5,          0x0E},
    {CC112X_XOSC3,          0xC7},
    {CC112X_XOSC1,          0x07},
};
rx_registers.txt
    writeByte = 0x01; cc112xSpiWriteReg(CC112X_CHAN_BW, &writeByte, 1); 
    writeByte = 0x11; cc112xSpiWriteReg(CC112X_AGC_CFG3, &writeByte, 1); 
    writeByte = 0x20; cc112xSpiWriteReg(CC112X_AGC_CFG2, &writeByte, 1); 
    writeByte = 0x31; cc112xSpiWriteReg(CC112X_AGC_REF, &writeByte, 1);  
    
    writeByte = 0x7F; cc112xSpiWriteReg(CC112X_PA_CFG2, &writeByte, 1);
    writeByte = 0x56; cc112xSpiWriteReg(CC112X_PA_CFG1, &writeByte, 1);
    writeByte = 0x7C; cc112xSpiWriteReg(CC112X_PA_CFG0, &writeByte, 1);
    

    writeByte = 0x10; cc112xSpiWriteReg(CC112X_PKT_CFG2, &writeByte, 1); 
    writeByte = 10; cc112xSpiWriteReg(CC112X_AGC_CS_THR, &writeByte, 1); 
    

    writeByte = 0x38; cc112xSpiWriteReg(CC112X_RFEND_CFG0, &writeByte, 1); 
    

    writeByte = 0x2E; cc112xSpiWriteReg(CC112X_RFEND_CFG1, &writeByte, 1);
tx_registers.txt
    writeByte = 0x01; cc112xSpiWriteReg(CC112X_CHAN_BW, &writeByte, 1); 
    writeByte = 0x11; cc112xSpiWriteReg(CC112X_AGC_CFG3, &writeByte, 1); 
    writeByte = 0x20; cc112xSpiWriteReg(CC112X_AGC_CFG2, &writeByte, 1); 
    writeByte = 0x31; cc112xSpiWriteReg(CC112X_AGC_REF, &writeByte, 1);  
     
  
    writeByte = 0x7F; cc112xSpiWriteReg(CC112X_PA_CFG2, &writeByte, 1);
    writeByte = 0x56; cc112xSpiWriteReg(CC112X_PA_CFG1, &writeByte, 1);
    writeByte = 0x7C; cc112xSpiWriteReg(CC112X_PA_CFG0, &writeByte, 1);
    
    
    writeByte = 0x38; cc112xSpiWriteReg(CC112X_RFEND_CFG0, &writeByte, 1); 
    
   
    writeByte = 0x3F; cc112xSpiWriteReg(CC112X_RFEND_CFG1, &writeByte, 1); 
    
    
    writeByte = 0x02; cc112xSpiWriteReg(CC112X_PKT_LEN, &writeByte, 1);  //auto ack. paketi --> Length + Address of transmitter + Address of receiver

  • Sounds strange.

    One thing is if the resonance frequency for the antenna is shifted compared to the frequency you use for send/ receive but that should have been equally bad in Tx and Rx. When you compare the new and old antenna in Tx is the received RSSI the same (eq is the power equal?)
  • I compared RSSI values, new antenna is better than old one but still we can not achieve to receive any data with new antenna.

    Do you think the problem is related with SPI or interrupt? If yes, how can the transceiver send data?

  • If I understand your setup correctly:
    The only thing thing that has been changed between the old and new design is the antenna?

    If you take 2 boards that works (both Tx and Rx) with the old antenna and change the antenna to the new one, are you able to receive? If yes, what is the difference between the this and what doesn't work?
  • Yes, the only thing that has been changed is the antenna but the old one was chip antenna, the new one is external antenna which is mounted on rf connector. 

    That's why we do not have a chance to replace antennas. 

    How about bandwidht? May it cause a problem? Max. bandwidth chosen for both side.

  • If the newer antennas are more efficient than the chip antennas, perhaps you are overloading the receiver?

    Can you either attenuate the receiver's input or move the antennas further apart?
  • I have never managed to overload CC1120 (I tried with +27 dBm in and it still worked. I know, above maximum rating)

    If the system worked with the old antenna you shouldn't be required to change any settings by changing antenna. Are you able to do conducted testing since you have a SMA connector?
  • That's a lot of power - it's good to know it's at least possible to survive at that level.

    Perhaps the OP's problem is the opposite - the antennas are NG and he has too little signal.
  • Hello again,

    Thermal pad is forgotten while drawing new circuits. As i see, for connecting cc1120 to gnd, the only way is thermal pad, right? CC1120 can not produce interrupt also. I think this the problem. If thermal pad is not connected to gnd, does cc1120 lose its functionality?
  • If thermal pad is not connected to gnd, does cc1120 lose its functionality: Yes, the thermal pad is the ground to the chip and without it it will not work.