- 2021年6月11日 更新中... 先记录一些关键坑。有问题可以留言
- 2021年9月26日 更新了matlab处理相关参考的文件路径
- 2022年8月9日 更新 matlab 解析UDP 实现 streaming
硬件
TI AWR1843 Boost EVM ES2.0(AWR1642 ES2.0类似)
DCA1000 EVM
需要注意的几点
- *先使用uniflash擦除1843中的flash
- *SPI模式
- *SOP设置
软件
- TI的所有软件最好安装到默认的C:\ti盘下
- 按照mmwave studio user guide 的教程安装对应的matlab runtime
matlab
- mmwave studio 2最新版(注意版本,版本release中说支持的是1843是ES1.0的,实际上是个typo,居然至今没有修改过来。)
- 使用matlab控制需要2个.m脚本(Init_RSTD_Connection.m和RSTD_Interface_Example.m,需要自己按需修改),参见 安装目录(比如mmwave_studio_02_01_01_00\docs)下的user guide的matlab控制一节:Controlling mmWaveStudio from Matlab。
流程 (使用mmwave studio GUI 和 LUA脚本)
使用LUA脚本
使用脚本很简单直接
使用GUI
mmwave studio 使能能三个发射
三个发射每一个都要配置一遍
Below are the steps for configuring TX TDM MIMO configuration. As you see I define 1 profile (Profile Id = 0). Then I define 2 chirps, 0 and 1. Chirp 0 enables TX0, Chirp 1 enables TX1.
Then in frame configuration, I enable Chirp 0 and Chirp1 and Loop them 32 times to create a frame of 64 chirps.
编辑https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/3806.1.jpg
编辑https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/0245.2.jpg
编辑https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/2311.3.jpg
编辑https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/1023/8105.4.jpg
Regarding other comments,
TX3 is available in AWR1243 and AWR1443 which are different parts of the mmWave product family. AWR1642 has 2 TX.
Chip Manager, TX enable should be either 0 or 1.
数据解析
由bin文件解析出mat文件,size n_Tx*n_chirp_per_frame*n_Rx*n_sample
其实 mmwave studio已经自带了解析程序了(适用xwr1xxx所有型号)
单chip的话路径在mmWaveStudio\MatlabExamples\singlechip_raw_data_reader_example,自带的readme写得很清楚:This Matlab script is to post process a *.setup.json file generated from mmwave studio with captured bin files.
It generates mat files for raw ADC data and radar cube data.如果使用自带的matlab程序,需要使用studio导出json文件。json文件里记录了你设置的配置信息。
数据分析
由mat进行简单分析(rangefft cfar etc.)
使用matlab实现自动化采集与显示
- 使用matlab控制studio执行LUA脚本
- 使用matlab脚本来控制mmwave studio实现采集处理流程自动化
- 使用 RSTD运行lua脚本并且将bin解析成mat。
控制DCA1000 无限上传
- 使用matlab解析网口数据,实现数据流式的实时采集处理
- 最近重新实现了通过matlab来抓去UDP数据并解析,中间有几点需要注意
- 在frameconfig中将frame数设置成0,这样采集的frame数会是infinity
- mmwave studio中的关于DCA1000的控制实际上是调用了DCA1000 control exe,可以参考dca1000 CLI control的文档
- cli start record之后,会自己接收上传的数据,如果自己接收不到会触发一个time out中止 dca1000的采集和上传(非常坑啊,我之前总是采集2min之后就发现没有包上传了,明明dca1000设置的上限是1024M)
- 经过一番trick,终于能通过matlab一直流式抓网口包+解析radar数据+实时显示了。目前我的破电脑只能实现15 frame/sec。。
- 目前上传的数据量上限已经是既定的1024M了。大概100万个UDP包之后会停止。
- 最近重新实现了通过matlab来抓去UDP数据并解析,中间有几点需要注意
- udp格式参见相关文档。如果你能自己解析前一部分的bin了,并且能抓到UDP包,此处应该不复杂了,但是需要处理一些丢包和乱序,毕竟UDP是不能保证顺序并且容易丢包。
- 关于网口解包的格式,实际的格式建议通过wireshark抓来看一下确认下。可能和手册上的有出入,毕竟手册太多,更新同步可能不及时。在使用studio自带的trigger采集功能时,网口也能用wireshark抓到数据,实际看下帧头,确认下帧格式,就方便自己写抓包解析程序了。
Contact Me
I give instruction, not specification.