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.

MMWCAS-RF-EVM: Could not capture by manually configuring the RF board in mmwavestudio

Part Number: MMWCAS-RF-EVM

Hi,

 

I am frustratingly stuck on configuring the radar manually by following the instructions in 7.3 of mmwavetudio cascade user guide. The problem is that after submitting all configurations to the chips and successfully running the frame triggering, there is no binary file stored in the directory on the SSD card. I've double-check many times the steps and parameters needed to be configured manually against the configurations applied by Cascade_Configuration_MIMO.lua. The only configuration difference is in the SensorConfig parameters where I chose to active the azimuth antennas starting from antenna 4 to 12 i.e. 9 antennas. However, after framing is done, pushing the “transfer files” button gives an error: “The no of files captured in the directory is zero! Nothing to transfer!”.

  

The below is the lua commands sent when I went through the configurations manually (after executing the commands, the status is “Passed” for all, though there is nothing wrong with setting the commands):

ar1.FullReset(1)

ar1.SOPControl_mult(1,4)

ar1.PowerOn_mult(1, 0, 1000, 0,0)

ar1.DownloadBSSFw_mult(1,"C:\\ti\\mmwave_dfp_01_02_05_01\\firmware\\xwr12xx_metaImage.bin")

ar1.DownloadBssFwOvSPI_mult(1, C:\\ti\\mmwave_dfp_01_02_05_01\\firmware\\xwr12xx_metaImage.bin)

ar1.SelectChipVersion("AR1243")

ar1.SelectChipVersion("AR1243")

ar1.deviceVariantSelection("XWR1243")

ar1.frequencyBandSelection("77G")

ar1.SelectChipVersion("XWR1243")

ar1.RfEnable_mult(1)

ar1.ChanNAdcConfig_mult(1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1)

ar1.FullReset(2)

ar1.SOPControl_mult(2,4)

ar1.AddDevice(2)

ar1.FullReset(4)

ar1.SOPControl_mult(4,4)

ar1.AddDevice(4)

ar1.FullReset(8)

ar1.SOPControl_mult(8,4)

ar1.AddDevice(8)

ar1.DownloadBSSFw_mult(14,"C:\\ti\\mmwave_dfp_01_02_05_01\\firmware\\xwr12xx_metaImage.bin")

ar1.DownloadBssFwOvSPI_mult(14, C:\\ti\\mmwave_dfp_01_02_05_01\\firmware\\xwr12xx_metaImage.bin)

ar1.SelectChipVersion("AR1243")

ar1.SelectChipVersion("XWR1243")

ar1.RfEnable_mult(2)

ar1.SelectChipVersion("AR1243")

ar1.SelectChipVersion("XWR1243")

ar1.RfEnable_mult(4)

ar1.SelectChipVersion("AR1243")

ar1.SelectChipVersion("XWR1243")

ar1.RfEnable_mult(8)

ar1.ChanNAdcConfig_mult(14, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 2)

ar1.RfLdoBypassConfig_mult(15, 0xF)

ar1.LPModConfig_mult(15, 0,0)

ar1.SetMiscConfig_mult(15,1)

ar1.RfInit_mult(15)

ar1.DataPathConfig_mult(15, 0, 1, 0)

ar1.LvdsClkConfig_mult(15, 1,1)

ar1.CSI2LaneConfig_mult(15, 1, 0, 2, 0, 4, 0, 5,0,3,0)

ar1.ProfileConfig_mult(15, 0, 77, 250, 1, 40, 0, 0, 0, 0, 0, 0, 98.008, 2, 162, 4400, 0, 0, 30)

