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.

[参考译文] CC1310:添加了 PA、单端模式

Guru**** 2540720 points
Other Parts Discussed in Thread: CC1190

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/592988/cc1310-added-pa-single-ended-mode

器件型号:CC1310
主题中讨论的其他器件:CC1190

根据该参考设计、增加 PA、发送和接收所有需要放大的内容、如何在 程序中动态切换 RFP、RFN  
0x01:单端模式 RFP
0x02:单端模式 RFN
切换为发送和接收修改 EasyLink_cmdPropRadioSetup.divSetup.frontEndMode 寄存器的时间
发送配置命令
RF_CmdHandle CMD = RF_postCmd (rfHandle、(RF_OP*)&EasyLink_cmdPropRadioSetup.DIVSetup)、
/// RF_PriorityNormal、0、EasyLink_RF_EVENT_MASK);
可以接收数据、切换为不发送数据

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不确定我是否理解您的问题。

    以下情况是否正确?
    -您有一个单端设计、其中使用 RFN 作为 Rx 路径、使用 RFP 作为 Tx 路径(或其他方式)
    -您可以接收但不能发送

    请发布您从 RFP 切换到 RFN 的代码路径、然后再次返回。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup_FSK_433_t =

    .commandNo = 0x3807、
    .status = 0x0000、
    .pNextOp = 0、//插入适用的指针:(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 = 0x64、
    symbolRate.prescale = 0xF、
    symbolRate.rateWord = 0x8000、
    .rxBw = 0x24、
    .PreambBytes = 0x4、
    .Conf.前置 放大器模式= 0x0、
    .formatConf.nSwBits = 0x20、
    .formatConf.bBitVersal = 0x0、
    .formatConf.bMsbFirst = 0x1、
    formatConf.fecMode = 0x0、
    formatConf.whitenMode = 0x0、
    .config.frontEndMode = 0x02、
    config.biasMode = 0x00、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    TxPower = 0x003F、
    .pRegOverride = pOverrides、
    .centerFreq = 0x01B1、
    .intFreq = 0x8000、
    .loDivider = 0x0A、
    };

    RFC_CMD_PROP_RADIO_DIV_SETUP_t RF_cmdPropRadioDivSetup_FSK_433_r =

    .commandNo = 0x3807、
    .status = 0x0000、
    .pNextOp = 0、//插入适用的指针:(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 = 0x64、
    symbolRate.prescale = 0xF、
    symbolRate.rateWord = 0x8000、
    .rxBw = 0x24、
    .PreambBytes = 0x4、
    .Conf.前置 放大器模式= 0x0、
    .formatConf.nSwBits = 0x20、
    .formatConf.bBitVersal = 0x0、
    .formatConf.bMsbFirst = 0x1、
    formatConf.fecMode = 0x0、
    formatConf.whitenMode = 0x0、
    .config.frontEndMode = 0x01、
    config.biasMode = 0x00、
    config.analogCfgMode = 0x0、
    config.bNoFsPowerUp = 0x0、
    TxPower = 0x003F、//0x003F、
    .pRegOverride = pOverrides、
    .centerFreq = 0x01B1、
    .intFreq = 0x8000、
    .loDivider = 0x0A、
    };

    EasyLink_Status EasyLink_PA_Rx (空)


    EasyLink_Status 状态= EasyLink_Status_Cmd_Error;
    RF_Close (rfHandle);

    memcpy (&EasyLink_cmdPropRadioSetup.divSetup、&RF_cmdPropDivSetup_FSK_433_r、sizeof (RFC_CMD_PROP_RADIO_DIV_Setup_t));
    rfHandle = rf_open (&rfObject、&EasyLink_rf_prop、
    (RF_RadioSetup*)&EasyLink_cmdPropRadioSetup.setup、&rfParams);  
    //设置频率

    rf_EventMask result=rf_runCmd (rfHandle、(rf_Op*)&EasyLink_cmdF、rf_PriorityNormal、0、//asyncCmd Callback、
    EasyLink_RF_EVENT_MASK);

    IF (Result & RF_EventLastCmdDone)

    状态= EasyLink_Status_Success;

    返回 状态;

    EasyLink_Status EasyLink_PA_TX (空)


    EasyLink_Status 状态= EasyLink_Status_Cmd_Error;
    RF_Close (rfHandle);

    memcpy (&EasyLink_cmdPropRadioSetup.divSetup、&RF_cmdPropDivSetup_FSK_433_t、sizeof (RFC_CMD_PROP_RADIO_DIV_Setup_t));
    rfHandle = rf_open (&rfObject、&EasyLink_rf_prop、
    (RF_RadioSetup*)&EasyLink_cmdPropRadioSetup.setup、&rfParams);
    //设置频率

    rf_EventMask result=rf_runCmd (rfHandle、(rf_Op*)&EasyLink_cmdF、rf_PriorityNormal、0、//asyncCmd Callback、
    EasyLink_RF_EVENT_MASK);

    IF (Result & RF_EventLastCmdDone)

    状态= EasyLink_Status_Success;

    返回 状态;

    当我切换到 TX 时是正确的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在我查看开关之前、如果您只传输、它是否起作用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我仅传输,它起作用。您有示例, 动态切换 TX 和 Rx,如 CC1190,我找不到此示例

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    对于 EasyLink、rfWsnConcentrator 示例在接收数据包后发送一个 ACK。

    我在浏览您的代码、我看到您在发送 EasyLink_cmdF、但您没有显示从 Rx 切换到 Tx 的实际方式。 您是否在尝试切换时确保对讲机不在 Rx 中?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    现在,我可以接收和发送,、但 在 RF_runCmd 之后 必须延迟2ms。我不确定为什么 config reg 必须延迟