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.

Wake up CC1310 from CC1101

Other Parts Discussed in Thread: CC1101, CC1310, TEST2
I need to wake up a CC1310 from a CC1101 but I can not communicate them.
On one hand the examples rfWakeOnRadioRx_CC1310DK_7XD_tirtos_ccs and rfWakeOnRadioTx_CC1310DK_7XD_tirtos_ccs
// CMD_PROP_RADIO_DIV_SETUP
rfc_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup =
{
    .commandNo = 0x3807,
    .status = 0x0000,
    .pNextOp = 0, // INSERT APPLICABLE POINTER: (uint8_t*)&xxx
    .startTime = 0x00000000,
    .startTrigger.triggerType = 0x0,
    .startTrigger.bEnaCmd = 0x0,
    .startTrigger.triggerNo = 0x0,
    .startTrigger.pastTrig = 0x0,
    .condition.rule = 0x1,
    .condition.nSkip = 0x0,
    .modulation.modType = 0x1,
    .modulation.deviation = 0x64,
    .symbolRate.preScale = 0xF,
    .symbolRate.rateWord = 0x8000,
    .rxBw = 0x24,
    .preamConf.nPreamBytes = 0x4,
    .preamConf.preamMode = 0x0,
    .formatConf.nSwBits = 0x20,
    .formatConf.bBitReversal = 0x0,
    .formatConf.bMsbFirst = 0x1,
    .formatConf.fecMode = 0x0,
    .formatConf.whitenMode = 0x0,
    .config.frontEndMode = 0x0,
    .config.biasMode = 0x1,
    .config.analogCfgMode = 0x0,
    .config.bNoFsPowerUp = 0x0,
    .txPower = 0x003F,
    .pRegOverride = pOverrides,
    .centerFreq = 0x01B8,
    .intFreq = 0x8000,
    .loDivider = 0x0A,
};
On the other hand the CC1101 with the following configuration:
// Symbol rare: 50Kbaud
// Desviation: 25Khz
#define CC1101_IOCFG2         0x0E    
#define CC1101_IOCFG0        0x06    
#define CC1101_PKTLEN        0xFF
#define CC1101_PKTCTRL1      0x04
#define CC1101_PKTCTRL0      0x05    
#define CC1101_ADDR           0x01    
#define CC1101_FSCTRL1       0x06        
#define CC1101_FSCTRL0       0x00    
#define CC1101_FREQ2         0x10       
#define CC1101_FREQ1         0xEC    
#define CC1101_FREQ0          0x4E    
#define CC1101_MDMCFG4       0xCA
#define CC1101_MDMCFG3       0xF8
#define CC1101_MDMCFG2       0x13        
#define CC1101_MDMCFG1       0x22        
#define CC1101_MDMCFG0       0xFF        
#define CC1101_DEVIATN       0x40        
#define CC1101_MCSM1         0x20        
#define CC1101_MCSM0         0x18        
#define CC1101_FOCCFG        0x1D        
#define CC1101_BSCFG         0x1C        
#define CC1101_AGCCTRL2      0xC5        
#define CC1101_AGCCTRL1      0x19        
#define CC1101_AGCCTRL0      0xB2        
#define CC1101_FREND1        0xB6        
#define CC1101_FREND0        0x10
#define CC1101_FSCAL3        0xE9
#define CC1101_FSCAL2        0x2A
#define CC1101_FSCAL1        0x00
#define CC1101_FSCAL0        0x1F
#define CC1101_FSTEST        0x59
#define CC1101_TEST2         0x88
#define CC1101_TEST1         0x31
#define CC1101_TEST0         0x09
#define CC1101_POWER_OUTPUT  0xC0     // +10dBm
There is no communication between the chips. Can you help me find the error?
  • Make sure you use the same sync word for both devices. CC1101 typically uses 0xD391 D391, whereas the CC1310 SW examples uses 0x930B 51DE. Change CC1310 sync word to 0xD391 D391.

    Also, can you get the more simple example such as packetRX and packetTX to work?

  • This helped me a lot, but it does not completely solve.

    Now the communication works perfect. The problem is that the CC1101 does not wake the CC1310 in most cases, eventually after several seconds of continuous transmission the CC1310 is activated.

    If I broadcast with another CC1310, it wakes up in every attempt.
  • Is there a way to send 500mseg of preamble on the CC1101?

  • Hi Alejandro

    The CC1101 works in the way that if you send a STX strobe without having written any data to the TX FIFO , the radio will start sending preamble, and it will do so until there are data in the FIFO to be sent. To communicate with the CC1310 running rfWakeOnRadioRX example you can simply strobe STX, wait 500 ms and then write your packet to the TXFIFO. The only thing you must make sure in such a use case is that you fill up the FIFO over SPI faster than the CC1101 transmits the data, to avoid underflow of the FIFO.

    BR

    Siri