ar1.ChirpConfig_mult(1, 0, 8, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(2, 0, 0, 0, 0, 0, 0, 0, 1, 0,0)

ar1.ChirpConfig_mult(2, 1, 1, 0, 0, 0, 0, 0, 0, 1,0)

ar1.ChirpConfig_mult(2, 2, 2, 0, 0, 0, 0, 0, 0, 0,1)

ar1.ChirpConfig_mult(2, 3, 8, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(8, 0, 3, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(8, 0, 2, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(8, 3, 3, 0, 0, 0, 0, 0, 1, 0,0)

ar1.ChirpConfig_mult(8, 4, 4, 0, 0, 0, 0, 0, 0, 1,0)

ar1.ChirpConfig_mult(8, 5, 5, 0, 0, 0, 0, 0, 0, 0,1)

ar1.ChirpConfig_mult(8, 5, 8, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(4, 0, 5, 0, 0, 0, 0, 0, 0, 0,0)

ar1.ChirpConfig_mult(4, 6, 6, 0, 0, 0, 0, 0, 1, 0,0)

ar1.ChirpConfig_mult(4, 7, 7, 0, 0, 0, 0, 0, 0, 1,0)

ar1.ChirpConfig_mult(4, 8, 8, 0, 0, 0, 0, 0, 0, 0,1)

ar1.DisableTestSource_mult(1,0)

ar1.FrameConfig_mult(1, 0, 8, 100, 40, 160, 0, 0, 1)

ar1.DisableTestSource_mult(14,0)

ar1.FrameConfig_mult(14, 0, 8, 100, 40, 160, 0, 0, 2)

ar1.TDACaptureCard_StartRecord_mult(14, 0, 0, Test_2, 0)

 

Device 0 - Configuring TDA with Width : 1296 and Height : 360

[RadarAPI]: Device 0 - setWidthAndHeight Status: Passed

[RadarAPI]: Device 1 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Device 1 - Configuring TDA with Width : 1296 and Height : 360

[RadarAPI]: Device 1 - setWidthAndHeight Status: Passed

[RadarAPI]: Device 2 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Device 2 - Configuring TDA with Width : 1296 and Height : 360

[RadarAPI]: Device 2 - setWidthAndHeight Status: Passed

[RadarAPI]: Device 4 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Device 3 - Configuring TDA with Width : 1296 and Height : 360

[RadarAPI]: Device 3 - setWidthAndHeight Status: Passed

[RadarAPI]: Device 8 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Sending Frame Periodicity of 160 to TDA..

[RadarAPI]: Status: Passed. Frame Periodicity sent to TDA

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Sending Capture Directory with name /mnt/ssd/Test_2 to TDA..

[RadarAPI]: Status: Passed. Capture Directory sent to TDA

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Sending File Allocation of 0 files to TDA..

[RadarAPI]: Status: Passed. File Allocation sent to TDA

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Sending Enable Data Packaging (0 - 16-bit; 1 - 12-bit) with value of 0 to TDA..

[RadarAPI]: Status: Passed. Enable Data Packaging sent to TDA

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

Sending Number of frames to capture with value of 0 to TDA..

[RadarAPI]: Status: Passed. Number of frames to capture sent to TDA

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

[RadarAPI]: Status: Passed for notifying TDA about Creating Application

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

[RadarAPI]: Status: Passed for notifying TDA about Start Frame

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

[RadarAPI]: ar1.StartFrame_mult(14)

[RadarAPI]: Status: Passed

[DeviceId-1] Frame start async event received!

[DeviceId-3] Frame start async event received!

[DeviceId-2] Frame start async event received!

[RadarAPI]: ar1.StartFrame_mult(1)

[RadarAPI]: Status: Passed

[DeviceId-0] Frame start async event received!

[RadarAPI]: Frame Ended

[DeviceId-1] Frame End async event received!

[DeviceId-0] Frame End async event received!

[DeviceId-3] Frame End async event received!

[DeviceId-2] Frame End async event received!

Status: Passed for notifying TDA about Stop Frame

[RadarAPI]: Device 32 : CAPTURE_RESPONSE_ACK Async event recieved() with status 0

 

What is wrong with TDA or the whole process? Also, I should mention that when I run "Cascade_Configuration_MIMO.lua" and "Cascade_Capture.lua", there is no problem. 

  • Hello Mostafa,

    I assumed you have followed the right sequence here while manually configuring and capture the data. What about using the same configuration as LUA script while doing manual capture?

    First we need to make sure that manual configuration and capture works with your board here.

    Regards,

    Jitendra

  • Hi Jetindra, 

    I found the cause. I run the "Cascade_Configuration_MIMO.lua" and I only change the profile configuration to this: 

    ar1.ProfileConfig_mult(15, 0, 77, 250, 1, 40, 0, 0, 0, 0, 0, 0, 98.008, 2, 162, 4400, 0, 0, 30)

     

    In addition, I changed the frame configuration to the following to be able to fit them inside a frame duration: 

    ar1.FrameConfig_mult(1, 0, 11, 100, 30, 200, 0, 0, 1)
    ar1.DisableTestSource_mult(14,0)
    ar1.FrameConfig_mult(14, 0, 11, 100, 30, 200, 0, 0, 2)

    Then, after triggering the frame, there will be no file saved on the SSD. What is wrong with my profile configuration? Actually, the profile works for a single chip and I assumed that it also works with the multiple chips. If I switched to the profile configuration of the "Cascade_Configuration_MIMO.lua", everything is fine! I am suspecting that the file size for my profile configuration is large such that it could not record it. Any idea? 

    Best, 

    Mostafa 

  • Hi Mostafa,

    Profile configuration looks ok apart from adc_Sample. Try using no. of adc sample as a power of 2 or try increasing rampTime a bit.

    Regards,

    Jitendra

  • Hi Jitendra, 

    Your first suggestion worked. However, I do not know why the number of chirp samples should be a power of two? I am also wondering why did you say I might need to increase the rampTime a bit? 

    Best, 

    Mostafa

  • Glad it worked with you.

    If requested no of sample doesn't fit in the given ramp time at requested sampling rate then device may not behave perfectly, that was the reason to increase the rampTime.

    Regards,

    Jitendra