Other Parts Discussed in Thread: LAUNCHXL-CC1310, CC1310, CC1312R, UNIFLASH
We have a system running using the LAUNCHXL-CC1310. We now decided to move to the CC1312R1 as we will need BLE soon.
The CC1312R1 is now working, but there are a lot of transmission errors, where on the CC1310 we had none. I suspect the RF radio is not setup correctly.
The setup on the CC1310 uses the following:
<Devicename>CC1310_PG21</Devicename>
<Description>Saved configuration data</Description>
<Patch>
<Define>RF_MODE_PROPRIETARY_SUB_1</Define>
<Cpe>rf_patch_cpe_genfsk</Cpe>
<Mce></Mce>
<Rfe>rf_patch_rfe_genfsk</Rfe>
</Patch>
<Command name="CMD_PROP_RADIO_DIV_SETUP">
<Field name="commandNo">0x00003807</Field>
<Field name="status">0x00000000</Field>
<Field name="pNextOp">0x00000000</Field>
<Field name="startTime">0x00000000</Field>
<Field name="startTrigger">0x00000000</Field>
<Field name="condition">0x00000001</Field>
<Field name="modulation">0x00000321</Field>
<Field name="symbolRate">0x0080000f</Field>
<Field name="rxBw">0x00000024</Field>
<Field name="preamConf">0x00000004</Field>
<Field name="formatConf">0x000000a0</Field>
<Field name="config">0x00000008</Field>
<Field name="txPower">0x0000a73f</Field>
<Field name="pRegOverride">0x00000000</Field>
<Field name="centerFreq">0x00000364</Field>
<Field name="intFreq">0x00008000</Field>
<Field name="loDivider">0x00000005</Field>
<OverrideField name="pRegOverride">
<OverrideBuffer name="override_use_patch_prop_genfsk.xml">
<Element32b>MCE_RFE_OVERRIDE(0,4,0,1,0,0)</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_synth_prop_863_930_div5.xml">
<Element32b>HW_REG_OVERRIDE(0x4038,0x0037)</Element32b>
<Element32b>0x000684A3</Element32b>
<Element32b>HW_REG_OVERRIDE(0x4020,0x7F00)</Element32b>
<Element32b>HW_REG_OVERRIDE(0x4064,0x0040)</Element32b>
<Element32b>0xB1070503</Element32b>
<Element32b>0x05330523</Element32b>
<Element32b>0x0A480583</Element32b>
<Element32b>0x7AB80603</Element32b>
<Element32b>ADI_REG_OVERRIDE(1,4,0x9F)</Element32b>
<Element32b>ADI_HALFREG_OVERRIDE(1,7,0x4,0x4)</Element32b>
<Element32b>0x02010403</Element32b>
<Element32b>0x00108463</Element32b>
<Element32b>0x04B00243</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_phy_rx_aaf_bw_0xd.xml">
<Element32b>ADI_HALFREG_OVERRIDE(0,61,0xF,0xD)</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_phy_gfsk_rx.xml">
<Element32b>0x00038883</Element32b>
<Element32b>HW_REG_OVERRIDE(0x6084,0x35F1)</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_phy_gfsk_pa_ramp_agc_reflevel_0x1a.xml">
<Element32b>HW_REG_OVERRIDE(0x6088,0x411A)</Element32b>
<Element32b>HW_REG_OVERRIDE(0x608C,0x8213)</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_phy_rx_rssi_offset_5db.xml">
<Element32b>0x00FB88A3</Element32b>
</OverrideBuffer>
<OverrideBuffer name="TX power override">
<Element32b>ADI_REG_OVERRIDE(0,12,0xF8)</Element32b>
</OverrideBuffer>
</OverrideField>
</Command>
The ccfg file has not been changed.
On the CC1312R1 the following setup is used:
<Devicename>CC1312R_PG21</Devicename>
<Description>Saved configuration data</Description>
<Patch>
<Define>RF_MODE_AUTO</Define>
<Cpe>rf_patch_cpe_prop</Cpe>
<Mce></Mce>
<Rfe></Rfe>
</Patch>
<Command name="CMD_PROP_RADIO_DIV_SETUP">
<Field name="commandNo">0x00003807</Field>
<Field name="status">0x00000000</Field>
<Field name="pNextOp">0x00000000</Field>
<Field name="startTime">0x00000000</Field>
<Field name="startTrigger">0x00000000</Field>
<Field name="condition">0x00000001</Field>
<Field name="modulation">0x00000321</Field>
<Field name="symbolRate">0x0080000f</Field>
<Field name="rxBw">0x00000052</Field>
<Field name="preamConf">0x00000004</Field>
<Field name="formatConf">0x000000a0</Field>
<Field name="config">0x00000008</Field>
<Field name="txPower">0x0000013f</Field>
<Field name="pRegOverride">0x00000000</Field>
<Field name="centerFreq">0x00000364</Field>
<Field name="intFreq">0x00008000</Field>
<Field name="loDivider">0x00000005</Field>
<OverrideField name="pRegOverride">
<OverrideBuffer name="override_prop_common.xml">
<Element32b>0x00F788D3</Element32b>
</OverrideBuffer>
<OverrideBuffer name="override_tc106.xml">
<Element32b>ADI_2HALFREG_OVERRIDE(0,16,0x8,0x8,17,0x1,0x1)</Element32b>
<Element32b>HW_REG_OVERRIDE(0x609C,0x001A)</Element32b>
<Element32b>0x000188A3</Element32b>
<Element32b>ADI_HALFREG_OVERRIDE(0,61,0xF,0xD)</Element32b>
<Element32b>HW_REG_OVERRIDE(0x6028,0x001A)</Element32b>
</OverrideBuffer>
<OverrideBuffer name="TX power override">
<Element32b>ADI_REG_OVERRIDE(0,12,0xF8)</Element32b>
</OverrideBuffer>
</OverrideField>
</Command>
The ccfg file is unchanged. With this setup we get a lot of 'missed' messages/transmissions. The application coded is the same for both CC1310 and 1312.
I then changed the ccfg file of the CC1312R1 with the following (to be the same as for the CC1310):
#define SET_CCFG_MODE_CONF_1_ALT_DCDC_DITHER_EN 0x1 // Dithering enabled
#define SET_CCFG_MODE_CONF_XOSC_FREQ 0x3 // HF source is a 24 MHz xtal (default on x0 chips)
#define SET_CCFG_CCFG_TAP_DAP_0_PWRPROF_TAP_ENABLE 0x00 // Access disabled
#define SET_CCFG_CCFG_TAP_DAP_0_TEST_TAP_ENABLE 0xC5 // Access enabled if also enabled in FCFG
After flashing the application is in constant reset. Worst of all, now I can't connect to the device as the XDS110 debugger now seems to be 'buggered'.
I just get the following error:
This error is generated by TI's USCIF driver or utilities.
The value is '-241' (0xffffff0f).
The title is 'SC_ERR_ROUTER_SECURE_SUBPATH'.
The explanation is:
A router subpath could not be accessed.
A security error has probably occurred.
Make sure your device is unlocked.
I have tried to reset everything using SmartRF Flash Programmer2, UNIFLASH and CCSV8 (8.3). No luck.
I now have 2 questions:
1. How can I set up the CC1312R1 RF radio to be the same as the CC1310? - MOST IMPORTANT.
2. How can I get access to the CC1312r1 board again? (Reset XDS110, force-erase, etc.).
Any help will be appreciated.