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.

CC1312R: Proprietary Radio : Use different PHY in one application

Part Number: CC1312R
Other Parts Discussed in Thread: SYSCONFIG

In my application the RF-link is used for two different tasks:

  • Exchange simple status and commands between sensor/tag and base
  • Bulk-download of a big dataset (up to 64MByte) from sensor/tag to base

My idea is to use different PHYS-modes for the two task:

  • low to moderate datarate for simple status/command exchange to get better range and/or lower errorrate
  • (very) high datarate for the Bulk-download to get all the data in acceptable time

Q: Do i have to use the long-range modes in the lower datarate to get a better range?

The connection should always start with the lower datarate. And if the Bulk-download should start switch to the higher datarate.

Q: Must i use the DMM if the Device is always in one of two states (low-DR/high-DR)?

Q: As far as i understand the manuals i can create 2 PHY configurations in SysConfig and call RF_open() for each: 

rfHandleLow  = RF_open( ..., (RF_RadioSetup*)&RadioSetupLow,  rfParams);
rfHandleHigh = RF_open( ..., (RF_RadioSetup*)&RadioSetupHigh, rfParams);

  Later in my application i simple rund the RF_runCmd()/RF_postCmd() with the different handles, depending of my current state:

void rfFxnLowDatarate() {
  RF_CmdHandle ch;
  ...
  ch = RF_postCmd( rfHandleLow, ...)
  ...
}

void rfFxnHighDatarate() {
  RF_CmdHandle ch;
  ...
  ch = RF_postCmd( rfHandleHigh, ...)
  ...
}

    Is it really so simple?

As far as i understand i need for high datarates a better link-budget (higher RSSI on receiver).

Q: How to decide that i am in the range where i can use the high-datarate?

Q: Can Is there any formula to rough estimate that? Can i use the RSSI for this decision?

Q: Can i compare the RSSI-values for different PHYs, or does they mean different things or have different scales in the different PHYs?

Q: What are the usable datarates for long-range modes? Document 'SWRA642 . CC13xx Long Range Modes' says up to 50kbps, but SysConfig and SmartRFStudio gives me only up to 5kbps. How to configure higher datarates for LR-mode?

BR

Jan

  • Hi Jan,

    I have assigned an expert to comment.

    Can you specify which SDK and which example you are using?

    Best regards,

  • n my application the RF-link is used for two different tasks:

    • Exchange simple status and commands between sensor/tag and base
    • Bulk-download of a big dataset (up to 64MByte) from sensor/tag to base

    My idea is to use different PHYS-modes for the two task:

    • low to moderate datarate for simple status/command exchange to get better range and/or lower errorrate
    • (very) high datarate for the Bulk-download to get all the data in acceptable time

    Q: Do i have to use the long-range modes in the lower datarate to get a better range?

    Lower data rate usually means longer range. Please download our range estimator:

    www.ti.com/.../RF-RANGE-ESTIMATOR

    The connection should always start with the lower datarate. And if the Bulk-download should start switch to the higher datarate.

    Q: Must i use the DMM if the Device is always in one of two states (low-DR/high-DR)?

    You do not have to, but you can. Please see

    https://dev.ti.com/tirex/explore/node?node=ADAE6by4hb0euPuHN66mKQ__pTTHBmu__LATEST

    for more info on DMM

    Q: As far as i understand the manuals i can create 2 PHY configurations in SysConfig and call RF_open() for each: 

    1
    2
    rfHandleLow  = RF_open( ..., (RF_RadioSetup*)&RadioSetupLow,  rfParams);
    rfHandleHigh = RF_open( ..., (RF_RadioSetup*)&RadioSetupHigh, rfParams);

      Later in my application i simple rund the RF_runCmd()/RF_postCmd() with the different handles, depending of my current state:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void rfFxnLowDatarate() {
      RF_CmdHandle ch;
      ...
      ch = RF_postCmd( rfHandleLow, ...)
      ...
    }
    void rfFxnHighDatarate() {
      RF_CmdHandle ch;
      ...
      ch = RF_postCmd( rfHandleHigh, ...)
      ...
    }

        Is it really so simple?

    that should work

    As far as i understand i need for high datarates a better link-budget (higher RSSI on receiver).

    Q: How to decide that i am in the range where i can use the high-datarate?

    if you mean runtime, I guess you can use the RSSI to determine if it is OK to change to a higher data rate.

    Q: Can Is there any formula to rough estimate that? Can i use the RSSI for this decision?

    RSSI

    Q: Can i compare the RSSI-values for different PHYs, or does they mean different things or have different scales in the different PHYs?

    Different PHY can have different RSSI offsets in the override list and these also might have to be adjusted for your specific HW. Once you have the proper offset etc. you can use the RSSI in your application to determine your signal strength

    Q: What are the usable datarates for long-range modes? Document 'SWRA642 . CC13xx Long Range Modes' says up to 50kbps, but SysConfig and SmartRFStudio gives me only up to 5kbps. How to configure higher datarates for LR-mode?

    The characterized data rates for long range modes are the once in Studio. You can select one of them as starting point, and then play around with data rate etc. as mentioned in the app note

    BR

    Siri