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.

CC1310: Can reference designs(TIDA-01547 and TIDA-010003) support other frequency bands besides 902/853/433MHz?

Part Number: CC1310
Other Parts Discussed in Thread: TIDA-010003, TIDA-010024, TIDA-01003

CC1310 is used in both TIDA-01547 and TIDA-010003, and in the key documents of these two reference designs, the frequency bands are 902/863/433 MHz.

Is that possible to run 6LoWPAN mesh on these reference designs at other frequency bands(e.g., 297-351MHz, which is listed as supported frequency band in data sheet of cc1310)?

Thanks in advance.

  • According to CC1310 data sheet, it should be able to support “ 315-, 433-, 470-, 500-, 779-, 868-, 915-, 920-MHz ISM and SRD Systems”
  • YiKai,

    Thanks for your quick reply.

    According to section 5.5 in datasheet of CC1310, 287-351MHz is one of the  supported frequency bands.

    In section 3.1.2.2.2.1 of "Simple 6LoWPAN mesh data collector improves network performance reference design"(TIDUDK2A–March 2018–Revised February 2019, TIDA-01547), it lists all options for the PHY ID which inlude 433/863/915MHz only. (similar for TIDA-010003)

    In application note "How to Configure Different Frequency Bands for the 6LoWPAN Mesh TI Designs", the available frequency bands are also 433/863/915MHz only.

    My question is how to modify the reference design code to make it work at 287-351MHz band with the function of 6LoWPAN over 802.15.4g?

    or how to make TI-15.4 stack support 287-351MHz band for CC1310?

  • You can try to use SmartRF Studio to test if 287-351MHz band settings works on CC1310 first. If yes, you can do porting of those settings into TIDA-010003. I don’t test this by myself so you have to test it by yourself.
  • With SmartRF Studio, I tried in offline mode of CC1310 device control panel, it seems that 287-351MHz frequency is settable.

    Now the question is how to add 287-351MHz support in 15.4 stack of cc1310 SDK(simplelink_cc13x0_sdk_3_10_00_11)? It seems that those settings related with PHY IDs(frequency, data rate, etc.) are in binary lib mode.
  • I suppose you can apply the settings generated by SmartRF Studio to mac_user_config_cc13x0_subg_cop.h in TI 15.4 examples and test if it works.

  • YiKai Chen said:
    I suppose you can apply the settings generated by SmartRF Studio to mac_settings.c in TI 15.4 examples and test if it works.

    According to section 2 of tida026.pdf(How to Configure Different Frequency Bands for the 6LoWPAN Mesh TI Designs), different band plan can be modified by code in Application/subg/config.h for TIDA-010003

    /*! TIDA-010003/TIDA-010024: Setting for Phy ID */

    #define CONFIG_PHY_ID (APIMAC_STD_US_915_PHY_1)

    but you suggest to change frequency by modifying  Application/MAC/LlowLevel/mac_settings.c

    I'm confused of the method of control PHY freqency in TIDA-010003. these two methods should not be valid at the same time. 

  • The document is for standard 915/868/433 MHz support. If you mean to use other sub GHz band, I suppose you have to hack into the code that I mentioned.
  • If the frequency is controlled by parameters in mac_settings.c, then it should be useless(or at least not enough) of modifying config.h only to change the frequency plan for TIDA-010003 as stated in tida026.pdf.
    I'm really confused.
  • I might make mistake in my previous reply. After checking source code again, I find you suppose to revise mac_user_config_cc13x0_subg_cop.h not mac_settings.c.
  • In "mac_user_config_cc13x0_subg_cop.h" , it references definitions in "mac_user_config_cc13x0_rftable.h".
    And in "mac_user_config_cc13x0_rftable.h", I'm not sure where to modify the frequency value.
    In code export of SamrtRF Studio, it seems that the frequency info is in CMD_PROP_RADIO_DIV_SETUP/rfc_CMD_FS_t, not in pOverrides[].

    Would you please tell me how to modify?
  • I don’t test this by myself so you have to test by yourself.
  • Yes, I can test it by myself.
    But the question is I can't find where to modify.

    In code export from SamrtRF Studio, it seems that the frequency info is in CMD_PROP_RADIO_DIV_SETUP/CMD_FS_t, not in array pOverrides[]. (I change the frequency value in control panel, and the exported code of pOverrides[] remains the same.)

    In "mac_user_config_cc13x0_subg_cop.h" , it references definitions in "mac_user_config_cc13x0_rftable.h".
    And in "mac_user_config_cc13x0_rftable.h", there're only arrays of pOverrides_xxx_xxx[] and txPowerTable_xxx[].
    I'm not sure where to modify the frequency value in "mac_user_config_cc13x0_subg_cop.h" or "mac_user_config_cc13x0_rftable.h".
  • Hi,

    Please note that both TIDA-010003 and TIDA-01547 is tuned for 868/915 MHz so you will get poor performance at 297-351 MHz unless you change the RF matching and are using an external antenna suited for the 297-351 MHz range.

    Best Regards,
    R.M
  • Yes, we know the RF matching and antenna should change to match 297-351MHz band. It can be done by hardware modification at reference design or even redesign the PCBA.

    The current key issue is how to make the TI-15.4 stack software support 297-351MHz band for cc1310.

  • Hi,

    I will notify the TI-15.4 sw team and hopefully they will be able to help you further.

    Best Regards,
    R.M
  • R.M,

    Thanks.

  • Hi,

    The frequencies that you want to operate at are not supported by 15.4 Stack nor by the TI Designs that you are using as a reference but this being said, you should still be able to modify the desired frequency.
    To do this you will have to modify and rebuild the coprocessor firmware for the CC1310.

    Please note that in this explanation I will be changing the frequency on the PHY "APIMAC_STD_US_915_PHY_1", Basically after applying the modifications below, if you select the PHY "APIMAC_STD_US_915_PHY_1" your device will be using the custom frequency PHY. You could also pick any other supported PHY to be the base of your custom frequency PHY.

    - To get started I would recommend you download the CC1310 SDK V2.130(www.ti.com/.../2.30.00.20) The reason why I am recommending an older SDK is because changing the frequency in a newer SDK will be more difficult.

    - once you have downloaded SDK 2.30, import the TI 15.4 Stack CC1310 coprocessor example into Code Composer Studio.

    - when you have imported the project pick a PHY configuration that you wish to use as a base for your new custom PHY. For example "APIMAC_STD_US_915_PHY_1" which is the one I will be using.

    - Look for the define "MAC_STD_US_915_BAND_MODE_1_CENTER_FREQ_KHZ"(NOTE: this define only applies to the frequency of the phy APIMAC_STD_US_915_PHY_1), this define can be found in the file mac_pib.h

    - Modify the center frequency define to your desired frequency
    - You can modify things like channel spacing and number of channels in that same file if you wish to do so. "MAC_STD_US_915_BAND_MODE_1_CHAN_SPACING_KHZ" and "MAC_STD_US_915_BAND_MODE_1_TOTAL_CHANNELS"

    NOTE: These instructions are a workaround on how to add unsupported frequencies to TI 15.4 Stack. TI 15.4 Stack only supports the frequency bands 902/863/433 MHz therefore we cannot guarantee that the software will behave as expected if you make modifications to operate outside of the supported frequency bands.

    Regards.
  • Hi, Hector_r

    Thanks for your detail explanation.
    We'll try your suggested method.

    BTW, in TIDA-010003's reference design, simplelink_cc13x0_sdk_2_40_00_20 is used. Can we use the same method for cc130 sdk V2.40.00.20?
  • Hi ZCH,

    No, you cannot use the same method for v2.40 or higher since in those versions the frequency band specific configurations have been compiled in the stack libraries and cant be changed.

    But you shouldn't have any problems using simplelink_cc13x0_sdk_2_30 instead since the behavior of the coprocessor has not changed between those 2 releases.

    For future releases I will make sure we expose again the frequency band specific configurations so you are not stuck using an older version of the SDK.
  • Hi, Hector_r

    Thanks for your information.

    We made  some tests based on the reference design of TIDA-01547 and TIDA-010003.

    • TIDA-010003 (CC1310 only)
      • Actually,the reference project downloaded from TI website is based on simplelink_cc13x0_sdk_2_40_00_20. As you mentioned,  it's no use to modify freq band in mac_pib.h.
      • when we use simplelink_cc13x0_sdk_2_30_00_20 instead, there're several building errors, including some missing .h files. it seems that these two SDK versions are not compatible for this TIDA-010003 reference design application.

    TIDA-01547 (MSP430 +CC1310)

    • we use debug_node_poll(MSP430) since it'll be easy to monitor the signal for end node in FH sync status
    • it seems effective to change the freq band by modifying parameters in mac_pib.h (coprocessor example of CC1310)
    • but it seems not all values are valid, and I still can't make 3xxMHz work
      • for MAC_STD_US_915_BAND_MODE_1_CENTER_FREQ_KHZ. (PHY_ID configured as APIMAC_STD_US_915_PHY_1)
        • 8xx ~ 9xx MHz works (I can see corresponding burst in spectrum analyzer at desired frequency)
        • 3xxMHz or 433MHz doesn't work (no burst in spectrum analyzer at desired frequency)
      • for MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ.(PHY_ID configured as APIMAC_GENERIC_CHINA_433_PHY_128

        • 433/470/480MHz works
        • 336/400MHz doesn't work

    for TIDA-010003, how can I make the reference design compatible with simplelink_cc13x0_sdk_2_30_00_20?

    for TIDA-01547, did I do something wrong when changing the frequency to 3xx/4xx MHz?

    Thanks a lot.

  • ZCH said:

    TIDA-01547 (MSP430 +CC1310)

    • for MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ.(PHY_ID configured as APIMAC_GENERIC_CHINA_433_PHY_128

      • 433/470/480MHz works
      • 336/400MHz doesn't work

    for TIDA-01547, did I do something wrong when changing the frequency to 3xx/4xx MHz?

    In this case I think you need to also make sure the other parameters in "RF_cmdPropRadioDivSetup" are configured accordingly to what SmartRF Studio will generate for the target frequency band that you want to operate in. unfortunately most of these parameters are set and modified in the compiled libraries and there is no way of changing them. But in this case I think the only thing you might be missing is the correct value for the loDivider. 

    I recommend you use "APIMAC_GENERIC_CHINA_433_PHY_128" as a base PHY and set the value of "loDivider_433 = 0x0C"(or whatever value Smart RF studio generates for your desired frequency) You can find the variable "loDivider_433" in mac_user_config_cc13x0_subg_cop.h

     

    ZCH said:

    for TIDA-010003, how can I make the reference design compatible with simplelink_cc13x0_sdk_2_30_00_20?

    This is not that simple, you will have to port the TIDA-010003 project to simplelink_cc13x0_sdk_2_30_00_20. I think you still might have another option to modify the frequency band in SDK 2.40. You can try the following.

    - import the TIDA-010003 project to Code composer studio, make sure you are using SDK v2.40, and make sure the example compiles with no errors

    - Import the TI 15.4 sensor example from simplelink_cc13x0_sdk_2_30_00_20

    - From the sensor example go to the directory Application/MAC/HighLevel and copy the file hmac_global.c

    - Go to your TIDA-01003 project and paste hmac_global.c under the same directory.

    - open hmac_global.c and comment out or delete the definitions of the following variables "macSecurityPibTbl", "macPibTbl", and "macPibDefaults"

    - try to compile the TIDA-010003 and make sure it completes with no errors

    - Select the PHY "APIMAC_GENERIC_CHINA_433_PHY_128" and do the modifications previously mentioned to change to your desired operating frequency band in MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ and loDivider_433

    NOTE: I havent tried this and I cant guarantee this will work. This is the closest that I can get you to attempting to operate in non supported frequency bands

    I hope this helps.

  • Hi, Hector_r

    Thanks for you help, and I did some tests after your guideline.

    From SmartRF Studio7, the loDivider parameter for different bands of CC1310 is as following:

    frequency(MHz) loDivider
    f ≥ 430 0xA
    348 ≤ f < 430 0xC
    f < 348 0xF

    With TIDA-01547:

    • configuration
      • CONFIG_PHY_ID = APIMAC_GENERIC_CHINA_433_PHY_128
      • MAC_GENERIC_CHINA_433_BAND_MODE_1_TOTAL_CHANNELS = 129 (convenient to observe on spectrum analyzer)
    • modify MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ(for start frequency) and loDivider_433
      • when loDivider_433=0xA, start frequency=420MHz, valid signal can be observed above 423MHz, but not between 420~423MHz
      • when loDivider_433=0xC, start frequency=410MHz, no valid signal within 410~436MHz, but signal in 49x~52x MHz range
      • when loDivider_433=0xF, start frequency=336MHz, no valid signal within 335~361MHz, but signal in 50x~54x MHz range

    With TIDA-010003:

    • it's effective by using your method of hmac_global.c
    • configuration
      • CONFIG_PHY_ID = APIMAC_GENERIC_CHINA_433_PHY_128
      • MAC_GENERIC_CHINA_433_BAND_MODE_1_TOTAL_CHANNELS = 129 (convenient to observe on spectrum analyzer)
    • modify MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ(for start frequency) and loDivider(in mac_user_config_cc13x0_subg_china.h)
      • when loDivider=0xA, start frequency=420MHz, valid signal within 420~446MHz
      • when loDivider=0xA, start frequency=410MHz, only valid signal within 415~435MHz
      • when loDivider=0xA, start frequency=400MHz, only valid signal within 415~425MHz

      • when loDivider=0xA, start frequency=336MHz, no valid signal
      • when loDivider=0xA, start frequency=330MHz, no valid signal
      • when loDivider=0xC, start frequency=330MHz, only valid signal at 420MHz with range of about 12MHz 
      • when loDivider=0xF, start frequency=330MHz, only valid signal at 515MHz with range of about 40MHz
      • when loDivider=0xF, start frequency=320MHz, only valid signal at 500MHz with range of about 30MHz

    It seems strange:

    • the loDivider value seems not to match the suggested value from SmartRF
    • when setting to 3xx~410MHz, the result signal may occur at other frequency band
    • the result frequency may be different for TIDA-01547 and TIDA-010003 even with the same setting

    What can I do for next step?

  • Have you tested these frequency bands in Smart RF Studio?

    ine of the reasons why you might be experiencing different results in the 2 different designs might be because of your channel mask. To hopefully have more accurate results you should set your channel mask to only one channel as shown below:
    - #define CONFIG_CHANNEL_MASK { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, \
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
    0x00, 0x00, 0x00, 0x00, 0x00 }
    Another thing that I would recommend is to lower the number of channels you are using or modify the frequency of MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ(this refers to the center frequency of the first channel in your RF band) accordingly.
    For example if you want 410MHz to be the center frequency of your band and since you are using 129 channels then you should set MAC_GENERIC_CHINA_433_BAND_MODE_1_CENTER_FREQ_KHZ = 397200 which should put your center channel around 410MHz
    Another reason to do this is because if you use 410000 instead then the higher channels will be above 420MHz which will require a different loDivider

    Other than this there is not much else that can be done for this. Most likely the reason why this is not working properly is because those are frequency bands that have not been characterized in the device and SmartRF Studio and also as I have mentioned before, TI 15.4 Stack was not designed to operate in the frequencies thaat you are trying to use.
  • Hi, Hector_r

    I've tested these frequency bands in Smart RF Studio with both single frequency point and frequency sweep mode.

    But with the reference design project, I can't get correct frequency with whatever loDivider value.

    I didn't modify CONFIG_CHANNEL_MASK to only one channel because in that case it'll be very difficult to observer the signal on spectrum analyzer with the reference design.

    In addition with TIDA-010003, I set loDivider=0xF, start frequency=310MHz, there should be signal within 310~336MHz(loDivider=0xF for frequency below 348MHz), but only valid signal within range 485~503MHz.

    It seems that:

    • cc1310 can support 297-351MHz, desired frequency can be set by Smart RF Studio
    • ti15.4 stack(2.30.0.20, 2.40.0.20) can't support 297-351MHz, and different SDK version has different result