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.

RTOS/CC2650EM-7ID-RD: Data transmission through RF propriority mode

Part Number: CC2650EM-7ID-RD
Other Parts Discussed in Thread: CC2650, CC2650STK

Tool/software: TI-RTOS

Hi,

I would like to send data through RF propriority mode. So I have tried using  tirtos_cc13xx_cc26xx_2_21_00_06 which includes rfPcketTx and rfPacketRx examples. 

They work fine for 200kbps throughput with 2.4GHz, applied patches and overrides.

But whenever I try to change symbol rate more than 1 mbps...it doesnt work at all. Can anyone help me get 1 mbps throughput ?

Can anyone have appropriate patches and RF radio setup settings to achieve this goal?

Need urgent help.

Thanks in advance.

  • Hi..Can anyone help me ?
  • Hi,

    the GEN-FSK PHY has poor performance at 1 MBd. The 1 MBit BLE PHY can be used together with proprietary commands as well:

    #include <driverlib/rf_mailbox.h>
    #include <driverlib/rf_common_cmd.h>
    #include <driverlib/rf_prop_cmd.h>
    #include <ti/drivers/rf/RF.h>
    #include <rf_patches/rf_patch_rfe_ble.h>
    #include <rf_patches/rf_patch_cpe_ble.h>
    #include "smartrf_settings.h"
    #include <inc/hw_rfc_dbell.h>
    
    
    // TI-RTOS RF Mode Object
    RF_Mode RF_prop =
    {
        .rfMode = RF_MODE_PROPRIETARY_2_4, // BLE phy in prop
        .cpePatchFxn = &rf_patch_cpe_ble,
        .mcePatchFxn = 0,
        .rfePatchFxn = &rf_patch_rfe_ble, 
    };
    
    
    // Overrides for CMD_PROP_RADIO_SETUP
    uint32_t pOverrides[] = {
      0x00001007, // Run patched RFE code from RAM
      0x00354038, // Synth: Set RTRIM (POTAILRESTRIM) to 5
      0x4001402D, // Synth: Correct CKVD latency setting (address)
      0x00608402, // Synth: Correct CKVD latency setting (value)
      0x4001405D, // Synth: Set ANADIV DIV_BIAS_MODE to PG1 (address)
      0x1801F800, // Synth: Set ANADIV DIV_BIAS_MODE to PG1 (value)
      0x000784A3, // Synth: Set FREF = 3.43 MHz (24 MHz / 7)
      0xA47E0583, // Synth: Set loop bandwidth after lock to 80 kHz (K2)
      0xEAE00603, // Synth: Set loop bandwidth after lock to 80 kHz (K3, LSB)
      0x00010623, // Synth: Set loop bandwidth after lock to 80 kHz (K3, MSB)
      0x00456088, // Adjust AGC reference level
      0x013800C3, // Use enhanced BLE shape,    
      0xFFFFFFFF, // End of override list
    };
    
    // CMD_PROP_RADIO_SETUP
    rfc_CMD_RADIO_SETUP_t RF_cmdRadioSetup =
    {
        .commandNo = CMD_RADIO_SETUP,
        .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, // Never
        .condition.nSkip = 0x0,
        .mode = 0,
        .txPower = 0x9330,
        .pRegOverride = pOverrides,
    };

    I do not know how good the performance really is, but you may give it a try.

  • Hello,

    The settings that Richard has provided is for fixed 1MBPS datarate, 2GFSK signal with 250KHz deviation. For 1mbps throughput, the data rate has to be higher and we support 2mbps and 5mbps data rates on CC2650. However, the settings for these data rates are not released can only be shared with customers under NDA. Please contact your local TI office or send me a friend request for any further information.

    Regards,
  • @Richard...Thanks for your reply. I have tried it..but didn't work.

    Hi SVS. I have already sent you friend request. Could you please provide some information on that? Thanks.
  • Hi...I have sent you messages personally ...could you please reply for the same?
  • Hi,

    I have got all the settings from TI for 1 mbps, 2mbps and 5 mbps. I have tried 1 mbps settings, but it didn't work. Then tried 2 mbps and 5mbps settings, it worked but didn't get actual throughputs.

    What could be issue/s?

    Can anyone help me ?
  • Hello,

    Can you provide more details on what did not work with 1mbps settings - did you have problem compiling with the settings or radio error or no TX and RX or no RF link? What throughput are you seeing in the 2 and 5mbps modes and how are you measuring it?

    Regards,
  • Hello,

    I didn't have any problem with compiling with the settings or radio error. I have compiled it successfully, it transmit packets without error. But at receiver end, it didn't get any packet in 1 mbps.

    Then I tried to set 2 mbps and 5 mbps , it works for both, but didn't get actual throughput. I have measured it with below steps.
    1. set 2 mbps throughput at TX side
    2. set packetcounts=5000 (packet length = 30 bytes) at TX side
    3. set 2 mbps throughput at RX side
    4. increments counter in rx_callback with a new packet arrival at RX side
    5. receive pacekts for 10 secs and then no of packets/10 = actual throughput

    Am I going right ? If not then could you please suggest me a way to test it ?

    I am testing this firmware in CC2650stk devices. I can send you code that I am testing in private.

    Thanks.
  • Hello,

    Default setting in the examples is to send packets at regular intervals using absolute trigger to time the packets. If you haven't already done it, please change the start trigger for TX to immediate trigger (TRIG_NOW) and this will transmit packets as quickly as possible. This should help with the throughput. In 5mbps mode, a header of 208 symbols is transmitted in each packet. Because of this overhead, if the packets are too short, the throughput drops significantly. When using high speed mode, it is recommended to use longer payload to improve throughput.

    Regards,