Part Number:CC2652R
Tool/software: TI-RTOS
Dear sir:
At the moment,I used to take an CC2652R launchpad to monitoring other 2.4G devices which consisted of 2.4G transceiver chip and MCU(MSP430).Now,the radio parameter are as follows :
Data rate:100kb/s
Deviation:186KHz
Center frequency:2401.001MHz
Modulation mode:FSK
In order to obtain data,Configure CC2652 parameters based simplelink_cc26x2_sdk_2_20_00_36\examples\nortos\CC26X2R1_LAUNCHXL\drivers\rfPacketRx\iar\smartrf_settings.c as follows:
// TI-RTOS RF Mode Object
RF_Mode RF_prop =
{
.rfMode = RF_MODE_PROPRIETARY_2_4,
.cpePatchFxn = 0, //&rf_patch_cpe_genfsk,
.mcePatchFxn = 0, //&rf_patch_mce_genfsk,
.rfePatchFxn = 0, //&rf_patch_rfe_genfsk,
};
uint32_t shape[] = {0x00000000, 0x00000000, 0x00000000, 0x360c0100, 0xacaba076, 0xacacacac};
// Overrides for CMD_PROP_RADIO_SETUP
uint32_t pOverrides[] = {
// override_agama_48_mhz_crystal.xml
// Calculate the frequencies for synth based on 48MHz crystal (default is 24MHz).
(uint32_t)0x00400403,
// override_turn_off_dcdc_option.xml
// Set DCDCCTL5[3:0]=0x0, Turn off optimization of DCDC regulator in TX
(uint32_t)0x000088D3,
// Set DCDCCTL5[3:0]=0x0, Turn off optimization of DCDC regulator in RX
(uint32_t)0x000088C3,
(uint32_t)0xFFFFFFFF,
};
// CMD_PROP_RADIO_SETUP
rfc_CMD_PROP_RADIO_SETUP_t RF_cmdPropRadioDivSetup =
{
.commandNo = 0x3806,
.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 = 0x0, //FSK
.modulation.deviation = 744, // 186kHz
.symbolRate.preScale = 15,
.symbolRate.rateWord = 65536, //datarate = 100kb/s
.rxBw = 9,//7, //bandwidth = ?
.preamConf.nPreamBytes = 4,
.preamConf.preamMode = 0x0,
.formatConf.nSwBits = 32,
.formatConf.bBitReversal = 0x0,
.formatConf.bMsbFirst = 0x0,
.formatConf.fecMode = 0x0,
.formatConf.whitenMode = 0x0,
.config.frontEndMode = 0x0,
.config.biasMode = 0x0,
.config.analogCfgMode = 0x0,
.config.bNoFsPowerUp = 0x0,
.txPower = 0x9324,
.pRegOverride = pOverrides,
};
// CMD_FS
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 = 2401,
.fractFreq = 65, //center frequency=2401.001MHz
.synthConf.bTxMode = 1,
.synthConf.refFreq = 0x0,
};
// CMD_PROP_RX
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, //0: End operation after receiving a packet correctly. 1: Go back to sync search after receiving a packet correctly.
.pktConf.bRepeatNok = 0x0, //0: End operation after receiving a packet with CRC error. 1: Go back to sync search after receiving a packet with CRC error
.pktConf.bUseCrc = 0x0,
.pktConf.bVarLen = 0x0, //0: Fixed length 1: Receive length as first byte
.pktConf.bChkAddress = 0x0, //0: No address check 1: Check address
.pktConf.endType = 0x0, //0: Packet is received to the end if end trigger happens after sync is obtained. 1: Packet reception is stopped if end trigger happens
.pktConf.filterOp = 0x1, //0, //0: Stop receiver and restart sync search on address mismatch. 1: Receive packet and mark it as ignored on address mismatch.
.rxConf.bAutoFlushIgnored = 0x0,
.rxConf.bAutoFlushCrcErr = 0x0,
.rxConf.bIncludeHdr = 0x0, //If 1, include the received header or length byte in the stored packet; otherwise discard it
.rxConf.bIncludeCrc = 0x0,
.rxConf.bAppendRssi = 0x1,
.rxConf.bAppendTimestamp = 0x1,
.rxConf.bAppendStatus = 0x1,
.syncWord = 0x50410066,//0xD391D391,
.maxPktLen = 0, //0x7d, // MAKE SURE DATA ENTRY IS LARGE ENOUGH
.address0 = 0xaa,//0xaa,
.address1 = 0xbb,//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
};
The questions are as follows:
1、Smart Studio 2.12.0 has no the options of Proprietary Radio Mode, which is the version supported Proprietary Radio Mode for
CC2652R? if no , do you have documentation on how to manually modify these parameters?
2、Are the configuration parameters above set correctly? Especially .modulation.deviation 、 .symbolRate.preScale、 .symbolRate.rateWord and .rxBw ?
3、Because of the absent eww file for ti\tirtos_cc13xx_cc26xx_2_21_01_08\examples\IAR, How do IAR IDE use these routines?