ZHCAB36 December 2020 CC1310 , CC1312PSIP , CC1312R , CC1350 , CC1352P , CC1352P7 , CC1352R
为了在接收链中获得所需的动态范围,使用了自动增益控制 (AGC)功能。接收链中的增益根据输入电平进行调节。进入 RX 时,增益始终设置为最大值,然后根据输入电平来调节增益。AGC_REF 设置输入信号电平,AGC 据此将增益设置为最大值以外的某个值。
过高的 AGC_REF 会降低阻断性能,而过低的值会使残留 BER 增大。
对于 CC13x0,通过以下覆盖项来设置 AGC_REF 电平:
HW_REG_OVERRIDE(0x6088,0xYYXX),其中最后一个字节 (0xXX) 是所需的 AGC_REF。YY 用于设置 PA 升降,第 9 章对此进行了介绍。
对于 CC13x2,通过以下覆盖项来设置 AGC_REF 电平:
HW_REG_OVERRIDE(0x609C,0x00XX),其中最后一个字节是所需的 AGC_REF。
应执行以下步骤来设置 AGC_REF 电平:
可以使用一条命令来读出增益:
Rfc_CMD_READ_RFREG_t cmdreadRXgain = {
.commandNo = 0x0601,
.address = (0x40046094 & 0xFFFF),
.value = 0,
};
对于 CC13x0,.address 字段是 0x40046080;对于 CC13x2,该字段是 0x40049094。
使用以下命令永久设置 RX 中的芯片:
/* 进入 RX 模式并永远停留在 RX 中 */
RF_EventMask terminationReason = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdRxTest,
RF_PrioritNormal, 0,
RF_EventRxEntryDone);
可以通过以下命令使用时钟事件或类似的事件以给定的时间间隔读出增益:
RF_runImmediateCmd(rfHandle, (uint32_t*)&cmdreadRXgain);
应将 AGC_REF 电平设置为比灵敏度限值高 7-8dB。若要验证新的 AGC_REF 电平,必须测量 PER 随电平变动的情况。生成的曲线不应具有高于灵敏度限值的残留 PER。换而言之,对于约为 3dB 或高于灵敏度限值的所有输入电平,PER 应为 0%。