Other Parts Discussed in Thread: IWR6843, IWR1843
Tool/software:
I wanted to try TX based beemsteering with the IWR1843BOOST EVM to boost the SNR of detected objects at higher ranges,
I was able to manually steer at specific angles thanks to the calculator by the TI team but when I tried the automated lua script to use frame based beamsteering, I am getting this error every time. I have used the following script
BSS_FW = "C:\\ti\\mmwave_studio_02_01_01_00\\rf_eval_firmware\\radarss\\xwr18xx_radarss.bin" MSS_FW = "C:\\ti\\mmwave_studio_02_01_01_00\\rf_eval_firmware\\masterss\\xwr18xx_masterss.bin" file_path = "C:\\ti\\data_capture" adc_data_path1 = file_path.."\\IWR_adc_data_profile_bf.bin" raw_data_path1 = file_path.."\\IWR_adc_data_profile_bf_Raw_0.bin" pkt_log_path1 = file_path.."\\IWR_profile_bf_pktlogfile.txt" --RX Gain Calculation RF_GAIN_TARGET_30dB = 0 RF_GAIN_TARGET_34dB = 64 RF_GAIN_TARGET_26dB = 192 RX_GAIN_INPUT = 44 START_FREQ = 78 IDLE_TIME = 10 ADC_START_TIME = 8 RAMP_END_TIME = 49.2 TX_BACKOFF = 3 SLOPE_CONST = 60.833 TX_START_TIME = 0 NUM_ADC_SAMPLES = 512 SAMPLING_RATE = 12500 HPF1 = 3 HPF2 = 1 RX_GAIN = RF_GAIN_TARGET_30dB + RX_GAIN_INPUT --reset and connect ar1.FullReset() ar1.SOPControl(2) ar1.Connect(COM_PORT,921600,1000) --download BSS FW if (ar1.DownloadBSSFw(BSS_FW) == 0) then WriteToLog("BSS FW Download Success\n", "green") else WriteToLog("BSS FW Download failure\n", "red") end RSTD.Sleep(500) -- Download MSS FW if (ar1.DownloadMSSFw(MSS_FW) == 0) then WriteToLog("MSS FW Download Success\n", "green") else WriteToLog("MSS FW Download failure\n", "red") end RSTD.Sleep(500) -- SPI Connect if (ar1.PowerOn(1, 1000, 0, 0) == 0) then WriteToLog("Power On Success\n", "green") else WriteToLog("Power On failure\n", "red") end RSTD.Sleep(500) -- RF Power UP if (ar1.RfEnable() == 0) then WriteToLog("RF Enable Success\n", "green") else WriteToLog("RF Enable failure\n", "red") end RSTD.Sleep(500) -- Channel Config if (ar1.ChanNAdcConfig(1, 1, 1, 1, 1, 1, 1, 2, 1, 0) == 0) then WriteToLog("ChanNAdcConfig Success\n", "green") else WriteToLog("ChanNAdcConfig failure\n", "red") end RSTD.Sleep(500) -- LDO Bypass Enable ar1.RfLdoBypassConfig(0x3) -- ADC Config if (ar1.LPModConfig(0, 0) == 0) then WriteToLog("Regualar mode Cfg Success\n", "green") else WriteToLog("Regualar mode Cfg failure\n", "red") end RSTD.Sleep(500) -- Enable Per Chirp Phase Shifter if (ar1.SetMiscConfig(1) == 0) then WriteToLog("Per Chirp Phase Shifter Enable Success\n", "green") else WriteToLog("Per Chirp Phase Shifter Enable failure\n", "red") end RSTD.Sleep(500) -- RF Init if (ar1.RfInit() == 0) then WriteToLog("RfInit Success\n", "green") else WriteToLog("RfInit failure\n", "red") end RSTD.Sleep(1000) -- Data Path Config if (ar1.DataPathConfig(513, 1216644097, 0) == 0) then WriteToLog("DataPathConfig Success\n", "green") else WriteToLog("DataPathConfig failure\n", "red") end if (ar1.LvdsClkConfig(1, 1) == 0) then WriteToLog("LvdsClkConfig Success\n", "green") else WriteToLog("LvdsClkConfig failure\n", "red") end if (ar1.LVDSLaneConfig(0, 1, 1, 0, 0, 1, 0, 0) == 0) then WriteToLog("LVDSLaneConfig Success\n", "green") else WriteToLog("LVDSLaneConfig failure\n", "red") end RSTD.Sleep(500) -- Profile Config if (ar1.ProfileConfig(0, START_FREQ, IDLE_TIME, ADC_START_TIME, RAMP_END_TIME, TX_BACKOFF, TX_BACKOFF, TX_BACKOFF, 0, 0, 0, SLOPE_CONST, TX_START_TIME, NUM_ADC_SAMPLES, SAMPLING_RATE, HPF1, HPF2, RX_GAIN) == 0) then WriteToLog("ProfileConfig Success\n", "green") else WriteToLog("ProfileConfig failure\n", "red") end if (ar1.ChirpConfig(0, 0, 0, 0, 0, 0, 0, 1, 1, 1) == 0) then WriteToLog("ChirpConfig Success\n", "green") else WriteToLog("ChirpConfig failure\n", "red") end if (ar1.FrameConfig(0, 0, 8, 128, 40, 0, 1) == 0) then WriteToLog("FrameConfig Success\n", "green") else WriteToLog("FrameConfig failure\n", "red") end RSTD.Sleep(500) -- Configure Chirp Based Phase Shifter if (ar1.SetPerChirpPhaseShifterConfig(0, 0, 0, 123.750, 247.500) == 0) then WriteToLog("Chirp Based Phase Shifter Configuration Success\n", "green") else WriteToLog("Chirp Based Phase Shifter Configuration failure\n", "red") end RSTD.Sleep(500) -- Connect DCA1000 if (ar1.SelectCaptureDevice("DCA1000") == 0) then WriteToLog("SelectCaptureDevice Success\n", "green") else WriteToLog("SelectCaptureDevice failure\n", "red") end if (ar1.CaptureCardConfig_EthInit("192.168.33.30", "192.168.33.180", "12:34:56:78:90:12", 4096, 4098) == 0) then WriteToLog("CaptureCardConfig_EthInit Success\n", "green") else WriteToLog("CaptureCardConfig_EthInit failure\n", "red") end if (ar1.CaptureCardConfig_Mode(1, 2, 1, 2, 3, 30) == 0) then WriteToLog("CaptureCardConfig_Mode Success\n", "green") else WriteToLog("CaptureCardConfig_Mode failure\n", "red") end if (ar1.CaptureCardConfig_PacketDelay(100) == 0) then WriteToLog("CaptureCardConfig_PacketDelay Success\n", "green") else WriteToLog("CaptureCardConfig_PacketDelay failure\n", "red") end RSTD.Sleep(1000) ----------------------------- Capture 1 ----------------------------- --Start Record ADC data ar1.CaptureCardConfig_StartRecord(adc_data_path1, 1) RSTD.Sleep(1000) --Trigger frame ar1.StartFrame() RSTD.Sleep(15000) --Packet reorder utility processing the Raw_ADC_data WriteToLog("Please wait for a few seconds for Packet reorder utility processing .....!!!! \n", "green") ar1.PacketReorderZeroFill(raw_data_path1, adc_data_path1, pkt_log_path1) RSTD.Sleep(10000) WriteToLog("Packet reorder utility processing done.....!!!! \n", "green")
