大家好,我是 Kim
如标题所示、我希望使用 mmWave Studio 和 lua 脚本创建连续的毫米波传感系统。
当我仅使用 mmWave Studio 操作毫米波传感时、我可以获取 ADC_DATA.bin (4、096KB)
但是、当我使用自定义 lua 脚本和 MATLAB 运行毫米波传感时、我可以获得 ADC_DATA.bin (4、094KB)
我猜两个字节的差异意味着我的 lua 代码是错误的。
如果您注意到需要在我的 lua 脚本中修改该器件、请告诉我
我附加了 lua 脚本文件。
--Testfile
WriteToLog ("它只是测试2\n"、"绿色")
WriteToLog ("它只是测试3\n"、"绿色")
WriteToLog ("它只是测试3\n"、"绿色")
RSTD.SLEEP (2000)
--完全复位
AR1.FullReset()
RSTD.SLEEP (1000)
AR1.SOPControl (2)
RSTD.SLEEP (1000)
-- RS232连接
AR1.Connect (4、921600、1000)
RSTD.SLEEP (1000)
--BSS 和 MSS 固件下载
info = debug.getinfo (1、's');
file_path =(info.source);
file_path = string.gsub (file_path、"@"、"");
file_path = string.gsub (file_path、"Test3.lua"、"");
fw_path = file_path."..\..\RF_eval_firmware"
--Export 位操作文件
bitopfile = file_path."\\."bitoperations.lua"
dofile (bitopfile)
-读取零件标识
RES、efuserow9 = AR1.ReadRegister (0xffffff210、0、31)
如果(bit_and (efuserow9、3)==0)则
PartID = 1243
ElseIf (bit_and (efuserow9、3)==1)
PartID = 1443
其他
PartID = 1642
结束
--ES 版本
RES、ESVersion = AR1.ReadRegister (0xFFFFE218、0、31)
ESVersion = bit_and (ESVersion、15)
--adc_Data 文件和原始文件以及 PacketReorder 实用日志文件路径
data_path = file_path."..\PostProC"
ADC_DATA_PATH = DATA_PATH。"\\ADC_DATA.bin"
--adc_data_patha = data_path."\\adc_data2.bin"
RAW_DATA_PATH = DATA_PATH。"\\ADC_DATA_Raw_0.bin"
pkt_log_path = data_path."\\pktlogfile.txt"
--여러번 센싱할 수 있도록 경로 설정 μ A
A ={}
b ={}
C ={}
如果 I = 1、5、请执行
--a [i]= string.format ("%s%d%s"、"data_path.\"\\adc_data"、i、".bin\")
A[i]=string.format ("%s%d%s"、"C:\\ti\\mmwave_studio _01_00_00\mmWaveStudio\\Scripts\\..\PostProp\\adc_data"、i、".bin")
b[i]=string.format ("%s%d%s"、"C:\\ti\\mmwave_studio _01_00_00\mmWaveStudio\\Scripts\\..\PostProp\\adc_data"、i、"_Raw_0.bin")
C[i]=string.format ("%s%d%s"、"C:\\ti\\mmwave_studio 01_00_00_00\\mmWaveStudio\\Scripts\..\PostProp\\pktlogfile"、i、".txt")
结束
--下载 BSS 固件(AR16xx)
然后((PartID =1642)和(ESVersion ==1))
bss_fw = fw_path."\\radarss\\xwr16xx_radarss_rprc_es1.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr16xx_masterss_rprc_ES1.0.bin"
然后是 ElseIf ((PartID ==1642)和(ESVersion ==2))
bss_fw = fw_path."\\radarss\\xwr16xx_radarss_rprc_es2.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr16xx_masterss_rprc_ES2.0.bin"
然后是 ElseIf ((PartID ==1243)和(ESVersion ==2))
bss_fw = fw_path."\\radarss\\xwr12xx_xwr14xx_radarss_es2.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr12xx_xwr14xx_masterss_ES2.0.bin"
然后是 ElseIf ((PartID ==1243)和(ESVersion ==3))
bss_fw = fw_path."\\radarss\\xwr12xx_xwr14xx_radarss_es3.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr12xx_xwr14xx_masterss_ES3.0.bin"
然后是 ElseIf ((PartID ==1443)和(ESVersion ==2))
bss_fw = fw_path."\\radarss\\xwr12xx_xwr14xx_radarss_es2.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr12xx_xwr14xx_masterss_ES2.0.bin"
ElseIf ((PartID ==1443)和(ESVersion ==3)))
bss_fw = fw_path."\\radarss\\xwr12xx_xwr14xx_radarss_es3.0.bin"
MSS_FW = FW_PATH。"\\masterss\\xwr12xx_xwr14xx_masterss_ES3.0.bin"
其他
WriteToLog ("Invlid Device PartID FW\n"..PartID)
WriteToLog ("Invlid Device ESVersion\n"..ESVersion)
结束
--下载 BSS 固件(AR16xx)
如果(AR1.DownloadBSSFw (BSS_FW)= 0)则
WriteToLog ("BSS 固件下载成功\n"、"绿色环保")
其他
WriteToLog ("BSS 固件下载失败\n"、"红色")
结束
RSTD.SLEEP (2000)
--下载 MSS 固件
如果(ar1.DownloadMSSFw (MSS_FW)=0)那么
WriteToLog ("MSS FW 下载成功\n"、"绿色环保")
其他
WriteToLog ("MSS 固件下载失败\n"、"红色")
结束
RSTD.SLEEP (2000)
-- SPI 连接
如果(AR1.PowerOn (1、1000、0、0)= 0)则
WriteToLog ("上电成功\n"、"绿色环保")
其他
WriteToLog ("上电失败\n"、"红色")
结束
RSTD.SLEEP (1000)
--射频加电
如果(AR1.RfEnable()==0)那么
WriteToLog ("RF Enable Successn"、"绿色环保")
其他
WriteToLog ("RF Enable Failure\n"、"red")
结束
RSTD.SLEEP (1000)
--
IF (AR1.ChanNAdcConfig (1、1、0、1、1、1、 1、1、2、1、0)==0)
WriteToLog ("ChanNAdcConfig 成功\n"、"绿色环保")
其他
WriteToLog ("ChanNAdcConfig 失败\n"、"红色")
结束
RSTD.SLEEP (1000)
如果(PartID = 1642)则
如果(AR1.LPModConfig (0、1)= 0)、则
WriteToLog ("LPModConfig 成功\n"、"绿色环保")
其他
WriteToLog ("LPModConfig Failure\n"、"red")
结束
其他
如果(AR1.LPModConfig (0、0)= 0)则
WriteToLog ("regualar mode Cfg Success\n"、"绿色环保")
其他
WriteToLog ("regualar mode Cfg failure\n"、"red")
结束
结束
RSTD.SLEEP (2000)
如果(AR1.RfInit()==0)则
WriteToLog ("RfInit 成功\n"、"绿色环保")
其他
WriteToLog ("RfInit Failure\n"、"red")
结束
RSTD.SLEEP (1000)
如果(AR1.DataPathConfig (1、1、0)= 0)、则
WriteToLog ("DataPathConfig 成功\n"、"绿色环保")
其他
WriteToLog ("DataPathConfig 失败\n"、"红色")
结束
RSTD.SLEEP (1000)
如果(AR1.LvdsClkConfig (1、1)= 0)、则
WriteToLog ("LvdsClkConfig 成功\n"、"绿色环保")
其他
WriteToLog ("LvdsClkConfig 失败\n"、"红色")
结束
RSTD.SLEEP (1000)
如果(PartID = 1642)则
IF (AR1.LVDSLaneConfig (0、1、1、0、0、 1、0、0)= 0)
WriteToLog ("LVDSLaneConfig 成功\n"、"绿色环保")
其他
WriteToLog ("LVDSLaneConfig 失败\n"、"红色")
结束
然后、ElseIf ((PartID ==1243)或(PartID =1443))
IF (AR1.LVDSLaneConfig (0、1、1、1、1、1、 1、0、0)= 0)
WriteToLog ("LVDSLaneConfig 成功\n"、"绿色环保")
其他
WriteToLog ("LVDSLaneConfig 失败\n"、"红色")
结束
结束
RSTD.SLEEP (1000)
如果(PartID = 1642)则
if (ar1.ProfileConfig (0、77、100、6、60、 0、0、0、0、0、 0、29.982、0、256、5000、 0、0、30)= 0)然后
WriteToLog ("ProfileConfig 成功\n"、"绿色环保")
其他
WriteToLog ("ProfileConfig Failure\n"、"red")
结束
然后、ElseIf ((PartID ==1243)或(PartID =1443))
if (ar1.ProfileConfig (0、77、100、6、60、 0、0、0、0、0、 0、29.982、0、256、10000、 0、0、30)= 0)然后
WriteToLog ("ProfileConfig 成功\n"、"绿色环保")
其他
WriteToLog ("ProfileConfig Failure\n"、"red")
结束
结束
RSTD.SLEEP (1000)
IF (AR1.ChirpConfig (0、0、0、0、0、0、 0、0、1、1、0)==0)
WriteToLog ("ChirpConfig 成功\n"、"绿色环保")
其他
WriteToLog ("ChirpConfig 失败\n"、"red")
结束
RSTD.SLEEP (1000)
IF (AR1.FrameConfig (0、0、8、128、40、 0、1)==0)、那么
WriteToLog ("FrameConfig Success\n"、"绿色环保")
其他
WriteToLog ("FrameConfig Failure\n"、"red")
结束
RSTD.SLEEP (1000)
--选择设备类型
如果(AR1.SelectCaptCaptureDevice ("DCA1000")=0)则
WriteToLog ("SelectCaptCaptCaptureDevice Success\n"、"绿色环保")
其他
WriteToLog ("SelectCaptCaptCaptureDevice Failure\n"、"RED")
结束
RSTD.SLEEP (1000)
数据采集卡 API
如果(ar1.CaptureCardConfig_EthInit("192.168.33.30"、"192.168.33.180"、"12:34:56:78:90:12"、4096、4098)== 0")则
WriteToLog ("CaptureCardConfig_EthInit 成功\n"、"绿色环保")
其他
WriteToLog ("CaptureCardConfig_EthInit Failure\n"、"red")
结束
RSTD.SLEEP (1000)
-AR12xx 或 AR14xx-1、AR16xx-2 (第二个参数表示器件类型)
如果(PartID = 1642)则
IF (AR1.CaptureCardConfig_Mode (1、2、1、2、3、 30)==0)那么
WriteToLog ("CaptureCardConfig_Mode Success\n"、"绿色环保")
其他
WriteToLog ("CaptureCardConfig_Mode Failure\n"、"RED")
结束
然后、ElseIf ((PartID ==1243)或(PartID =1443))
IF (AR1.CaptureCardConfig_Mode (1、1、1、2、3、 30)==0)那么
WriteToLog ("CaptureCardConfig_Mode Success\n"、"绿色环保")
其他
WriteToLog ("CaptureCardConfig_Mode Failure\n"、"RED")
结束
结束
RSTD.SLEEP (1000)
如果(AR1.CaptureCardConfig_PacketDelay (50)=0)、则
WriteToLog ("CaptureCardConfig_PacketDelay 成功\n"、"绿色环保")
其他
WriteToLog ("CaptureCardConfig_PacketDelay 失败\n"、"RED")
结束
RSTD.SLEEP (1000)
-- PacketDelay를 50으로 해줘야 PostProcessing에서 MWMCR:관련 빨간글씨 error가 안나옴 μ H
--------------
--Start Record ADC data (开始记录 ADC 数据)
AR1.CaptureCardConfig_StartRecord (ADC_DATA_PATH、1)
RSTD.SLEEP (1000)
触发帧
ar1.StartFrame ()
RSTD.SLEEP (2000)
--Packet reorder 实用程序处理 Raw_ADC_data
WriteToLog ("请等待几秒钟以进行数据包重新排序实用程序处理..... !!!! "n"、"绿色")
AR1.PacketReorderZeroFill (Raw_data_path、adc_data_path、pkt_log_path)
RSTD.SLEEP (10000)
WriteToLog ("数据包重新排序实用程序处理完成.....。 !!!! "n"、"绿色")
-对捕获原始 ADC 数据进行后处理
--ar1.StartMatlabPostProc (adc_data_path)
--WriteToLog ("请等待几秒钟以进行 MATLAB 后处理..... !!!! "n"、"绿色")
-RSTD.SLEEP (10000)
如果 I = 1、3、请执行
-temp_adc_data_path= a[i]
AR1.CaptureCardConfig_StartRecord (A[i]、1)
RSTD.SLEEP (1000)
触发帧
ar1.StartFrame ()
RSTD.SLEEP (2000)
--ar1.CaptureCardConfig_StopRecord()
--Packet reorder 实用程序处理 Raw_ADC_data
WriteToLog ("请等待几秒钟以进行数据包重新排序实用程序处理..... !!!! "n"、"绿色")
AR1.PacketReorderZeroFill (b[i]、a[i]、c[i])
RSTD.SLEEP (10000)
--WriteToLog ("数据包重新排序实用程序处理完成.....。 !!!! "n"、"绿色")
RSTD.SLEEP (4000)
结束