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.

CC1352P: 500k GFSK PHY of CC1352P/CC1352P7

Part Number: CC1352P
Other Parts Discussed in Thread: , SYSCONFIG

A customer is evaluating the 500kbps GFSK PHY for wireless microphone application. A difference has been noticed between CC1352P and CC1352P7 using the same PHY: the Rx bandwidth for this PHY setting is 1150kHz on CC1352P, while on CC1352P7 it is 622kHz.

1. Why is the Rx bandwidth different on these two devices? Is there a hardware difference/limit?

2. Can I use 622kHz Rx bandwidth on CC1352P by manually changing the RF setup command? I want to find out the maximum distance of the 500k PHY, theoretically a larger Rx bandwidth will decrease the distance, is that correct?

3. Is the 500k GFSK PHY recommended for wireless mic application in general? The customer's requirement is >400kbps data rate and >200m range, is it feasible?

Best regards,

Shuyang

  • 1: A HW limitation has been changed

    2: SmartRF Studio will give you information if the combination of RX BW and datarate is possible or not. It also give you a vaild range giving you information on what you can change to be within the requirements

    3: Check https://www.ti.com/tool/RF-RANGE-ESTIMATOR to get an indication if the requirement is possible.

  • Thanks.

    Still have a question about this PHY: in SmartRF studio, it is working with the 802.15.4g commands by default. Can I use the 500k PHY for 802.15.4 packet?

    I'm trying to enable this by modifying the RF_cmdPropRadioDivSetup from the 1M PHY setting, but I noticed there are some different overrides between the 500k and 1M PHY.

    Overrides of the 500k PHY:

    // Overrides for CMD_PROP_RADIO_DIV_SETUP_PA
    uint32_t pOverrides[] =
    {
        // override_prop_common_sub1g.xml
        // TX: Set FSCA divider bias to 1
        HW32_ARRAY_OVERRIDE(0x405C,0x0001),
        // TX: Set FSCA divider bias to 1
        (uint32_t)0x08141131,
        // override_prop_common.xml
        // DC/DC regulator: In Tx with 14 dBm PA setting, use DCDCCTL5[3:0]=0xF (DITHER_EN=1 and IPEAK=7). In Rx, use default settings.
        (uint32_t)0x00F788D3,
        // override_tc778.xml
        // Synth: Set loop bandwidth after lock to 40 kHz (K2)
        (uint32_t)0x29200583,
        // Synth: Set loop bandwidth after lock to 40 kHz (K2)
        (uint32_t)0x000005A3,
        // Synth: Set loop bandwidth after lock to 40 kHz (K3, LSB)
        (uint32_t)0xF5700603,
        // Synth: Set loop bandwidth after lock to 40 kHz (K3, MSB)
        (uint32_t)0x00000623,
        // Synth: Set FREF = 4 MHz
        (uint32_t)0x000C84A3,
        // Tx: Configure PA ramp time, PACTL2.RC=0x1 (in ADI0, set PACTL2[4:3]=0x1)
        ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x0),
        // Rx: Set AGC reference level to 0x22 (default: 0x2E)
        HW_REG_OVERRIDE(0x609C,0x0022),
        // Rx: Set RSSI offset to adjust reported RSSI by -4 dB (default: -2), trimmed for external bias and differential configuration
        (uint32_t)0x000488A3,
        // Rx: Set anti-aliasing filter bandwidth to 0xA (in ADI0, set IFAMPCTL3[7:4]=0xA)
        ADI_HALFREG_OVERRIDE(0,61,0xF,0xA),
        // Set LNA IB boost to 2
        ADI_HALFREG_OVERRIDE(0,5,0xF,0x2),
        // TX power override
        // Tx: Set PA trim to max to maximize its output power (in ADI0, set PACTL0=0xF8)
        ADI_REG_OVERRIDE(0,12,0xF8),
        (uint32_t)0xFFFFFFFF
    };

    Overrides of the 1M PHY:

    // Overrides for CMD_PROP_RADIO_DIV_SETUP_PA
    uint32_t pOverrides[] =
    {
        // override_tc784_tc785.xml
        // Tx: Configure PA ramp time, PACTL2.RC=0x3 (in ADI0, set PACTL2[4:3]=0x3)
        ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x1),
        // Rx: Set AGC reference level to 0x2E (default: 0x2E)
        HW_REG_OVERRIDE(0x609C,0x002E),
        // Rx: Set RSSI offset to adjust reported RSSI by -4 dB (default: -2), trimmed for external bias and differential configuration
        (uint32_t)0x000488A3,
        // Set LNA IB offset factor to 0xF
        (uint32_t)0x000F8883,
        // Rx: Set anti-aliasing filter bandwidth to 0x0 (in ADI0, set IFAMPCTL3[7:4]=0xD)
        ADI_HALFREG_OVERRIDE(0,61,0xF,0x0),
        // TX: Reduce analog ramping wait time
        HW_REG_OVERRIDE(0x6028,0x001A),
        // override_prop_common.xml
        // DC/DC regulator: In Tx with 14 dBm PA setting, use DCDCCTL5[3:0]=0xF (DITHER_EN=1 and IPEAK=7). In Rx, use default settings.
        (uint32_t)0x00F788D3,
        // override_prop_common_sub1g.xml
        // TX: Set FSCA divider bias to 1
        HW32_ARRAY_OVERRIDE(0x405C,0x0001),
        // TX: Set FSCA divider bias to 1
        (uint32_t)0x08141131,
        // TX power override
        // Tx: Set PA trim to max to maximize its output power (in ADI0, set PACTL0=0xF8)
        ADI_REG_OVERRIDE(0,12,0xF8),
        (uint32_t)0xFFFFFFFF
    };
    

    Are the overrides mandatory for the 500k PHY or mandatory for 802.15.4g? If I use the 500k PHY for 802.15.4 packets, what is the correct overrides to use?

    Best regards,

    Shuyang

  • IF you are going to use the 500 kbps PHY, you should use the exported settings from sysConfig for this PHY, and not use override lists etc from any other PHYs.

    sysConfig and SmartRF Studio uses the 802.15.4g packet format for this PHY, but this is not necessary.

    I recommend that you take a look at the rfDiagnostic and look at the radio.c file and the Radio_packetTx and Radio_packetRx function.

    Than you can see how packets are sent and received both if you want to use the the 802.14.5g format (being able to communicate with SmartRF Studio) or if you want to use the "standard" packet format (still using the advanced commands.)

    For 802.15.4g compliant code, look for code mark as:

    PhySettings_API_PROP +

    PhySettings_CMD_ADVANCED + 

    PhySettings_TEST_STUDIO_COMPL

    This is code for Advanced TX/RX commands for Proprietary PHy's used for testing towards SmartRF Studio.

    Settings imported from sysConfig uses a 2 bytes long header with an 11 bits long length "byte" (802.15.4g compliant). Packet header needs to contain info regarding whitening and CRC. Default here is whitening enabled and 2 bytes CRC. The payload is also being written to the packet LSB first

    For Standard packet format, look for code marked as:

    PhySettings_API_PROP +

    PhySettings_CMD_ADVANCED +

    PhySettings_TEST_RF_PERF

    This is code for Advanced TX command for Proprietary Phy's used for RF performance testing (or prop. protocols not needing 802.15.4g)
    The packet format is altered compared to what is imported from sysConfig, to utilize "standard" packet format with a 8 bits length field following the sync word

    Siri

  • Hi Siri,

    Thanks for the details. My question is if I want to use the 500k PHY to send "normal" packets (not 802.15.4g), should I use the all the overrides from the SmartRF Studio?

    The reason I'm asking this is that I am not sure if some of these overrides are necessary for 802.15.4g, or they are irrelavant with the packet format (802.15.4 or 802.15.4g) used.

    Also, can I use the CMD_PROP_TX and CMD_PROP_RX instead of the advanced commands?

    Regards,

    Shuyang

  • You need to use the setup and overrides for the PHY you want to use (500k PHY), as this sets the RF parameters, and then you configure the TX and RX command to accommodate your packet format. You can use both the normal RX/TX and the advanced RX/TX, depending on how you want your packet format to look like.