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.

IWRL6432BOOST: What format is the ADC data in memory

Part Number: IWRL6432BOOST
Other Parts Discussed in Thread: IWRL6432

Tool/software:

Hello,

I'm going through a step-by-step sequence of creating my own custom application from the group up, though at this stage it's pretty much a stripped back version of {SDK/source/control/mmwave} I've currently got basic control of the DFE, setting up chirp parameters and executing frames. I'd like to export the data to Matlab to verify its validity before I start configuring the HWA. 

My chirp profile settings are taken from the mmWaveSensing estimator for "Short Range Default" and I've check various monitors so I'm fairly convinced I'm correctly transmitting data.

I am viewing the ADC data using the Memory Browser in CCS, looking at the APP_HWA_ADCBUF_RD register (0x5506 0000).

After all my setup sequence, I'm effectively running the following loop with a breakpoint on the frame complete printf to view the ADC data.

        err = rl_sensSensorStart(M_DFP_DEVICE_INDEX_0, &z_fecssSensStart);

        // Wait for frame to end
        do {
            err = rl_sensStatusGet(M_DFP_DEVICE_INDEX_0, &z_fecssSensStatus);
        }
        while (z_fecssSensStatus.w_FramePeriodTimerVal != 0);

        printf("Frame Complete\n");

I appear to be capturing h_NumOfAdcSamples worth of 16-bit samples (256 in this case).

However, I'm confused by the format of these samples. It's a 12-bit ADC, so I'm assuming there's some padding going on but I cannot see any consistency. I'd expect either the first or last nibble of each 16-bit to be 0 or F, but it appears to alternate between the two.

Please may somebody confirm how the ADC samples are stored as 16-bits in the ACCEL memory?

  • Sorry I had the wrong settings for the memory browser image so it wasn't showing 256 samples.

    Below is for 128 samples, which is the default for the "Short Range Default" on mmWaveSensingEstimator. Each image shows the end of a different frame (same chirp settings). Just to show the varying data.

  • Hi

    In ADC buffer (APP_HWA_ADCBUF_RD - 0x55060000), only real samples present as IWRL6432 has real -only ADC.

    Each sample is 16 bit signed. As the ADC is 12 bit, samples are sign extended. So, you will see the MSB 4 bits to all ones or all zeros

    Regards,