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: CC1352P1 Frequency of operation

Part Number: CC1352P


Hello,

I have a pair of LAUNCHXL-cc1352P1. I want to operate both, one TX and one RX at 1090GHz, using exactly the same configuration. While TX is working fine, and even beyond 1090GHz, the RX is working until 1080 GHz and then stops. I tried both smartrf settings and changing the code from CCS. Exactly the same. Is there any setting, maybe frequency synthesizer, where I can get the RX be working at 1090GHZ? 

Below the code from smartrf_serrings.

Thank you

//*********************************************************************************

// Generated by SmartRF Studio version 2.29.0 (build#383)

// The applied template is compatible with cc13x2_26x2 SDK version 2.30.xx.xx or newer.

// Device: CC1352P Rev. E (2.1).

//

//*********************************************************************************

//*********************************************************************************

// Parameter summary

// RX Address0: 0xAA

// RX Address1: 0xBB

// RX Address Mode: No address check

// Frequency: 1090.00000 MHz

// Data Format: Serial mode disable

// Deviation: 350.000 kHz

// Packet Length Config: Variable

// Max Packet Length: 255

// Packet Length: 20

// Packet Data: 255

// Preamble Count: 4 Bytes

// Preamble Mode: Send 0 as the first preamble bit

// RX Filter BW: 2185.1 kHz

// Symbol Rate: 1000.00000 kBaud

// Sync Word: 0x930b51de

// Sync Word Length: 32 Bits

// TX Power: 13 dBm

// Enable high output power PA: true

// Whitening: No whitening

#include "smartrf_settings.h"

#include DeviceFamily_constructPath(rf_patches/rf_patch_cpe_prop.h)

// TI-RTOS RF Mode Object

RF_Mode RF_prop =

{

.rfMode = RF_MODE_AUTO,

.cpePatchFxn = &rf_patch_cpe_prop,

.mcePatchFxn = 0,

.rfePatchFxn = 0

};

// 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,

// Rx: Set LNA Ib boost

ADI_HALFREG_OVERRIDE(0,5,0xF,0x2),

// 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),

// TX: set intFreq = 0

(uint32_t)0x00000343,

// 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

// Set RF_FSCA.ANADIV.DIV_SEL_BIAS = 1. Bits [0:16, 24, 30] are don't care..

(uint32_t)0x4001405D,

// Set RF_FSCA.ANADIV.DIV_SEL_BIAS = 1. Bits [0:16, 24, 30] are don't care..

(uint32_t)0x08141131,

(uint32_t)0xFFFFFFFF

};

// Overrides for CMD_PROP_RADIO_DIV_SETUP_PA

uint32_t pOverridesTxStd[] =

{

// The TX Power element should always be the first in the list

TX_STD_POWER_OVERRIDE(0x003F),

// The ANADIV radio parameter based on the LO divider (0) and front-end (0) settings

(uint32_t)0x11310703,

// override_phy_tx_pa_ramp_genfsk_std.xml

// Tx: Configure PA ramping, set wait time before turning off (0x1A ticks of 16/24 us = 17.3 us).

HW_REG_OVERRIDE(0x6028,0x001A),

// Set TXRX pin to 0 in RX and high impedance in idle/TX.

HW_REG_OVERRIDE(0x60A8,0x0401),

(uint32_t)0xFFFFFFFF

};

// Overrides for CMD_PROP_RADIO_DIV_SETUP_PA

uint32_t pOverridesTx20[] =

{

// The TX Power element should always be the first in the list

TX20_POWER_OVERRIDE(),

// The ANADIV radio parameter based on the LO divider (0) and front-end (0) settings

(uint32_t)0x11C10703,

// override_phy_tx_pa_ramp_genfsk_hpa.xml

// Tx: Configure PA ramping, set wait time before turning off (0x1F ticks of 16/24 us = 20.3 us).

HW_REG_OVERRIDE(0x6028,0x001F),

// Set TXRX pin to 0 in RX/TX and high impedance in idle.

HW_REG_OVERRIDE(0x60A8,0x0001),

(uint32_t)0xFFFFFFFF

};

