【教程 | IWR1642串口数据采集的烧写以及Bug复现】

本文编辑:调皮哥的小助理

保持关注调皮哥,获得更多雷达学习资料和建议!十分感谢读者@爱吃铜锣烧的多啦a梦,为调皮哥撰写本文教程。

注意:TI的其他毫米波雷达板卡也可以参考本文教程操作

一、引言

大家好,我是喜欢把问题研究明白的调皮哥。

如果我的文章能够给你带来价值,希望能够关注我。

如果我的文章能够让你学习到知识,希望你能够点个赞!

好了下面开始今天的学习内容吧。

本文主要是针对IWR1642串口数据采集的烧写流程进行介绍以及在串口数据采集过程中常见bug的复现。

本文的必要性说明:之前收到多位读者在《TI单芯片毫米波雷达IWR1642使用串口采集原始数据教程(附MATLAB代码、bin文件和数据)》一文中遇到了数据无法采集的问题,因此特地出一篇教程,把一些关键的问题阐述清楚,便于大家学习。

二、基本操作

  1. 使用Uniflash固化编译好的xwr16xx_mmw_demo.bin文件,板卡模式修改为功能模式;

  2. 上电,打开MATLAB程序,自动连接串口,点击运行,即可开始一帧数据的采集了。

  3. 采集完成之后,输出的是2D-FFT的结果。

整个操作流程包括下载程序,模式配置,数据保存,数据分析。

三、下载和模式配置

数据和程序获取方式如下:TI单芯片毫米波雷达IWR1642使用串口采集原始数据教程(附MATLAB代码、bin文件和数据)

打开程序并通读,主要包括雷达参数定义、坐标计算、打开并读取串口并保存数据(若loadCfg为0则回放已经存好的数据,默认为angle_4.mat),数据读取、拆分、组合、分放以及后续的数据分析。

【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第1张图片

串口可以自动识别并连接,具体过程可以查看子程序部分。如果没能连接可以查看下是否有别的程序占用了端口资源,比如uniflash、串口调试助手等,可以在设备管理器中查看UART和数据端口的信息,可以使用函数delete(instefind)删除串口。

【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第2张图片

采用uniflash来对编译好的xwr16xx_mmw_demo.bin文件进行烧写,如果烧写过程中出现异常(如烧写过程停滞等),可以依次尝试检查SOP口的工作状态是否是101(1表示连接跳线帽),重新上电,重启电脑。Bin文件包括了DSS、MSS、BSS的相关信息,通过UART端口进行烧写即上图的COM38。

【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第3张图片
【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第4张图片

四、程序运行

将SOP设置为001(工作模式)打开MATLAB点击运行,如果出现黄色字体的报错,可以检查MATLAB版本,推荐2021a,旧版本对串口函数的兼容性不好,也可能是工作状态设置不对没能完成读取,可以依次检查一下。

【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第5张图片

五、雷达配置

整个过程复现完毕,现在我们来看一下如何进行雷达配置的问题,雷达配置通过cfg文件进行配置,通过UART串口将cfg文件传输给雷达,雷达读取该文件的内容并对相关参数进行赋值,具体的计算过程在往期文章中已经讲过不再介绍(需要满足存储空间等的相关条件否则读取保存也会报错)。

关于cfg文件具体的内容可以查看SDK文件夹中mmWave SDK user guide第三章。也有部分例程不需要烧写cfg文件也可以,比如AWR1642的手势识别等,这是因为手势识别最终只需要返回手势判断的结果,根据具体情况而定,大多数还是需要的。

【教程 | IWR1642串口数据采集的烧写以及Bug复现】_第6张图片

end!

再次感谢@爱吃铜锣烧的多啦a梦的辛勤付出,复现内容对后来使用串口采集原始数据很有帮助。

感谢阅读,如果本文对你有帮助,希望可以给我点个赞

你可能感兴趣的:(毫米波雷达基本原理,bug,matlab,开发语言)