TI中文支持网
TI专业的中文技术问题搜集分享网站

LP-CC2652R7: Proprietary RF Radio调频需要多长时间?什么方法能最快的调频?在200us内

Part Number:LP-CC2652R7

我们的应用场景是用Proprietary RF Radio 在2.4 G频段

快速跳频如在2401到2408 ,使用命令为:

int JumpChannel(RF_Handle rfHandle,uint8_t channel,rfc_CMD_FS_t* pCmdFs){if(channel < 1 || channel>80){printf("CHN err:%d\n",channel);return -1;}pCmdFs->status = 0;pCmdFs->startTrigger.triggerType = TRIG_NOW;pCmdFs->startTrigger.pastTrig= 1;//A trigger in the past is triggered as soon as possible// pCmdFs->synthConf.bTxMode= 1;//Start synth in TX modepCmdFs->frequency= 2400 + channel;//The frequency in MHz to tune to.pCmdFs->fractFreq= 0 ;

	uint32_t start_tm = RF_getCurrentTime();RF_EventMask result = RF_runCmd(rfHandle, (RF_Op*)pCmdFs,RF_PriorityNormal, NULL, RF_EventLastCmdDone);if(result != RF_EventLastCmdDone){RF_printRunCmdResult(result);return -1;}uint32_t diff = RF_getCurrentTime() - end_tm;return 0;
}

输出为:

JMP TO CHN:67 use 580 us
JMP TO CHN:68 use 550 us
JMP TO CHN:69 use 580 us
JMP TO CHN:70 use 580 us
JMP TO CHN:71 use 580 us
JMP TO CHN:72 use 580 us
JMP TO CHN:73 use 580 us
JMP TO CHN:74 use 611 us
JMP TO CHN:75 use 550 us
JMP TO CHN:76 use 580 us
JMP TO CHN:77 use 580 us
JMP TO CHN:78 use 580 us
JMP TO CHN:79 use 580 us
JMP TO CHN:80 use 580 us

这个速度达不到系统要求,

想问一下是不是有什么快速切换频率的命令。

Alex Zhang:

您好,我需要花一些时间来跟进您这边的问题,谢谢

,

Bright Z:

谢谢您的回复,另就是我在看SDK的代码发现有一个ImmediateCmd :CMD_MODIFY_FS

int ModifyChannel(RF_Handle rfHandle,uint8_t channel){rfc_CMD_MODIFY_FS_t cmdModifyFs ={.commandNo = CMD_MODIFY_FS,.frequency = 2400 + channel,.fractFreq = 0};uint32_t start_tm = RF_getCurrentTime();RF_Stat status = RF_runImmediateCmd(rfHandle, (uint32_t*)&cmdModifyFs);if(RF_StatSuccess == status){uint32_t diff = RF_getCurrentTime() - start_tm;printf("Modify TO CHN:%d use %d us\n",channel,(diff+3)/4);}else{RF_printCmdStat(status);}return (int)status;
}

我尝试了一下如上面的代码,系统老是返回:RF_StatInvalidParamsError,

想问一下这个命令执行前提是什么?是RF_postCmd RX或TX后异步执行?

希望您能指导一下。

,

Alex Zhang:

RF_getCurrentTime 以每微秒 4 个滴答或 0.25 微秒返回 无线电定时器 (RAT) 操作,这需要在计算中考虑在内(除以 4 以获得微秒单位)

在更改频道之前取消所有现有/排队的 RF 命令。
RF_cancelCmd 和 RF_flushCmd 应该足以中止任何 RF 活动。
RF_pendCmd 将返回 RF_EventCmdCancelled、RF_EventCmdAborted 或 RF_EventCmdStopped,具体取决于调用取消/刷新之前命令的状态。
如果没有为频率合成器保留足够的时间来完成更改,则可能会出现无线电问题。RF_yield 必须用于关闭 RF 内核以在其唤醒后强制执行新的设置命令。

只有第一个RF句柄完全关闭后,才能 使用CMD_FS命令改变频道

以下是指向RFCC26X2.h和Rf_driver的 rflib API 的链接,这是一个相关的 E2E 帖子,其中包含建议的切换方法:https://e2e.ti.com/f/1/t/1124734

,

Alex Zhang:

您好,新的问题,请您这边从新发帖,便于我们这边论坛的管理,以及大家的二次检索,谢谢

,

Bright Z:

谢谢您的回复

在计算跳频所需的时间是除以 4了
我们的测试用例 仅仅是更改RF频率,可以保证队列中没有其它RF命令
执行命令是使用的RF_runCmd  其应该是可以保证命令同步执行完成的。

我想知道单从芯片特性来讲,切换一次频率(正确的操作方式)所使用的时间,其min  和 max  值分别是多少?您这边有相关的数据吗?

,

Bright Z:

2401Mhz – 2480Mhz每1m 为一个channel , 理论上能实现200us内随机channel调频吗? 

,

Alex Zhang:

这些链接以及文档您这边参考 了吗?

关于您的问题,我需要一些时间来回复您,稍等一下

,

Alex Zhang:

TI不描述频率变化延迟。 涉及所用PHY,所选数据速率和晶体稳定性的因素多种多样。 我们鼓励客户使用上述说明评估其设置。

赞(0)
未经允许不得转载:TI中文支持网 » LP-CC2652R7: Proprietary RF Radio调频需要多长时间?什么方法能最快的调频?在200us内
分享到: 更多 (0)