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: rlDeviceSetHsiDelayDummyConfig() API Example

Part Number: AWR2243

Hello,

We are developing a radar system using TI - AWR2243, NVIDA - Xavier and CSI(SerDes).

And I want to know about usage of rlDeviceSetHsiDelayDummyConfig() API.

That is.

  - I want to add some dummy bytes to every chirp.

  - And we are sending ADC raw data from AWR2243 to Xavier using CSI.

  - Then how is the image size(width ox height) changed?,  if  rlDeviceSetHsiDelayDummyConfig() is used like follows.

   - some parts of our codes.

    rlHsiDelayDummyCfg_t dummyDataCfg;
    memset(&dummyDataCfg, 0, sizeof(dummyDataCfg));

    dummyDataCfg.enableMode = 1;
    dummyDataCfg.delayVal = 0;
    dummyDataCfg.dummyVal = 2;               // add dummy bytes to every chirp

Thanks.

  • This API can be used to increase the time between the availability of chirp data and the transfer of chirp data over HSI (CSI2/LVDS) interface. 

    It can also be used to add configurable amount of dummy data per chirp at the end of actual chirp data. 
    dummyDataCfg.enableMode = 1; //1 - HSI Data will have an additional configurable delay after ADC VALID and Configurable Dummy data after chirp data
    dummyDataCfg.delayVal = 0; // Delay count value = 0
    dummyDataCfg.dummyVal = 2;   
        /*   This field describes the Dummy Count value. \n
         *         Number of dummy bytes added per chirp \n
         *         For 12-bit ADC data, 12 * Dummy Value \n
         *         For 14-bit ADC data, 14 * Dummy Value \n
         *         For 16-bit ADC data, 16 * Dummy Value \n
         *         Valid range: 0 to 2048. \n
         */
    So the size of your final data will be dependent on your ADC data #of bits
  • Thank you for reply.

    I have one more question.

    if I'm using 16-bit ADC data and DummyVal is 2 then

    How may dummy bytes is added per each chirp?

        1)  16 bit * dummyVal = 16 bit *2   = 32 bits = 4 bytes

    or

        2) 16 bytes * dummyVal = 16 bytes * 2  = 32 bytes

    Thanks.

  • Hello Wonsik,

    It would mostly be 32 bits. Give me a day to cross verify.

    Regards,
    Saswat Kumar

  • Hello,

    Is there any update?

    I made a test code which assumes 32bit.

    But it seems to not working.

    Regrards.

  • Hello Wonsik,

    The team is taking a while to check internally the implementation of this and told me they will revert by tom.
    I thank you for your patience on this topic.

    Regards,
    Saswat Kumar

  • Hello Wonsik,

    I just checked with the team it would actually give:

    2) 16 bytes * dummyVal = 16 bytes * 2  = 32 bytes

    Can you also let me know your use case and why you want to use this feature?

    Regards,
    Saswat Kumar

  • Hello,

    Thank you for confirmation.

    Our radar system consists of...

     - TI AWR2243.

     - The radar signal processing is done by Nvidia Xavier which runs on Ubuntu(Linux).

    - The two device(AWR2243 and Xavier) are connected via CSI2, (ie, SerDes or Serialiser/Deserialiser).

    - The Xavier receives the radar ADC raw data from AWR2243 using V4L2(Video for Linux Two) API,  the video capture API in Linux.

    - Our radar system supports two operation modes, LRR(long range radar) and HRR/SRR(short range radar), and two operation mode have different chirp profiles and thus they have different frame data size are.

    And I need to implement fast mode switching between two operation modes.

    For example, operation mode need to changed at every other frame, like  LRR, HRR, LRR, HRR, LRR,...

    It seems that AWR2243 is capable of doing this operation mode switching. (dynamic chirp profile,....)

    But there is a issue in V4L2.

    I have to change video image format every time when operation mode is changed, because two operation modes have different frame size(or image size in V4L2 API ).

    So my idea is,

    If frame size of two modes can be become same by adding dummy data to chirps,

    There is need to change video image format at every other frame.

    And fast mode switching can be possible.

    But If there is more better way than adding dummy bytes, Please let me know. It will be appreciated if you could provide it.

    (Should I modify Linux video device driver or CSI device driver?) 

    Regards.