在使用DCA1000采集雷达数据时,一般情况下我们需要进入mmwave studio软件一个一个手动配置雷达参数信息,这样太麻烦了,如果用lua脚本的话,就能够一键配置所有参数,非常方便
具体代码见底
硬件
TI IWR1843 BOOST
DCA1000
软件
mmWave SDK(本人是03.05.00.04版本)
mmWave Studio(本人是02.01.01.00版本)
MATLAB R2022b
MATLAB Runtime R2015aSP1_win32(这个不安装的话会影响mmwave studio的连接),下载链接
Lua脚本
需要用到的共有两个lua脚本文件:DataCapture.lua和FrameStart.lua,这两个脚本需要放到mmwave studio安装目录下的Scripts文件夹。
其中FrameStart.lua不用更改,DataCapture.lua文件包含studio软件设置和雷达参数配置的所有信息,只需要更改DataCapture.lua这一个脚本即可。
首先需要更改端口号,把第一个数字改成User UART的端口号,我这里是15:
然后就是各种雷达参数设置:
这里需要先阅读MMWAVE SDK User Guide的p19-33部分,搞清楚每个cfg里面的数字对应的是什么,在修改lua参数的时候对着这个改
以下是需要更改的cfg:
channelCfg和adcCfg
与sdk user guide不同,这里是先Tx再Rx
————
profileCfg
根据自己使用的雷达更改对应部分的参数:
我用的是1843,一些数字说明如下:
————
chirpCfg
这里我用的三根发射天线,所以配置了三个。最后三个数字是tx的对应编号,100表示tx0,010表示tx1,001表示tx2。如果你是用两根tx(比如1642),那就删掉第三个config
chirpConfig的参数对应:
————
frameCfg
具体参数说明见sdk user guide的p23
frameCfg的参数对应如下
其它的一般不需要更改,每次采集数据前需要确保自己的配置参数是否正确
Matlab代码
如下图所示,需要用到的共有3个.m文件:
Init_RSTD_Connection.m
用于RSTD的初始化和连接,可以理解为用来将雷达和studio连接
RadarConfigure.m
用于将DataCapture.lua脚本里面的配置代码发送到studio,实现雷达参数配置
SendCaptureCMD.m
用于发送采集雷达数据的命令到雷达,包括bin文件的保存路径设置。运行该文件后雷达开始采集数据
操作步骤
先把DCA1000和1843板子连接好,其中1843模式设置为011(SOP2为0),还需要设置一下本地连接的IP地址,这里不多介绍DCA1000EVM使用指南https://blog.csdn.net/bigData1994pb/article/details/117112725
1、打开studio,等待初始化完成(FTDI 显示connected),如下图所示
2、打开matlab,把所有.m文件放在一个文件夹,点开RadarConfigure.m文件
我的studio是装在C盘的ti目录,RSTD_DLL_Path是RtttNetClientAPI.dll的文件路径,strFilename是DataCapture.lua脚本的文件路径。需要注意,strFilename的路径有两个斜杠
3、点击运行,命令行窗口会跳出以下内容:
这时候表示matlab已经通过lua脚本向studio发送配置参数了,我们转到studio,点开output窗口:
等待studio加载配置,大概需要1分钟左右。加载成功后界面上应该都是绿色的Success提示,最后几行长这样,就表示参数配置成功了:
这时候你可以去SensorConfig界面检查一下各个参数是否正确
如果遇到FPGA版本无法正常读取,如“Unable to read FPGA Version.”
尝试重启雷达、studio和matlab,并检查DCA的网线是否插好,网口是否为千兆网口,并且务必关闭360、电脑管家等软件!
4、点开SendCaptureCMD.m文件,设置data_path(保存文件夹)和bin_name(bin文件名),检查RSTD_DLL_Path和strFilename是否正确
注意:
每次采集都需要更改bin_name,否则上次保存的bin文件会被覆盖(之前有研究过自动迭代后缀数字的函数,觉得有点麻烦,加上自己做实验也需要经常更改bin文件名,就没咋深究了)
另外,保存的bin文件会自动补上_Raw_0的后缀,如果你保存的bin文件大于1GB,则会自动分成多个bin文件(每个上限1GB),这时多出的bin文件会自动迭代_Raw_1等后缀
5、运行SendCaptureCMD.m,雷达开始采集数据
命令行窗口会显示相应的内容,这时候DCA应当开始闪烁,代表正在采集数据
采集完后可以检查一下bin文件数据大小(字节数)是否正确,数据量大小计算公式:
TxNum * RxNum * adcSamp * chirploops * frameNum * 4(bytes)
自此,使用matlab控制mmwave studio采集雷达数据的流程结束,一次配置成功后,之后的数据采集都只需要一键操作,即运行 SendCaptureCMD文件即可
代码获取
链接:https://pan.baidu.com/s/1jypsWy5XDWq5qqNPPrT0Nw
提取码:hiyo
参考来源
有问题的可以在评论区交流~