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.

AWR2243: Invalid output when testsource enabled by external processor

Part Number: AWR2243


We are seeing nonsense output on CSI2 lanes when testsource is enabled by external processor. Here is the API called by the processor:

int MMWL_testSourceConfig(unsigned char deviceMap)
{
rlTestSource_t tsArgs = {0};
rlTestSourceEnable_t tsEnableArgs = {0};
int retVal = RL_RET_CODE_OK;
tsArgs.testObj[0].posX = 400;
tsArgs.testObj[0].posY = 300;
tsArgs.testObj[0].posZ = 0;
tsArgs.testObj[0].velX = 0;
tsArgs.testObj[0].velY = 0;
tsArgs.testObj[0].velZ = 0;
tsArgs.testObj[0].posXMin = -32700;
tsArgs.testObj[0].posYMin = 0;
tsArgs.testObj[0].posZMin = -32700;
tsArgs.testObj[0].posXMax = 32700;
tsArgs.testObj[0].posYMax = 32700;
tsArgs.testObj[0].posZMax = 32700;
tsArgs.testObj[0].sigLvl = 0;
tsArgs.testObj[1].posX = 32700;
tsArgs.testObj[1].posY = 32700;
tsArgs.testObj[1].posZ = 0;
tsArgs.testObj[1].velX = 0;
tsArgs.testObj[1].velY = 0;
tsArgs.testObj[1].velZ = 0;
tsArgs.testObj[1].posXMin = -32700;
tsArgs.testObj[1].posYMin = 0;
tsArgs.testObj[1].posZMin = -32700;
tsArgs.testObj[1].posXMax = 32700;
tsArgs.testObj[1].posYMax = 32700;
tsArgs.testObj[1].posZMax = 32700;
tsArgs.testObj[1].sigLvl = 0;
tsArgs.rxAntPos[0].antPosX = 0;
tsArgs.rxAntPos[0].antPosZ = 0;
tsArgs.rxAntPos[1].antPosX = 0;
tsArgs.rxAntPos[1].antPosZ = 0;
tsArgs.rxAntPos[2].antPosX = 0;
tsArgs.rxAntPos[2].antPosZ = 0;
tsArgs.rxAntPos[3].antPosX = 0;
tsArgs.rxAntPos[3].antPosZ = 0;
tsArgs.miscFunCtrl = 1;
retVal = rlSetTestSourceConfig(deviceMap, &tsArgs);
tsEnableArgs.tsEnable = 1U;
// tsEnableArgs.tsMode = 1U;
retVal = rlTestSourceEnable(deviceMap, &tsEnableArgs);
return retVal;
}

