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.

CC2650: CC2500 communicate with CC2650

Part Number: CC2650
Other Parts Discussed in Thread: CC2500, , CC2510, CC2640

Dear all,

Does CC2650 can communicate with CC2500 in MSK modulation mode?

Customer want to added RF4CE function and need to support to communicated with CC2500( their existing product).

Is that solution make sense?

  • We have the overrides needed for this. Please allow me until tomorrow to write up a summary.
  • RF Settings
    -----------
    // TI-RTOS RF Mode Object
    RF_Mode RF_prop =
    {
    .rfMode = RF_MODE_PROPRIETARY_2_4,
    .cpePatchFxn = &rf_patch_cpe_genfsk,
    .mcePatchFxn = &rf_patch_mce_genfsk,
    .rfePatchFxn = &rf_patch_rfe_genfsk,
    };

    // Overrides for CMD_PROP_RADIO_SETUP
    uint32_t pOverrides[] = {
    MCE_RFE_OVERRIDE(1,0,0,1,0,0),
    HW_REG_OVERRIDE(0x4038,0x34),
    HW_REG_OVERRIDE(0x6088,0x3F1F),
    HW_REG_OVERRIDE(0x608C,0x8213),

    HW32_ARRAY_OVERRIDE(0x405C,1),
    (uint32_t) 0x1801F800,
    HW32_ARRAY_OVERRIDE(0x402C,1),
    (uint32_t) 0x00608402,
    (uint32_t) 0x00000343,
    (uint32_t) 0x000484a3,
    (uint32_t) 0x1c8f0583,
    (uint32_t) 0x1c8f0543,
    (uint32_t) 0x65980603,
    (uint32_t) 0x00020623,
    (uint32_t) 0x659805c3,
    (uint32_t) 0x000205e3,
    (uint32_t) 0x02010403,
    HW32_ARRAY_OVERRIDE(0x4034,1),
    (uint32_t) 0x177F0408,
    (uint32_t) 0x00008463,
    (uint32_t) 0x00388473,
    (uint32_t) 0x00F388a3,

    HW_REG_OVERRIDE(0x50C8, 0x60f7), // Set PDIFLIMITRANGE=1 to avoid
    // frequency sample artifacts
    // causing symbol errors when receiving
    // CC2510 MSK.
    // HW_REG_OVERRIDE(0x50C8, 0x60ff), // Sets also PDIFLINPRED=1
    // This improves sensitivity, but
    // has a negative effect on frequency tolerance.

    /* Custom shaping */
    (uint32_t) 0x00810083, //Enable piecewise shaper
    (uint32_t) 0x001000a3, //Enable piecewise shaper
    (uint32_t) 0x000000c3, //No automatic shape programming
    (uint32_t) 0x000000e3, //No automatic shape programming
    (uint32_t) 0x40064041, //Start shape override
    (uint32_t) 0x0000b19a, //first time value pair valid_until=11, value=410
    (uint32_t) 0x00013199, //second time value pair valid_until=19, value=409
    (uint32_t) 0x00000000, //third time value pair valid_until=0, value=0
    (uint32_t) 0x00000000, //fourth time value pair valid_until=0, value=0
    (uint32_t) 0x00000000, //fifth time value pair valid_until=0, value=0
    (uint32_t) 0x00000000, //sixth time value pair valid_until=0, value=0

    (uint32_t)0xFFFFFFFF,
    };
    rfc_CMD_PROP_RADIO_SETUP_t RF_cmdRadioSetup =
    {
    .commandNo = 0x3806,
    .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 = 0x0,
    .modulation.deviation = 250,
    .symbolRate.preScale = 0x6,
    .symbolRate.rateWord = 65536,
    .rxBw = 9,
    .preamConf.nPreamBytes = 0x4,
    .preamConf.preamMode = 0x1,
    .formatConf.nSwBits = 0x20,
    .formatConf.bBitReversal = 0x1,
    .formatConf.bMsbFirst = 0x1,
    .formatConf.fecMode = 0x0,
    .formatConf.whitenMode = 0x0,
    .config.frontEndMode = 0x0,
    .config.biasMode = 0x0,
    .config.analogCfgMode = 0x0,
    .config.bNoFsPowerUp = 0x0,
    .txPower = 0x4214,//0x4214 = +1dBm
    .pRegOverride = pOverrides,
    };
  • Hello,

    Thanks for your reply on this thread.

    So, CC2650 can support MSK modulation, correct?

    Second, do we have doc or more detail how to use comments base on above configuration file?

    Third, customer solution need hopping function, how to set different TX/RX frequency in above configuration file?

    Fourth, how to define the package length?

    Fifth,do we have example code for CC2650 MSK tx/rx demo usage?

     

  • CC2640 can support CC2510 MSK modulation
    • Download the old TI-RTOS SDK 2.21 which is the last SDK that supports CC2650.
    • Import one of the rf driver examples (rfPacketTx or rfPacketRx) for CC2650 from there using Resource Explorer Classic in CCS
    • Replace the RF settings with the MSK ones provided earlier

    Packet length is defined in rfPacketTx.c

    Frequency is set in CMD_FS and CMD_PROP_RADIO_SETUP in smartrf_settings.c