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.

CCS/AWR1642: CAPTURE

Part Number: AWR1642

Tool/software: Code Composer Studio

In ti/drivers/test/mem_capture,

Q1:

I want to use two tx and four rx to get angle information. (TDM-MIMO)

I refer to the configuration in 'profile_2d' which has two sets of chirpCfg.

So I tried to modify MemCapture_initLinkChirpCfgParams in mss.c as follows:

static void MemCapture_initLinkChirpCfgParams (rlChirpCfg_t* ptrChirpCfg)
{
/* Initialize the chirp configuration: */
memset ((void *)ptrChirpCfg, 0, sizeof(rlChirpCfg_t));

/* Populate the chirp configuration: */
ptrChirpCfg->chirpStartIdx = 0U;
ptrChirpCfg->chirpEndIdx = 0U;
ptrChirpCfg->profileId = 0U;
ptrChirpCfg->startFreqVar = (uint32_t)(0U * (1U << 26) / 3.6e9);
ptrChirpCfg->freqSlopeVar = (uint16_t)(0U * (1U << 26) / (3.6e6 * 900.0));
ptrChirpCfg->idleTimeVar = (uint32_t)(0U * 1000 / 10);
ptrChirpCfg->adcStartTimeVar = (uint32_t)(0U * 1000 / 10);
ptrChirpCfg->txEnable = 1U;

ptrChirpCfg->chirpStartIdx = 1U;
ptrChirpCfg->chirpEndIdx = 1U;
ptrChirpCfg->profileId = 0U;
ptrChirpCfg->startFreqVar = (uint32_t)(0U * (1U << 26) / 3.6e9);
ptrChirpCfg->freqSlopeVar = (uint16_t)(0U * (1U << 26) / (3.6e6 * 900.0));
ptrChirpCfg->idleTimeVar = (uint32_t)(0U * 1000 / 10);
ptrChirpCfg->adcStartTimeVar = (uint32_t)(0U * 1000 / 10);
ptrChirpCfg->txEnable = 2U;

}

But this is wrong.I want to know how I can change the code to configure two tx chirps to meet TDM-MIMO?

Q2:

i know the format of data (AWR1642) is non-interleaved,this picture is 1tx.4rx:

but if i use 2tx and 4rx,What is the format of the storage?

This is my understanding:

RX0-I(0)       (TX0)
RX0-Q(0)      (TX0)
RX0-I(0)       (TX1)
RX0-Q(0)      (TX1)
RX0-I(1)       (TX0)
RX0-Q(1)      (TX0)
RX0-I(1)       (TX1)
RX0-Q(1)      (TX1)
RX0-I(2)       (TX0)
RX0-Q(2)      (TX0)
RX0-I(2)       (TX1)
RX0-Q(2)      (TX1)
RX1-I(0)       (TX0)
RX1-Q(0)      (TX0)
RX1-I(0)       (TX1)
RX1-Q(0)      (TX1)
RX1-I(1)       (TX0)
RX1-Q(1)      (TX0)
RX1-I(1)       (TX1)
RX1-Q(1)      (TX1)

Is my understanding correct?

