Part Number: IWR1843BOOST
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")
