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: IWRL6432BOOST WITH DCA1000 EVM Interface

Part Number: IWRL6432BOOST
Other Parts Discussed in Thread: IWRL6432

Hello Team,

I am trying to capture the raw data using IWRL6432BOOST WITH DCA1000 EVM Interface. However, I am unable to do so. Can you please help me to capture the raw data using IWRL6432 with DCA1000 EVM.

Are there any detailed user guide/instructions document. As per DCA1000 EVM document I have setup the hardware and I am using mmWave Studio 02.01.01.00. I have changed the Ethernet settings also and I derving power from Radar board by changing the switch position.

Please guide me to get working setup.

Thanks & Regards

Prashant Koparde

  • Hello Prashant,

    Our most updated guide for the DCA1000 can be found in the Radar Toolbox on the TI Developer Zone. Have you taken a look at this?

    https://dev.ti.com/tirex/explore/node?a=1AslXXD__2.10.00.04&node=A__AEIJm0rwIeU.2P1OBWwlaA__radar_toolbox__1AslXXD__2.10.00.04

    Best Regards,

    Pedrhom

  • Thanks Pedrhom, I tried to follow the same step mentioned int the above link, however I still unable to get the succeess.

    RSTD.Transmit("/Settings")
    [14:42:03]
    [14:42:03] ### Running Startup script: "C:\ti\mmwave_studio_04_01_00_06\mmWaveStudio\Scripts\Startup.lua" ###
    [14:42:03] RSTD.SetAndTransmit ("/Settings/Scripter/Display DateTime" , "1")
    [14:42:03] RSTD.SetAndTransmit ("/Settings/Scripter/DateTime Format" , "HH:mm:ss")
    [14:42:03] Scripter ignored: Attempt to UnBuild() again or before Build.
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 0/Dll" , "C:\\ti\\mmwave_studio_04_01_00_06\\mmWaveStudio\\Clients\\\\LabClient.dll")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 0/Use" , "TRUE")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 1/Use" , "FALSE")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 2/Use" , "FALSE")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 3/Use" , "FALSE")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 4/Use" , "FALSE")
    [14:42:03] RSTD.SetVar ("/Settings/AL Client/AL Dll" , "C:\\ti\\mmwave_studio_04_01_00_06\\mmWaveStudio\\RunTime\\SAL.dll")
    [14:42:03] RSTD.SetVar ("/Settings/Clients/Client 0/GuiDll" , "")
    [14:42:03] RSTD.SetVar ("/Settings/AutoUpdate/Enabled" , "TRUE")
    [14:42:03] RSTD.SetVar ("/Settings/AutoUpdate/Interval" , "1")
    [14:42:03] RSTD.SetVar ("/Settings/Monitors/UpdateDisplay" , "TRUE")
    [14:42:03] RSTD.SetVar ("/Settings/Monitors/OneClickStart" , "TRUE")
    [14:42:03] RSTD.SetVar ("/Settings/Automation/Automation Mode" , "false")
    [14:42:03] RSTD.Transmit("/")
    [14:42:03] RSTD.SaveSettings(): Settings saved to "C:\Users\pk93126\AppData\Roaming\RSTD\config.xml"
    [14:42:03] RSTD.Build()
    [14:42:03] RSTD.SaveSettings(): Settings saved to "C:\Users\pk93126\AppData\Roaming\RSTD\config.xml"
    [14:42:03] RSTD.Transmit("/")
    [14:42:03] RSTD.AL_Build()
    [14:42:04] RSTD.AL_LoadXml()
    [14:42:04] RSTD.Transmit("/")
    [14:42:04] RSTD.AL_Init()
    [14:42:04] RSTD.Clients_Build()
    [14:42:04] GM: Init
    [14:42:04] GM: Loaded 'C:\ti\mmwave_studio_04_01_00_06\mmWaveStudio\Clients\\LabClient.dll'
    [14:42:04] GM: 1 Guest (s) init
    [14:42:04] GM: 1 Module(s) init
    [14:42:04] GM: 2 Tab (s) init
    [14:42:04] RSTD.Client_LoadXml()
    [14:42:04] xw_status = mws.GuiVersion()
    [14:42:04] --GuiVersion = 4.1.0.6
    [14:42:04] Matlab Runtime Engine is installed
    [14:42:04] [RadarAPI]: Starting Matlab Engine..
    [14:42:07] [RadarAPI]: Matlab Engine Started!
    [14:42:07] xw_status = mws.RadarlinkVersion()
    [14:42:07] --RadarlinkVersion = 1.0.1.3(11/7/22)
    [14:42:07] xw_status = mws.StudiolinkVersion()
    [14:42:07] --StudiolinkVersion = 1.1.0.2(8/2/23)
    [14:42:07] xw_status = mws.GuiVersion()
    [14:42:07] --GuiVersion = 4.1.0.6
    [14:42:07] s_version = mws.GetPostProcVersion()
    [14:42:07] [RadarAPI]: mws.LoadSettings('C:\Users\pk93126\AppData\Roaming\RSTD\ar1gui.ini')
    [14:42:08] xw_status, deviceMapInfo = mws.getFtdiDeviceInfo()
    [14:42:08] TESTING = false
    [14:42:08] DeviceIndex:0; SerialNumber:FT8DPOW8; Description:AR-DevPack-EVM-012
    [14:42:08] --xw_status = 0
    [14:42:08] RstdNet: Port 2777: Listening..
    [14:42:08] --(getNumDevices): xw_return = 0; numFtdiDevices = 1
    [14:42:08]
    [14:42:08] ***Script completed successfully.***
    [14:43:44] s_version = mws.GetPostProcVersion()
    [14:43:44] mws.ftdiResetAllDevices()
    [14:43:44] --xw_status = 0
    [14:43:44] xw_status = mws.selectBDType(0, 0, 1, 0)
    [14:43:44] --xw_status = 0
    [14:43:44] xw_status = mws.selectComIfType(1, 1000, 0, 2, 0)
    [14:43:44] --xw_status = 0
    [14:43:44] [RadarAPI]: mws.SelectCaptureDevice("DCA1000")
    [14:43:44] [RadarAPI]: Status: Passed
    [14:43:44] xw_status = mws.captureCardCfgResetFPGA()
    [14:43:44] [RadarAPI]: Sending reset_fpga command to DCA1000
    [14:43:55] [RadarAPI]:
    [14:43:55] Reset FPGA :
    [14:43:55] Timeout Error! System disconnected
    [14:43:55] --xw_status=0
    [14:43:55] xw_status = mws.captureCardEthernetCfg("192.168.33.30", "192.168.33.180", "12.34.56.78.90.12", 4096, 4098, 1)
    [14:43:55] [RadarAPI]: Sending eeprom command to DCA1000
    [14:44:05] [RadarAPI]:
    [14:44:05] EEPROM Configuration :
    [14:44:05] Timeout Error! System disconnected
    [14:44:05] --xw_status=0
    [14:44:05] xw_status = mws.captureCardModeCfg(1,1,1,2, 1, 25)
    [14:44:05] [RadarAPI]: Sending fpga command to DCA1000
    [14:44:15] [RadarAPI]:
    [14:44:15] FPGA Configuration :
    [14:44:15] Timeout Error! System disconnected
    [14:44:15] [RadarAPI]: Sending record command to DCA1000
    [14:44:25] [RadarAPI]:
    [14:44:25] Configure Record :
    [14:44:25] Timeout Error! System disconnected
    [14:44:25] --xw_status=0
    [14:44:25] xw_status, s_version, s_dllVersion = mws.getCaptureCardFPGAVersion()
    [14:44:25] [RadarAPI]: Sending fpga_version command to DCA1000
    [14:44:35] [RadarAPI]:
    [14:44:35]
    [14:44:35] Unable to read FPGA Version. [error -5]
    [14:44:35]
    [14:44:35] [RadarAPI]: Sending dll_version command to DCA1000
    [14:44:35] [RadarAPI]:
    [14:44:35] DLL Version : 1.0
    [14:44:35] --xw_status=0
    [14:44:35] xw_status = mws.sopControl(0, 3)
    [14:44:35] --xw_status = 0
    [14:44:35] xw_status = mws.nReset(0)
    [14:44:36] --xw_status = 0
    [14:44:36] xw_status = mws.rs232Config(0, 5, 0, 0)
    [14:44:38] xw_status, lot, wafer, devX, devY = mws.decodeDieId(1413923840, 806217924)
    [14:44:38] DeviceType:4116x
    [14:44:38] SafetyType:1
    [14:44:38] ES_PG_Version1
    [14:44:38] SOP_MODE:3
    [14:44:38] DieId:27134.0.1413923840.806217924
    [14:44:38] XTAL_Type:1
    [14:44:38] --xw_status = 0
    [14:44:38] xw_status = mws.sopDebugFwPreBootCfg(0, 1, 0, 0)
    [14:44:38] --xw_status = 0
    [14:44:38] xw_status = mws.fwRprcDownload(0, 2, "C:\\ti\\MMWAVE_L_SDK_05_04_00_01\\firmware\\mmwave_dfprfevalfirmware\\appss\\mmwave_plt_rfeval_rprc.bin")
    [14:44:38] Error : Could not find a part of the path 'C:\ti\MMWAVE_L_SDK_05_04_00_01\firmware\mmwave_dfprfevalfirmware\appss\mmwave_plt_rfeval_rprc.bin'., at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
    [14:44:38] at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
    [14:44:38] at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
    [14:44:38] at System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
    [14:44:38] at APIFramework.ConnectionApi.ConnectionAPI.fwRprcDownload(Byte c_deviceId)
    [14:44:38] --xw_status = -1
    [14:44:38]
    [14:44:38] &&&&&&&&&&&&&&&&&&&&
    [14:44:38] ***Script FAILED!***
    [14:44:38] &&&&&&&&&&&&&&&&&&&&
    [14:44:38] Exception message is:
    [14:44:38] ...labExamples\LUA_examples\common_device_setup_60G.lua:54: ERROR: API failed

    I am getting above error. Also I have modified the lua script as per mentioned 

    -- Common device setup

    -- Change the directory for the firmware file
    local firmware_directory_base = [[C:\ti\MMWAVE_L_SDK_05_04_00_01\firmware\mmwave_dfp]]
    local rfeval_firmware = firmware_directory_base .. [[rfevalfirmware\appss\mmwave_plt_rfeval_rprc.bin]]
    local rfs_firmware = firmware_directory_base .. [[rfsfirmware\xWRL6432\mmwave_rfs_rprc.bin]]
    local atecal_firmware = firmware_directory_base .. [[rfevalfirmware\rfsatecal\xWRL6432\mmwave_rfs_atecal_rprc.bin]]

    -- Check that Matlab Postproc is at least version 5.02
    local postproc_version = tonumber(mws.GetPostProcVersion())
    if (postproc_version < 5.02) then
        error("ERROR: Matlab Postproc must be at least version 5.02")
    end

    -- Reset studio internal variables
    status = mws.ftdiResetAllDevices()

    -- Board config
    local c_boardType = 0  -- 0=EVM, 1=CZ
    xw_status = mws.selectBDType(c_boardType, 0, 1, 0)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.selectComIfType(1, 1000, 0, 2, 0)
    assert(xw_status == 0, "ERROR: API failed")

    -- DCA1000 config
    xw_status = mws.SelectCaptureDevice("DCA1000")
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.captureCardCfgResetFPGA()
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.captureCardEthernetCfg("192.168.33.30", "192.168.33.180", "12.34.56.78.90.12", 4096, 4098, 1)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.captureCardModeCfg(1, 1, 1, 2, 1, 25)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status, s_version, s_dllVersion = mws.getCaptureCardFPGAVersion()
    assert(xw_status == 0, "ERROR: API failed")

    -- SOP config
    xw_status = mws.sopControl(0, 3)
    assert(xw_status == 0, "ERROR: API failed")

    -- Device reset
    xw_status = mws.nReset(0)
    assert(xw_status == 0, "ERROR: API failed")

    -- RS232 connect
    local rs232_com_port = 5
    xw_status = mws.rs232Config(0, rs232_com_port, 0, 0)
    assert(xw_status == 0, "ERROR: API failed")

    -- Load firmware
    xw_status = mws.sopDebugFwPreBootCfg(0, 1, 0, 0)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.fwRprcDownload(0, 2, rfeval_firmware)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.sopDebugFwPostBootCfg(0, 0, 0, 0, 0, 0)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.fwRprcDownload(0, 0, rfs_firmware)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status = mws.fwRprcDownload(0, 1, atecal_firmware)
    assert(xw_status == 0, "ERROR: API failed")

    -- Powerup device
    xw_status, t_deviceStatus = mws.devicePowerup(0, 0, 0, 0)
    assert(xw_status == 0, "ERROR: API failed")
    xw_status=mws.fecDevicePowerOn(0,{h_XtalClkFreq=10240,c_ClkSourceSel=10,c_PowerMode=0,c_ChirpTimerResol=0,c_FecBootCfg=0,h_Reserved2=0,w_Reserved3=0})
    assert(xw_status == 0, "ERROR: API failed")

    -- Special calibration configuration
    xw_status, response=mws.rfEvalAteInit(0,{c_AteInitAddress=2129856,w_Reserved=0})
    assert(xw_status == 0, "ERROR: API failed")
    xw_status=mws.fecRfsDbgCtrl(0,{w_RfsDbgLogAddress=575029248,w_Reserved0=0,w_Reserved1=0})
    assert(xw_status == 0, "ERROR: API failed")

    -- Setup clocks
    xw_status=mws.fecDevClkctrl(0,{c_DevClkCtrl=10,c_FtClkCtrl=0,c_ApllClkCtrl=170,c_Reserved1=0,w_Reserved2=0})
    assert(xw_status == 0, "ERROR: API failed")


    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    Please help me to resolve the issue.
    Thanks & Regards
    Prashant Koparde
  • Hello Prashant,

    Unfortunately "Unable to read FPGA Version. [error -5]" is a generic error that can be caused by several different reasons. Fortunately there is a plethora of a threads across E2E that cover several solutions to this issue. I will note that this specific error is due to the inability to establish communication between DCA1000 and the PC, and has no relation to the mmWave sensor, Below are some example solutions.

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1123119/mmwave-studio-dca1000-awr1843-unable-to-read-fpga-version

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1137404/iwr1443boost-fpga-version-issues

    https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1258490/iwr1443boost-disconnected-and-timed-out-issue

    Best Regards,

    Pedrhom

  • Hello Pedrhom,

    I tried with all other settings mentioned in above threats still unable to resolve the above issue.

    Can you please help to resolve the same.

    Thanks & Regards

    Prashant Koparde

  • Hello.

    Pedrhom is currently out of office and will provide a response once he is back.  Thank you for your patience.

    Sincerely,

    Santosh

  • Hello,

    If you are struggling with the SPI portion, you can try using the DCA1000 ADC Data Capture Tool. It uses a different data path for raw data capture and uses only one USB cable for capture. Download the Radar Toolbox by clicking the triple dots next to its name once the pages fully load and you hover your mouse over it. Then use the user guide via as linked below to do the data capture. 

    https://dev.ti.com/tirex/explore/node?a=1AslXXD__2.10.00.04&node=A__ACcj5qsn5G-kyhEttWYAjg__radar_toolbox__1AslXXD__2.10.00.04

    Best Regards,

    Pedrhom