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.

CC1312R: Tuning the HF Oscillator /CAPARRAY_DELTA 寄存器方式修改

Part Number: CC1312R

#define SET_CCFG_MODE_CONF_XOSC_CAP_MOD 0x0 //0x1:Don't apply cap-array delta;0x0:apply cap-array delta
#define SET_CCFG_MODE_CONF_XOSC_CAPARRAY_DELTA 0xFA// Signed 8-bit value, directly modifying trimmed XOSC cap-array value

我需要去校准CC1312R的CW中心频率,通过修改 上面的 CAP_MOD及CAPARRAY_DELTA 定义可以实现CW 波形中心频率修改。

1、现在需要通过串口方式,传递CAPARRAY_DELTA 值进行修改CW 中心频率,如何实现?

2、修改CAPARRAY_DELTA值是否寄存器操作方式可以修改,或者修改完后,需要怎样怎样可输出CW波。

目前失败实现方式如下:

void TX_Cal_Test(uint8_t val)
{
uint8_t cal_val;
cal_val=val;
RF_Params rfParams;

HWREG(CCFG_BASE + 0x1FB4)=( HWREG(CCFG_BASE + 0x1FB4)&(~0x00020000)|(cal_val<<8));
RF_Params_init(&rfParams);
rfHandle = RF_open(&rfObject, &RF_prop, (RF_RadioSetup*)&RF_cmdPropRadioDivSetup, &rfParams);
RF_postCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, NULL, 0);
RF_cmdTxTest.endTime = 8000000;
RF_CmdHandle Tx_test=RF_postCmd(rfHandle, (RF_Op*)&RF_cmdTxTest, RF_PriorityNormal, NULL, 0);
}

通过上面代码,可以输出CW波,但是 中心频率不会改变。

  • 我们没有使用UART修改CAP ARRAY的示例,通过UART修改估计也不会生效

    输出CW波可以查看SDK 中的例程C:\ti\simplelink_cc13xx_cc26xx_sdk_5_30_01_01\examples\rtos\CC1312R1_LAUNCHXL\prop_rf\rfCarrierWave

  • 1、不用一定说要UART修改CAP ARRAY的示例,是否可以通过写寄存器或其他方式,可以将CAPARRAY_DELTA为变量方式进行传输,然后生效。

    2、目前使用的就是\CC1312R1_LAUNCHXL\prop_rf\rfCarrierWave 的例程,该例程中只能对

    #define SET_CCFG_MODE_CONF_XOSC_CAP_MOD 0x0 //0x1:Don't apply cap-array delta;0x0:apply cap-array delta
    #define SET_CCFG_MODE_CONF_XOSC_CAPARRAY_DELTA 0xFA// Signed 8-bit value, directly modifying trimmed XOSC cap-array value

    进行修改,然后会在CCFG.c中加载到flash中;我需要通过随时可以更改寄存器然后生效的方式,请问该如何操作。

  • 不能在程序中动态的修改寄存器然后生效,这样的操作在CC1312中不可用