// CMD_PROP_RADIO_DIV_SETUP_PA

// Proprietary Mode Radio Setup Command for All Frequency Bands

rfc_CMD_PROP_RADIO_DIV_SETUP_PA_t RF_cmdPropRadioDivSetup =

{

.commandNo = 0x3807,

.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 = 0x1,

.modulation.deviation = 0x578,

.modulation.deviationStepSz = 0x0,

.symbolRate.preScale = 0xF,

.symbolRate.rateWord = 0xA0000,

.symbolRate.decimMode = 0x0,

.rxBw = 0x64,

.preamConf.nPreamBytes = 0x4,

.preamConf.preamMode = 0x0,

.formatConf.nSwBits = 0x20,

.formatConf.bBitReversal = 0x0,

.formatConf.bMsbFirst = 0x1,

.formatConf.fecMode = 0x0,

.formatConf.whitenMode = 0x0,

.config.frontEndMode = 0x0,

.config.biasMode = 0x1,

.config.analogCfgMode = 0x0,

.config.bNoFsPowerUp = 0x0,

.config.bSynthNarrowBand = 0x0,

.txPower = 0x003F,

.pRegOverride = pOverrides,

.centerFreq = 0x0442,

.intFreq = 0x0D99,

.loDivider = 0x05,

.pRegOverrideTxStd = pOverridesTxStd,

.pRegOverrideTx20 = pOverridesTx20

};

// CMD_FS

// Frequency Synthesizer Programming Command

rfc_CMD_FS_t RF_cmdFs =

{

.commandNo = 0x0803,

.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,

.frequency = 0x0442,

.fractFreq = 0x0000,

.synthConf.bTxMode = 0x0,

.synthConf.refFreq = 0x0,

.__dummy0 = 0x00,

.__dummy1 = 0x00,

.__dummy2 = 0x00,

.__dummy3 = 0x0000

};

// CMD_PROP_RX

// Proprietary Mode Receive Command

rfc_CMD_PROP_RX_t RF_cmdPropRx =

{

.commandNo = 0x3802,

.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,

.pktConf.bFsOff = 0x0,

.pktConf.bRepeatOk = 0x0,

.pktConf.bRepeatNok = 0x0,

.pktConf.bUseCrc = 0x1,

.pktConf.bVarLen = 0x1,

.pktConf.bChkAddress = 0x0,

.pktConf.endType = 0x0,

.pktConf.filterOp = 0x0,

.rxConf.bAutoFlushIgnored = 0x0,

.rxConf.bAutoFlushCrcErr = 0x0,

.rxConf.bIncludeHdr = 0x1,

.rxConf.bIncludeCrc = 0x0,

.rxConf.bAppendRssi = 0x0,

.rxConf.bAppendTimestamp = 0x0,

.rxConf.bAppendStatus = 0x1,

.syncWord = 0x930B51DE,

.maxPktLen = 0xFF,

.address0 = 0xAA,

.address1 = 0xBB,

.endTrigger.triggerType = 0x1,

.endTrigger.bEnaCmd = 0x0,

.endTrigger.triggerNo = 0x0,

.endTrigger.pastTrig = 0x0,

.endTime = 0x00000000,

.pQueue = 0, // INSERT APPLICABLE POINTER: (dataQueue_t*)&xxx

.pOutput = 0 // INSERT APPLICABLE POINTER: (uint8_t*)&xxx

};

// CMD_PROP_TX

// Proprietary Mode Transmit Command

rfc_CMD_PROP_TX_t RF_cmdPropTx =

{

.commandNo = 0x3801,

.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,

.pktConf.bFsOff = 0x0,

.pktConf.bUseCrc = 0x1,

.pktConf.bVarLen = 0x1,

.pktLen = 0x14,

.syncWord = 0x930B51DE,

.pPkt = 0 // INSERT APPLICABLE POINTER: (uint8_t*)&xxx

};