您好!
我的客户希望使用高级帧功能。 我们根据在 AWR1642 EVM 上进行测试的 SDK 1.0中的 MMW 演示更改了代码、发现了两个问题。
1我们发现帧中断在每个子帧触发、而不是在每个高级帧触发。 以下面的配置为例、我们预计每1024chirps 触发一次帧中断、但实际上根据我们在 EVM 上的测试、每个子帧触发一次帧中断、每512个线性调频脉冲触发一次帧中断。 您是否会帮助确认我们的测试是否正确? 以及如何使每个高级帧触发帧中断?
2我们只找到 了一个用于子帧周期配置的 subFramePeriodicity 参数、但未找到用于配置高级帧周期的参数。
客户的目标是将多个子帧组合为一个处理的高级帧、子帧间时间非常短、但需要为一个高级帧处理预留足够的时间。 您是否会帮助指导如何达到目标? 谢谢。
下面显示了我的代码更改。
1删除帧配置的代码、添加以下配置以进行高级帧配置;
/*通用广播帧配置*/
advFrameCfg->frameSeq.forceProfile = 1;// 1:强制配置文件,0:不强制配置文件
advFrameCfg->frameSeq.numFrames=0;//无限
advFrameCfg->frameSeq.triggerSelect = 1;//SW 触发器
advFrameCfg->frameSeq.frameTrigDelay= 0;
/*第一个子帧配置*/
advFrameCfg->frameSeq.subFrameCfg[0].forceProfileIdx = 0;
advFrameCfg->frameSeq.subFrameCfg[0].chirpStartIdx = 0;
advFrameCfg->frameSeq.subFrameCfg[0].numOfChirps = 512;
advFrameCfg->frameSeq.subFrameCfg[0].numLoops = 1;
advFrameCfg->frameSeq.subFrameCfg[0].numOfBurst = 1;
advFrameCfg->frameSeq.subFrameCfg[0].numOfBurstLoops = 1;
advFrameCfg->frameSeq.subFrameCfg[0].chirpStartIdxOffset= 0;
advFrameCfg->frameSeq.subFrameCfg[0].burstPeriodicity = 2400000;// 12 msec
advFrameCfg->frameSeq.subFrameCfg[0].subFramePeriodicity= 2400000;// 12msec
advFrameCfg->frameData.subframeDataCfg[0].numAdcSamples = 64*2;
advFrameCfg->frameData.subframeDataCfg[0].totalChirps = 512;
advFrameCfg->frameData.subframeDataCfg[0].numChirpsInDataPacket = 1;
numOfSubFrame++;
/*第二个子帧配置*/
advFrameCfg->frameSeq.subFrameCfg[1].forceProfileIdx = 0;
advFrameCfg->frameSeq.subFrameCfg[1].chirpStartIdx = 0;
advFrameCfg->frameSeq.subFrameCfg[1].numOfChirps = 512;
advFrameCfg->frameSeq.subFrameCfg[1].numLoops = 1;
advFrameCfg->frameSeq.subFrameCfg[1].numOfBurst = 1;
advFrameCfg->frameSeq.subFrameCfg[1].numOfBurstLoops = 1;
advFrameCfg->frameSeq.subFrameCfg[1].chirpStartIdxOffset= 0;
advFrameCfg->frameSeq.subFrameCfg[1].burstPeriodicity = 2400000;// 12msec
advFrameCfg->frameSeq.subFrameCfg[1].subFramePeriodicity= 2400000;// 12msec
advFrameCfg->frameData.subframeDataCfg[1].numAdcSamples = 64*2;
advFrameCfg->frameData.subframeDataCfg[1].totalChirps = 512;
advFrameCfg->frameData.subframeDataCfg[1].numChirpsInDataPacket = 1;
numOfSubFrame++;
advFrameCfg->frameSeq.numOfSubFrames = numOfSubFrame;
advFrameCfg->frameData.numSubFrames = numOfSubFrame;
2更改函数 MMWAVE_CONFIGLink、将 rlSetFrameConfig 替换为 rlSetAdvFrameConfig 以执行高级帧配置、然后重建 mmWave 库。
Andy