Thanks

  • Hi,

    We're checking and will get back to you on Wednesday.

    Best Regards,
    Anand
  • Hello Wei Liu,

    A1:  For TDM MOMO, you will need to configure 2 chirps that have the same profile. You seem to have configured the chirps right. Why do you think this is wrong?

    A2: Below is the snapshot for interleaved and non-interleaved data format 

    non-interleaved

    Interleaved 

    Let me know if this clears your doubt.

    Thanks,

    Raghu

  • in ti/drivers/test/mem_capture:

    For Q1:
    I have tried this way to configure and perform data collection, but I have an error, as follows:

    and these are my code:

    static void MemCapture_initLinkChirpCfgParams (rlChirpCfg_t* ptrChirpCfg)

    {

       /* Initialize the chirp configuration: */

       memset ((void *)ptrChirpCfg, 0, sizeof(rlChirpCfg_t));

     

       /* Populate the chirp configuration: */

       ptrChirpCfg->chirpStartIdx   = 0U;

       ptrChirpCfg->chirpEndIdx     = 0U;

       ptrChirpCfg->profileId       = 0U;

       ptrChirpCfg->startFreqVar   = (uint32_t)(0U * (1U << 26) / 3.6e9);

       ptrChirpCfg->freqSlopeVar   = (uint16_t)(0U * (1U << 26) / (3.6e6 * 900.0));

     ptrChirpCfg->idleTimeVar     = (uint32_t)(0U * 1000 / 10);

       ptrChirpCfg->adcStartTimeVar = (uint32_t)(0U * 1000 / 10);

    ptrChirpCfg->txEnable       = 1U;

       ptrChirpCfg->chirpStartIdx   = 1U;

       ptrChirpCfg->chirpEndIdx     = 1U;

       ptrChirpCfg->profileId       = 0U;

       ptrChirpCfg->startFreqVar   = (uint32_t)(0U * (1U << 26) / 3.6e9);

       ptrChirpCfg->freqSlopeVar   = (uint16_t)(0U * (1U << 26) / (3.6e6 * 900.0));

       ptrChirpCfg->idleTimeVar     = (uint32_t)(0U * 1000 / 10);

       ptrChirpCfg->adcStartTimeVar = (uint32_t)(0U * 1000 / 10);

       ptrChirpCfg->txEnable       = 2U;

    }

    static void MemCapture_initLinkFrameParams (rlFrameCfg_t* ptrFrameCfg)

    {

       /* Populate the frame configuration: */

       ptrFrameCfg->chirpStartIdx     = 0U;

       ptrFrameCfg->chirpEndIdx       = 1U;

       ptrFrameCfg->numLoops           = 128;//

       ptrFrameCfg->numFrames         = 1;

       ptrFrameCfg->framePeriodicity   = (uint32_t)(100 * 1000000 / 5);

       ptrFrameCfg->triggerSelect     = 1U;

       ptrFrameCfg->frameTriggerDelay = (uint32_t)(0 * 1000000 / 5);

    }

    static void MemCapture_initMMWaveOpenParams (MMWave_OpenCfg* ptrOpenCfg)

    {

       /* Initialize the open configuration: */

       memset ((void*)ptrOpenCfg, 0, sizeof(MMWave_OpenCfg));

     

       /* Populate the open configuration: */

       ptrOpenCfg->freqLimitLow                       = 760U;

       ptrOpenCfg->freqLimitHigh                       = 810U;

       ptrOpenCfg->chCfg.rxChannelEn                   = 0xFU;//Enable RX Channel 0,1,2,3

       ptrOpenCfg->chCfg.txChannelEn                   = 0x3U;//Enable TX Channel 0,1

       ptrOpenCfg->chCfg.cascading                     = 0U;

       ptrOpenCfg->lowPowerMode.lpAdcMode             = 1U;

       ptrOpenCfg->adcOutCfg.fmt.b2AdcBits             = 2U;//16bit

       ptrOpenCfg->adcOutCfg.fmt.b2AdcOutFmt           = 2U;//Complex with Image band

       ptrOpenCfg->disableFrameStartAsyncEvent         = false;

       ptrOpenCfg->disableFrameStopAsyncEvent         = false;

    }

    So I want to know if I have to modify other parts of the code?

    For Q2:

    You didn't understand my problem. I have read the message about non-interleaved fomat from 'xWR1xxx ADC Raw Data Capture' .So i have known the message that you post me.(You send the message which is about tx1,rx1)

    Now i want to use ti/drivers/test/mem_capture in tx2,rx4 mode. I want to know if i get the data from L3 , what format is it stored in?

    In addition, I want to know if the tx1,rx4 mode is used in mem_capture, is it stored in the same format as the non-interlaced mode you mentioned?

    Thanks