Hi,
We'd like to sequence the following chirp configuration in a cascaded AWR1243P design:
CHIRP1 x 512 TX0-MASTER ------> CHIRP2 x 512 TX1-SLAVE -----> CHIRP3 x 512 TX2-SLAVE
For example, master chirp configuration looks like:
if(deviceMap == 1U) { setChirpCfgArgs[0].chirpStartIdx = 0; setChirpCfgArgs[0].chirpEndIdx = 1; setChirpCfgArgs[0].profileId = 0; setChirpCfgArgs[0].startFreqVar = 0; setChirpCfgArgs[0].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[0].idleTimeVar = idleTimeVar; setChirpCfgArgs[0].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[0].txEnable = 1U; setChirpCfgArgs[1].chirpStartIdx = 1; setChirpCfgArgs[1].chirpEndIdx = 2; setChirpCfgArgs[1].profileId = 0; setChirpCfgArgs[1].startFreqVar = 0; setChirpCfgArgs[1].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[1].idleTimeVar = idleTimeVar; setChirpCfgArgs[1].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[1].txEnable = 1U; setChirpCfgArgs[2].chirpStartIdx = 2; setChirpCfgArgs[2].chirpEndIdx = 3; setChirpCfgArgs[2].profileId = 0; setChirpCfgArgs[2].startFreqVar = 0; setChirpCfgArgs[2].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[2].idleTimeVar = idleTimeVar; setChirpCfgArgs[2].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[2].txEnable = 0U; setChirpCfgArgs[3].chirpStartIdx = 3; setChirpCfgArgs[3].chirpEndIdx = 4; setChirpCfgArgs[3].profileId = 0; setChirpCfgArgs[3].startFreqVar = 0; setChirpCfgArgs[3].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[3].idleTimeVar = idleTimeVar; setChirpCfgArgs[3].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[3].txEnable = 0U; setChirpCfgArgs[4].chirpStartIdx = 4; setChirpCfgArgs[4].chirpEndIdx = 5; setChirpCfgArgs[4].profileId = 0; setChirpCfgArgs[4].startFreqVar = 0; setChirpCfgArgs[4].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[4].idleTimeVar = idleTimeVar; setChirpCfgArgs[4].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[4].txEnable = 0U; setChirpCfgArgs[5].chirpStartIdx = 5; setChirpCfgArgs[5].chirpEndIdx = 6; setChirpCfgArgs[5].profileId = 0; setChirpCfgArgs[5].startFreqVar = 0; setChirpCfgArgs[5].freqSlopeVar = freqSlopeVar; setChirpCfgArgs[5].idleTimeVar = idleTimeVar; setChirpCfgArgs[5].adcStartTimeVar = adcStartTimeVar; setChirpCfgArgs[5].txEnable = 0U
We have followed the advFrameCfg API where we loop 255 times every 2 unique -but identical- chirps. We are checking the LVDS valid signal (pin N14) but we only see the first subframe.
subFrameCfgArgs[0].forceProfileIdx = 0; subFrameCfgArgs[0].chirpStartIdx = 0; subFrameCfgArgs[0].numOfChirps = 2; subFrameCfgArgs[0].numLoops = 255; subFrameCfgArgs[0].burstPeriodicity = burstPeriodicity; subFrameCfgArgs[0].chirpStartIdxOffset = 0; subFrameCfgArgs[0].numOfBurst = 1; subFrameCfgArgs[0].numOfBurstLoops = 1; subFrameCfgArgs[0].subFramePeriodicity = subFramePeriodicity; subFrameCfgArgs[1].forceProfileIdx = 0; subFrameCfgArgs[1].chirpStartIdx = 2; subFrameCfgArgs[1].numOfChirps = 2; subFrameCfgArgs[1].numLoops = 255; subFrameCfgArgs[1].burstPeriodicity = burstPeriodicity; subFrameCfgArgs[1].chirpStartIdxOffset = 0; subFrameCfgArgs[1].numOfBurst = 1; subFrameCfgArgs[1].numOfBurstLoops = 1; subFrameCfgArgs[1].subFramePeriodicity = subFramePeriodicity; subFrameCfgArgs[2].forceProfileIdx = 0; subFrameCfgArgs[2].chirpStartIdx = 4; subFrameCfgArgs[2].numOfChirps = 2; subFrameCfgArgs[2].numLoops = 255; subFrameCfgArgs[2].burstPeriodicity = burstPeriodicity; subFrameCfgArgs[2].chirpStartIdxOffset = 0; subFrameCfgArgs[2].numOfBurst = 1; subFrameCfgArgs[2].numOfBurstLoops = 1; subFrameCfgArgs[2].subFramePeriodicity = subFramePeriodicity;
Is there any better approach to achieve that?
Thanks in advance.
M.