本文编辑:调皮哥的小助理
保持关注调皮哥,获得更多雷达学习资料和建议!十分感谢读者@爱吃铜锣烧的多啦a梦,为调皮哥撰写本文教程。
注意:TI的其他毫米波雷达板卡也可以参考本文教程操作。
一、引言
大家好,我是喜欢把问题研究明白的调皮哥。
如果我的文章能够给你带来价值,希望能够关注我。
如果我的文章能够让你学习到知识,希望你能够点个赞!
好了下面开始今天的学习内容吧。
本文主要是针对IWR1642串口数据采集的烧写流程进行介绍以及在串口数据采集过程中常见bug的复现。
本文的必要性说明:之前收到多位读者在《TI单芯片毫米波雷达IWR1642使用串口采集原始数据教程(附MATLAB代码、bin文件和数据)》一文中遇到了数据无法采集的问题,因此特地出一篇教程,把一些关键的问题阐述清楚,便于大家学习。
二、基本操作
-
使用Uniflash固化编译好的xwr16xx_mmw_demo.bin文件,板卡模式修改为功能模式;
-
上电,打开MATLAB程序,自动连接串口,点击运行,即可开始一帧数据的采集了。
-
采集完成之后,输出的是2D-FFT的结果。
整个操作流程包括下载程序,模式配置,数据保存,数据分析。
三、下载和模式配置
数据和程序获取方式如下:TI单芯片毫米波雷达IWR1642使用串口采集原始数据教程(附MATLAB代码、bin文件和数据)
打开程序并通读,主要包括雷达参数定义、坐标计算、打开并读取串口并保存数据(若loadCfg为0则回放已经存好的数据,默认为angle_4.mat),数据读取、拆分、组合、分放以及后续的数据分析。
串口可以自动识别并连接,具体过程可以查看子程序部分。如果没能连接可以查看下是否有别的程序占用了端口资源,比如uniflash、串口调试助手等,可以在设备管理器中查看UART和数据端口的信息,可以使用函数delete(instefind)删除串口。
采用uniflash来对编译好的xwr16xx_mmw_demo.bin文件进行烧写,如果烧写过程中出现异常(如烧写过程停滞等),可以依次尝试检查SOP口的工作状态是否是101(1表示连接跳线帽),重新上电,重启电脑。Bin文件包括了DSS、MSS、BSS的相关信息,通过UART端口进行烧写即上图的COM38。
四、程序运行
将SOP设置为001(工作模式)打开MATLAB点击运行,如果出现黄色字体的报错,可以检查MATLAB版本,推荐2021a,旧版本对串口函数的兼容性不好,也可能是工作状态设置不对没能完成读取,可以依次检查一下。
五、雷达配置
整个过程复现完毕,现在我们来看一下如何进行雷达配置的问题,雷达配置通过cfg文件进行配置,通过UART串口将cfg文件传输给雷达,雷达读取该文件的内容并对相关参数进行赋值,具体的计算过程在往期文章中已经讲过不再介绍(需要满足存储空间等的相关条件否则读取保存也会报错)。
关于cfg文件具体的内容可以查看SDK文件夹中mmWave SDK user guide第三章。也有部分例程不需要烧写cfg文件也可以,比如AWR1642的手势识别等,这是因为手势识别最终只需要返回手势判断的结果,根据具体情况而定,大多数还是需要的。
end!
再次感谢@爱吃铜锣烧的多啦a梦的辛勤付出,复现内容对后来使用串口采集原始数据很有帮助。
感谢阅读,如果本文对你有帮助,希望可以给我点个赞!