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.

IWR1443: CSI Configuration

Part Number: IWR1443


Hello,

I would like to understand how the datarate of the CSI interface is configured. I am using the SDK 1.0 capture demo as a reference, specifically lines 863-887 of main.c.

memset ((void*)&hsiClkgs, 0, sizeof(rlDevHsiClk_t));
if (gCaptureMCB.hsi == Capture_HSI_CSI)
{
    /* Populate the HSI Clock argument: */
    switch (gCaptureMCB.cfg.highSpeedDataRate)
    {
        case CSI_DataRate_900Mhz:
        {
            /* Setup the HSI Clock as per the mmWave link documentation */
            hsiClkgs.hsiClk = 0x5;
            break;
        }
        case CSI_DataRate_450Mhz:
        {
            /* Setup the HSI Clock as per the mmWave link documentation */
            hsiClkgs.hsiClk = 0x6;
            break;
        }
        default:
        {
            System_printf ("Error: High speed Interface Data Rate %d is NOT supported\n", gCaptureMCB.cfg.highSpeedDataRate);
            return;
        }
    }
}

When I configure for CSI_DataRate_450Mhz, I observe a 111 MHz clock on the oscilloscope. When I configure for CSI_DataRate_900MHz, I do not get any clock signal. Can you please explain how to interpret these datarate settings, and how to configure the CSI datapath for

Thank you,

Antonio

  • Hello Antonio,

    The values for the clock rate setting are described in the AWR1xxx Radar Interface Control Document which is included in the docs directory of the mmWave Device Firmware Package (DFP) available from the following link. The possible clock setting values are described in section "5.2.5 Sub block 0x0085 – AWR_HIGHSPEEDINTFCLK_CONF_SET_SB".

    Link for DFP:
    www.ti.com/.../mmwave-dfp

    The CSI2 and LVDS datapath configuration details are available in the AWR1xxx Data Path app note available from the following link.
    www.ti.com/.../swra555.pdf

    As mmWave SDK 1.0 is an older release, I would recommend using the latest SDK version that supports IWR1443. Currently that is mmWave SDK 1.2 (available from the link below). After downloading and installing mmWave SDK 1.2, please see section "5. 4. 11. 2. CSI-2 based streaming of ADC data" in the mmWave SDK user guide which refers to example code that comes with that version of the SDK.

    Link for mmWave SDK:
    www.ti.com/.../mmwave-SDK

    Please mark the thread as answered if your question is resolved or reply if more support is required.

    Regards,
    John
  • Hello John,

    Thanks for your reply. The fundamental question I have is whether selecting CSI_DataRate_900Mhz in the SDK 1.0 capture demo should work. I do not see a clock on the CSI output, so I am trying to understand whether it is a bug in the SDK (which can be fixed by upgrading), or something wrong with my setup. 

    The second thing I would like to understand, is how to pair the clock-rate setting with the CSI datarate setting. For example, if I wanted to use a clock rate of 600MHz, I assume that I set the clock configuration to 0xa and the datarate configuration to CSI_DataRate_600Mhz? It's confusing and annoying that there are two separate parameters to set for the same design choice, and that the use and meaning of these parameters is very poorly documented. 

    Best,

    Antonio

  • Antonio,

    I am checking with the SDK team about the capture demo and will respond once I get more information.

    Thanks,
    John
  • Antonio,

    The capture demo in mmWave SDK is only tested with the default clock setting present in that example. If possible please try the example in the newer mmWave SDK 1.2 as the SDK code as well as the device firmware was updated and improved compared to SDK 1.0.

    Thanks,
    John
  • OK, thank you for following up John.