The output is supposed to be showing a target at R=5m. However the output data looks not to be matching the config. Also, we are not seeing any change in the output data when the x y z position of the target is changed in the API. The output seems to be fixed, regardless of the input.

  • Hi Daniel,

    Can you provide your range resolution and peak indices of the objects? Can you confirm that this is consistent with your actual test environment?

    We need to make sure that the test source has been configured properly. Can you also check if the retVal of both the Test source config and enable APIs are successful?

    Regards,

    Kaushik

  • Kaushik, 

    All return values are correct, for testsource as well as for the other APIs. Any wrong values will stop the entire sequence.
    As I said above, we don't see location of peaks changing when moving the objects via posX or posY in the testsource API.
    Also, our actual testing (testsource disabled) is not showing expected results. We are not seeing a relation between object location and the IF signal on MIPI lanes. This is why we switched to testsource to narrow down to the issue.

    As a reference, we also used a AWR2243+DCA with mmwavestudio and testsource is verified, also actual testing makes sense on the EVM. but not on our own radar.

    I hope this clarifies the problem we are facing.

  • Hello Daniel,

    The code you sent me before doesn't have the values for the variable, it just shows the sequence.
    We need to ensure that the configuration values is the same in your application and the one you are trying to configure in the studio.
    Are you configuring it with the same values or are you trying with different configuration in both?
    One more thing you can do is, the same values you have configured in the studio could be ported to your code as well for keeping the reference same.

    Regards,
    Saswat Kumar

  • Saswat,
    Yes, same configuration in mmwaveStudio works. Please note that mmwavestudio is connected to AWR+DCA which is LVDS based. Our radar is CSI-based.

    Have you evaluated and seen any suspicious item in the sequence I already shared? Please be specific about your request and we will respond accordingly.

    Daniel.

  • Daniel,

    I would also like to make sure that the post processing used is accurate in this scenario. Have you re-affirmed your 1D FFT vs that of mmWave Studio's post processing? Need to make sure that the ADC data has been decoded and arranged appropriately in this case.

    Regards,

    Kaushik

  • The ADC raw data of the testsource is completely different in both cases. The 1D FFT peak of  the data from EVM TI boards look clean and correct. We see a sine wave high amplitude signal in time domain for TI board while it's a non-sine very low amplitude signal for our radar.
    Can this be due to incorrectly loading the metaimage FW? My understanding is that TI boards use mss and bss while DFP uses metaimage. Please confirm.

  • Hi Daniel,

    Just to confirm my understanding, you have an AWR2243 out of which you are streaming the ADC data visa CSI2 to a host processor. 

    • TI EVM works as intended when used with Studio.
    • Your custom board is showing incorrect ADC data when transmitted by CSI2 to a host processor.

    Having said that, can you answer the following questions:

    1. Can you please mention which FW image files you have loaded in both the cases? (TI EVM with Studio vs your board) 
    2. Is there any other delta between the two that would give more info here?
    3. Have you performed readbacks of the configurations sent to the front end AWR?
    4. Have you verified data sizes for finite duration of framing?
    5. Is the behavior same across different radar profile configurations?
    6. Have you performed any kind of meaningful monitoring?
    7. What is the frequency of these outputs? "The output seems to be fixed, regardless of the input." Does this frequency change with different profile configurations?

    Regards,

    Kaushik

  • Hi Kaushik,

    Your understanding is correct, we are using test source on TI EVM works as intended when used with mmwave Studio. Our board is connected to a host processor though CSI2.

    Here are my responses to your questions:

    1. Can you please mention which FW image files you have loaded in both the cases? (TI EVM with Studio vs your board) We use DFP 2.2.4.0 while the TI board uses the following FW. Again, how can we verify the metaimage for the DFP is correctly loaded to the board? 
    2. Is there any other delta between the two that would give more info here? There is no delta other than the interface and the programing tools, TI board uses LVDS with mmwave and we use CSI with a host professor. The rest are same.
    3. Have you performed readbacks of the configurations sent to the front end AWR? Yes, all returned redbacks are acknowledged as True.
    4. Have you verified data sizes for finite duration of framing? Yes, we use 40 frames by default but exercised other values too.
    5. Is the behavior same across different radar profile configurations? Yes.
    6. Have you performed any kind of meaningful monitoring? We looked at the CSI data at the output of the device and it matches to what processor saves as bin data. 
    7. What is the frequency of these outputs? "The output seems to be fixed, regardless of the input." Does this frequency change with different profile configurations? The output data changes as the location of the object changes in the test source config. We have confirmed it during various test source profiles.
  • Hi Daniel,

    Thank you for the responses.

    • I'm not sure if your external host is a TDA device or some other device but either way, the firmware patch should be downloaded via software onto the AWR2243 right? Can you confirm what image it is that you are downloading exactly onto the AWR2243 by going through your software?
      • The output data changes as the location of the object changes in the test source config. We have confirmed it during various test source profiles.

      I'm confused here. The output data is dependent on the test source config consistently?? Is it possible for you to share an expected plot (as you see with TI EVM + Studio) vs the plot you obtain with your board (Different test sources)? One additional test with a corner reflector without the test source config would also help.

    • Have you performed readbacks of the configurations sent to the front end AWR? Yes, all returned redbacks are acknowledged as True.

      I'm asking you to verify the profile configuration set to the device not the return value. Please check the programmed config using the get profile API.

    Regards,

    Kaushik

  • Kaushik,

    For testsource output, I meant the data is changing when we make a change in the object's position. This is expected. But we are not able to get the object position from there, as data looks to be a junk sequence. We are not using a TDA device. Now which part of this is confusing!??

    We have already tested all the items you mentioned, including profile configuration and even much more. As I said many times, TI AWR output is matching to what we set as the target location. Please refer to your own references for more details on how a correct output of testsource should be as it has nothing to do with our problem here.

    We really need expert's opinion on this. Such back and forth circular messages waste your time and our time too. If you are not able to help thoroughly, please escalate it to FW team or some other people who can help effectively.

    Daniel