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.

IWR1843BOOST: IWR1843BOOST real-time processing

Part Number: IWR1843BOOST
Other Parts Discussed in Thread: IWR1843, DCA1000EVM

Hi Dear

I am working with IWR1843 radar and DCA1000.

I am able run radar and generate adc_data.bin using mmWave Studio 02.01.01.00, but mmwave studio cannot be used for live processing (online).

My goal is to create working real-time processing with radar and capture the raw data directly (online). I think it is possible with using DCA1000EVM_CLI_Record and DCA1000EVM_CLI_Control, but I can not run this file (I read User Guide).

Do you have sample code for run and control using DCA1000EVM_CLI_Record and DCA1000EVM_CLI_Control?

Do you have any suggestion for working real-time processing with radar and capture the raw data directly?

Best Regards

Hadi18

  • HI, there:

    With DCA1000 CLI utility (the commands mentioned in your thread), you will be able to capture data through command lines into a binary file. But you can not open or access the binary file before the data capture is completed.  So it is still not a real-time processing.   

    But the source code for DCA1000 CLI utility is provided and advanced customer are welcome to create their own application software.  The source code and related documentation can be found at: 

    C:\ti\mmwave_studio_02_01_01_00\mmWaveStudio\ReferenceCode\DCA1000

    Best,

    Zigang

  • Thanks for replay

    I used matlab file attached in this https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/992716/iwr1843boost-iwr1843boost/3686116#3686116 link, for run DCA1000EVM CLI Control.exe and run radar without mmwstudio.

    /cfs-file/__key/communityserver-discussions-components-files/1023/Data-capture-through-DCA1000-CLI-interface.zip

    Now I could send command to radar successfully, but i can not generate .bin file, is it possible?
    also adc_data_Raw_LogFile is empty.

    Thanks a lot
    Hadi

  • Thanks for replay

    I used matlab file attached in this https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/992716/iwr1843boost-iwr1843boost/3686116#3686116 link, for run DCA1000EVM CLI Control.exe and run radar without mmwstudio.

    /cfs-file/__key/communityserver-discussions-components-files/1023/Data-capture-through-DCA1000-CLI-interface.zip

    Now I could send command to radar successfully, but i can not generate .bin file, is it possible?
    also adc_data_Raw_LogFile is empty.

    Thanks a lot
    Hadi

  • HI, Hadi:

    Can you send a complete output display when you run the MATLAB script?  

    Best,

    Zigang

  • Hi Dear Zigang

    Complete output display when I run the MATLAB script: 

    >> capture_example
     
    Reset AR Device command : Success 
    
    ans =
    
         0
    
     
    FPGA Configuration command : Success 
    
    ans =
    
         0
    
     
    Configure Record command : Success 
    sensorStop
    
    
    sensorStop
    
    Ignored: Sensor is already stopped
    
    Done
    flushCfg
    
    
    
    mmwDemo:/>
    mmwDemo:/>flushCfg
    
    Done
    dfeDataOutputMode 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>dfeDataOutputMode 1
    
    Done
    channelCfg 3 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>channelCfg 3 1 0
    
    Done
    adcCfg 2 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>adcCfg 2 1
    
    Done
    adcbufCfg -1 0 1 1 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>adcbufCfg -1 0 1 1 1
    
    Done
    profileCfg 0 77 100 7 57.14 0 0 70 1 512 5000 0 0 216
    
    
    
    mmwDemo:/>
    mmwDemo:/>profileCfg 0 77 100 7 57.14 0 0 70 1 512 5000 0 0 216
    
    Done
    chirpCfg 0 0 0 0 0 0 0 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1
    
    Done
    chirpCfg 1 1 0 0 0 0 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>chirpCfg 1 1 0 0 0 0 0 0
    
    Done
    frameCfg 0 0 1 0 64 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>frameCfg 0 0 1 0 64 1 0
    
    Done
    lowPower 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>lowPower 0 0
    
    Done
    guiMonitor -1 1 1 0 0 0 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>guiMonitor -1 1 1 0 0 0 1
    
    Done
    cfarCfg -1 0 2 8 4 3 0 15 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1
    
    Done
    cfarCfg -1 1 0 4 2 3 1 15 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1
    
    Done
    multiObjBeamForming -1 1 0.5
    
    
    
    mmwDemo:/>
    mmwDemo:/>multiObjBeamForming -1 1 0.5
    
    Done
    clutterRemoval -1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>clutterRemoval -1 0
    
    Done
    calibDcRangeSig -1 0 -5 8 256
    
    
    
    mmwDemo:/>
    mmwDemo:/>calibDcRangeSig -1 0 -5 8 256
    
    Done
    extendedMaxVelocity -1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>extendedMaxVelocity -1 0
    
    Done
    lvdsStreamCfg -1 0 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>lvdsStreamCfg -1 0 1 0
    
    Done
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    
    Done
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    
    
    
    mmwDemo:/>
    mmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2
    
    Done
    CQRxSatMonitor 0 3 5 121 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>CQRxSatMonitor 0 3 5 121 0
    
    Done
    CQSigImgMonitor 0 127 4
    
    
    
    mmwDemo:/>
    mmwDemo:/>CQSigImgMonitor 0 127 4
    
    Done
    analogMonitor 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>analogMonitor 0 0
    
    Done
    aoaFovCfg -1 -90 90 -90 90
    
    
    
    mmwDemo:/>
    mmwDemo:/>aoaFovCfg -1 -90 90 -90 90
    
    Done
    cfarFovCfg -1 0 0 8.92
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarFovCfg -1 0 0 8.92
    
    Done
    cfarFovCfg -1 1 -1 1.00
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarFovCfg -1 1 -1 1.00
    
    Done
    calibData 0 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>calibData 0 0 0
    
    Done
    sensorStart
    
    
    
    mmwDemo:/>
    mmwDemo:/>sensorStart
    
    Debug: Init Calibration Status = 0x1ffe
    
    Error -1
    sensorStop
    
    sensorStop
    Ignored: Sensor is already stopped
    
    Done
     
    Start Record command : Success 
    sensorStart 0
    sensorStart 0
    Error: You have provided complete new configuration, issue "sensorStart" (without argument) if you want it to take effect
     
    Stop Record command : Success 
    The system cannot find the file specified. 
    81  end
    K>> 

    Best regards 

    Hadi

  • HI, Hadi:

    It looks like the sensor is not running properly.  

    mmwDemo:/>sensorStart

    Debug: Init Calibration Status = 0x1ffe

    Error -1

    I would suggest you to run the same binary and configuration file on OOB visualizer to make sure it runs good first. 

    Best,

    Zigang

  • Hi Dear Zigang

    Thanks for replay

    I solved this error.
    Now I have another problem, when I run matlab code radar can not generate .bin file.

    Some part of code in Matlab:

    if dataCaptureFlag
    % Need to start capture before sensor start in order for DCA1000 to capture from the start of the frame
    sendCfg(COM_PORT_RADAR_CONFIG, sensorStopFile);
    system(['DCA1000EVM_CLI_Control.exe start_record ', datacardConfigJsonFile]);
    pause(0.5);
    sendCfg(COM_PORT_RADAR_CONFIG, sensorRestartFile);
    pause(3);
    system(['DCA1000EVM_CLI_Control.exe stop_record ', datacardConfigJsonFile]);
    pause(0.5);
    system((['copy C:\myCliSavedData\adc_data_Raw_0.bin ', adcDataFileName]));
    end

    and all log from Matlab:

    >> capture_example
     
    Reset AR Device command : Success 
    
    ans =
    
         0
    
     
    FPGA Configuration command : Success 
    
    ans =
    
         0
    
     
    Configure Record command : Success 
    sensorStop
    
    
    sensorStop
    
    Ignored: Sensor is already stopped
    
    Done
    flushCfg
    
    
    
    mmwDemo:/>
    mmwDemo:/>flushCfg
    
    Done
    dfeDataOutputMode 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>dfeDataOutputMode 1
    
    Done
    channelCfg 3 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>channelCfg 3 1 0
    
    Done
    adcCfg 2 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>adcCfg 2 1
    
    Done
    adcbufCfg -1 0 1 1 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>adcbufCfg -1 0 1 1 1
    
    Done
    profileCfg 0 77 916 7 57.14 0 0 70 1 256 5209 0 0 30
    
    
    
    mmwDemo:/>
    mmwDemo:/>profileCfg 0 77 916 7 57.14 0 0 70 1 256 5209 0 0 30
    
    Done
    chirpCfg 0 0 0 0 0 0 0 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>chirpCfg 0 0 0 0 0 0 0 1
    
    Done
    chirpCfg 1 1 0 0 0 0 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>chirpCfg 1 1 0 0 0 0 0 0
    
    Done
    frameCfg 0 0 16 0 100 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>frameCfg 0 0 16 0 100 1 0
    
    Done
    lowPower 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>lowPower 0 0
    
    Done
    guiMonitor -1 1 1 0 0 0 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>guiMonitor -1 1 1 0 0 0 1
    
    Done
    cfarCfg -1 0 2 8 4 3 0 15 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarCfg -1 0 2 8 4 3 0 15 1
    
    Done
    cfarCfg -1 1 0 4 2 3 1 15 1
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarCfg -1 1 0 4 2 3 1 15 1
    
    Done
    multiObjBeamForming -1 1 0.5
    
    
    
    mmwDemo:/>
    mmwDemo:/>multiObjBeamForming -1 1 0.5
    
    Done
    clutterRemoval -1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>clutterRemoval -1 0
    
    Done
    calibDcRangeSig -1 0 -5 8 256
    
    
    
    mmwDemo:/>
    mmwDemo:/>calibDcRangeSig -1 0 -5 8 256
    
    Done
    extendedMaxVelocity -1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>extendedMaxVelocity -1 0
    
    Done
    lvdsStreamCfg -1 0 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>lvdsStreamCfg -1 0 0 0
    
    Done
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    
    Done
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    
    
    
    mmwDemo:/>
    mmwDemo:/>measureRangeBiasAndRxChanPhase 0 1.5 0.2
    
    Done
    CQRxSatMonitor 0 3 5 121 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>CQRxSatMonitor 0 3 5 121 0
    
    Done
    CQSigImgMonitor 0 127 4
    
    
    
    mmwDemo:/>
    mmwDemo:/>CQSigImgMonitor 0 127 4
    
    Done
    analogMonitor 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>analogMonitor 0 0
    
    Done
    aoaFovCfg -1 -90 90 -90 90
    
    
    
    mmwDemo:/>
    mmwDemo:/>aoaFovCfg -1 -90 90 -90 90
    
    Done
    cfarFovCfg -1 0 0 8.92
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarFovCfg -1 0 0 8.92
    
    Done
    cfarFovCfg -1 1 -1 1.00
    
    
    
    mmwDemo:/>
    mmwDemo:/>cfarFovCfg -1 1 -1 1.00
    
    Done
    calibData 0 0 0
    
    
    
    mmwDemo:/>
    mmwDemo:/>calibData 0 0 0
    
    Done
    sensorStart
    
    
    
    mmwDemo:/>
    mmwDemo:/>sensorStart
    
    Debug: Init Calibration Status = 0x1ffe
    
    Done
    65          end 
    sensorStop
    
    sensorStop
    Done
        system(['DCA1000EVM_CLI_Control.exe start_record ', datacardConfigJsonFile]);
     
    Start Record command : Success 
    sensorStart 0
    sensorStart 0
    Done
         pause(3);
     
    No record process is running. 
    The system cannot find the file specified. 
    >> 

    I think problem is in this line:

    system((['copy C:\myCliSavedData\adc_data_Raw_0.bin ', adcDataFileName]));

    " The system cannot find the file specified. "

    Best regards 

    Hadi

  • HI, Hadi:

    Please make sure the data capture directory is created right.  Is C:\myCliSavedData\ and directory for adcDataFileName both created?

    Best,

    Zigang

  • Hi Dear Zigang

    Thanks for replay

    Directory was created, But both are still empty.

    All log from adc_data_Raw_LogFile:

    LVDS lane mode : 2 lane	
    Record stop mode : Infinite	
    Max file size (MB) : 1024	
    	*DT 1
    	
    Raw Data :	
    Out of sequence count - 0	
    Out of sequence seen from 0 to 0	
    First Packet ID - 0	
    Last Packet ID - 0	
    Number of received packets - 0	
    Number of zero filled packets - 0	
    Number of zero filled bytes - 0	
    Capture start time - Thu Jun 10 13:28:46 2021	
    Capture end time - Thu Jun 10 13:28:46 2021	
    Duration(sec) - 0	
    

    Best Regards

    Hadi

  • Hi, Hadi:

    I would recommend you to go back and follow the DCA1000 training slide to make sure the raw data capture works with radar studio.  When you confirm everything works, then you can come back to test this advanced feature. 

    Here is the link for DCA1000 training video: https://training.ti.com/dca1000-training-video

    Best,

    Zigang

  • Hi Dear Zigang
    Thanks for reply

    The video you refereed me to treats mmwave studio setting, in this position every thing is OK.

    I have problems recording the data from the DCA1000EVM, when I execute the commands listed in the manual "DCA1000EVM CLI Software User Guide" Page no.24, I have Error 4002, and dc_data_Raw_LogFile.csv was created but it is empty.

    These are my configs:
    SOP-2 = 1 and SOP0,1 = 0
    or
    SOP-0 = 1 and SOP1,2 = 0
    The firewall is off

    Start record configuration : 	
    	
    Log mode : Raw	
    LVDS lane mode : 2 lane	
    Record stop mode : Infinite	
    Max file size (MB) : 1024	
    	*DT 1
    	
    Raw Data :	
    Out of sequence count - 0	
    Out of sequence seen from 0 to 0	
    First Packet ID - 0	
    Last Packet ID - 0	
    Number of received packets - 0	
    Number of zero filled packets - 0	
    Number of zero filled bytes - 0	
    Capture start time - Fri Jun 11 14:27:52 2021	
    Capture end time - Fri Jun 11 14:27:52 2021	
    Duration(sec) - 0	
    

    I have problems recording the data from the DCA1000EVM, when I execute the commands listed in the manual "DCA1000EVM CLI Software User Guide" Page no.24, I have Error 4002, and dc_data_Raw_LogFile was created but it is empty.

    This is my datacard_config.json file

    {
    "DCA1000Config": {
    "dataLoggingMode": "raw",
    "dataTransferMode": "LVDSCapture",
    "dataCaptureMode": "ethernetStream",
    "lvdsMode": 2,
    "dataFormatMode": 3,
    "packetDelay_us": 25,
    "ethernetConfig": {
    "DCA1000IPAddress": "192.168.33.180",
    "DCA1000ConfigPort": 4096,
    "DCA1000DataPort": 4098
    },
    "ethernetConfigUpdate": {
    "systemIPAddress": "192.168.33.30",
    "DCA1000IPAddress": "192.168.33.180",
    "DCA1000MACAddress": "12.34.56.78.90.12",
    "DCA1000ConfigPort": 4096,
    "DCA1000DataPort": 4098
    },
    "captureConfig": {
    "fileBasePath": "C:\\myCliSavedData",
    "filePrefix": "adc_data",
    "maxRecFileSize_MB": 1024,
    "sequenceNumberEnable": 1,
    "captureStopMode": "infinite",
    "bytesToCapture": 7864320,
    "durationToCapture_ms": 1000,
    "framesToCapture": 5
    },
    "dataFormatConfig": {
    "MSBToggle": 0,
    "reorderEnable": 1,
    "laneFmtMap": 0,
    "dataPortConfig": [
    {
    "portIdx": 0,
    "dataType": "complex"
    },
    {
    "portIdx": 1,
    "dataType": "complex"
    },
    {
    "portIdx": 2,
    "dataType": "complex"
    },
    {
    "portIdx": 3,
    "dataType": "complex"
    },
    {
    "portIdx": 4,
    "dataType": "complex"
    }
    ]
    }
    }
    }

    This is Config.cfg file:

    % ***************************************************************
    % Created for SDK ver:03.05
    % Created using Visualizer ver:3.5.0.0
    % Frequency:77
    % Platform:xWR18xx
    % Scene Classifier:best_range_res
    % Azimuth Resolution(deg):60
    % Range Resolution(m):0.044
    % Maximum unambiguous Range(m):9.02
    % Maximum Radial Velocity(m/s):1
    % Radial velocity resolution(m/s):0.13
    % Frame Duration(msec):100
    % RF calibration data:None
    % Range Detection Threshold (dB):15
    % Doppler Detection Threshold (dB):15
    % Range Peak Grouping:enabled
    % Doppler Peak Grouping:enabled
    % Static clutter removal:disabled
    % Angle of Arrival FoV: Full FoV
    % Range FoV: Full FoV
    % Doppler FoV: Full FoV
    % ***************************************************************
    sensorStop
    flushCfg
    dfeDataOutputMode 1
    channelCfg 3 1 0
    adcCfg 2 1
    adcbufCfg -1 0 1 1 1
    profileCfg 0 77 916 7 57.14 0 0 70 1 256 5209 0 0 30
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 0
    frameCfg 0 0 16 0 100 1 0
    lowPower 0 0
    guiMonitor -1 1 1 0 0 0 1
    cfarCfg -1 0 2 8 4 3 0 15 1
    cfarCfg -1 1 0 4 2 3 1 15 1
    multiObjBeamForming -1 1 0.5
    clutterRemoval -1 0
    calibDcRangeSig -1 0 -5 8 256
    extendedMaxVelocity -1 0
    lvdsStreamCfg -1 0 0 0
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    measureRangeBiasAndRxChanPhase 0 1.5 0.2
    CQRxSatMonitor 0 3 5 121 0
    CQSigImgMonitor 0 127 4
    analogMonitor 0 0
    aoaFovCfg -1 -90 90 -90 90
    cfarFovCfg -1 0 0 8.92
    cfarFovCfg -1 1 -1 1.00
    calibData 0 0 0
    sensorStart

    when I run matlab code radar can not generate .bin file.

    Some part of code in Matlab:

    if dataCaptureFlag
    % Need to start capture before sensor start in order for DCA1000 to capture from the start of the frame
    sendCfg(COM_PORT_RADAR_CONFIG, sensorStopFile);
    system(['DCA1000EVM_CLI_Control.exe start_record ', datacardConfigJsonFile]);
    pause(0.5);
    sendCfg(COM_PORT_RADAR_CONFIG, sensorRestartFile);
    pause(3);
    system(['DCA1000EVM_CLI_Control.exe stop_record ', datacardConfigJsonFile]);
    pause(0.5);
    system((['copy C:\myCliSavedData\adc_data_Raw_0.bin ', adcDataFileName]));
    end

    This is bothering me for days.

    Best

    Hadi

  • HI, Hadi:

    So, if the radar studio data capture works for you, then the PC should be ready for LVDS based data capture through DCA1000 CLI utility. 

    SOP setting should be  

    SOP0 = 1 (Jumper on), SOP1 = SOP 2= 0

    In your most recent reply, the LVDS streaming is not enabled. 

    lvdsStreamCfg -1 0 0 0

    Please change to 

    lvdsStreamCfg -1 0 1 0

    In "DCA1000EVM CLI Software User Guide" Section 2.2.6, you can check the error for query status -4002.  It can be that just no LVDS data is transferred from EVM.

    Please correct lvdsStreamCfg and try again.

    Best,

    Zigang

  • HI, Hadi:

    Did your problem get resolved?  Can I close this thread?

    Best,

    Zigang

  • Hi Dear Zigang
    Thanks for reply and your support

    I changed parameters and now radar work correctly.

    Best Regards

    Hadi