TI AWR1642 学习笔记4之串口数据流解析_1642 串口采集-程序员宅基地

技术标签: 毫米波雷达  

TI AWR1642 学习笔记4之串口数据流解析

目录

0.准备工作

​ 在不使用采集板的情况下,怎么去解析AWR1642 data port打印的数据流,我使用到的工具有串口助手(用于串口数据的打印与查看)、mmw Demo Data Structure v0.1.pdf(这个我的资源有上传https://download.csdn.net/download/hali52013/12819379)、SDK包中的C:\ti\mmwave_sdk_01_02_00_05\packages\ti\demo\io_interface目录下的mmw_output.h文件、还有目录C:\ti\mmwave_sdk_01_02_00_05\packages\ti\demo\xwr16xx\mmw\common下的mmw_messages.h文件、最后就是目录C:\ti\mmwave_sdk_01_02_00_05\packages\ti\demo\xwr16xx\mmw\docs\doxygen\html下的index.html文件,以上目录是因为我把SDK安装到C盘,所以各位可以根据自己找到自己安装的SDK目录下相应文件。

1.抓取数据

在准备好上述文件后,开始将板子中的bin文件烧录为官方SDK中的demo目录下对应的bin文件,我这里使用的串口调试助手为如下:

在这里插入图片描述

这里需要强调的一点是需要将波特率设置为921600,不然接受到的串口数据无法解析,烧录好相应的bin文件,使用mmWave Demo Visualizer将开发板配置发送进去,启动雷达卡发板,然后关闭mmWave Demo Visualizer,使用串口助手连接你的data port,一定要16进制显示,不然会是一堆字符乱码。显示一大堆数据后,保存数据即可;其实还有一种方式可以获取到数据,在mmWave Demo Visualizer软件的plot界面有个record按钮,如下图,点击保存也可以有相应的数据,不过保存的的文件为.dat格式的文件,可以用winHex软件打开。

2.分析数据

​ 在前面的一大堆准备工作做完后,开进入真正的主题——分析数据

接收下来的一大堆数据的如下面所示,刚开始我也是不知所措,不知道哪块对应哪块,比较慌。
在这里插入图片描述

所以这个时候之前准备的文档就起到了参看手册的作用,首先需要了解数据每一帧有多大,帧头、帧尾、信息都包含了什么

帧头看文档mmw_output.h,里面有个MmwDemo_output_message_header_t的结构体,介绍了帧头的结构信息是什么。包括含

如下图就是解析出来的帧头数据信息:

在这里插入图片描述

找完帧头就是找帧尾了,帧尾其实很简单找,就是一堆F的填充。主要从demo文件中的mss_main.c的代码可以看出:

在这里插入图片描述
在这里插入图片描述

到这里帧头和帧尾都找到了,接下来就是解析中间的信息了。

中间信息搞清楚必须要了解一帧数据的构成,这个时候mmw Demo Data Structure v0.1.pdf文档就起到关键的作用了

在这里插入图片描述

一帧数据包括8个部分,我们只是分析了第一个Header部分和最后一个Padding Bytes 部分

接下来是最重要的部分是Detected Objects,这部分的数据格式是TLV格式的数据

在这里插入图片描述

在index.html页面中主要由上图中的三个结构体构成数据,对应的代码也可以在网页中点击结构体跳转,下面是我解析的一段示例:

在这里插入图片描述

验证自己分析的数据对不,可以看字节数相加是否等于标定的数据包的长度,这里的公式为 (4+目标数*12)字节,和上图中0x34(52)是否相等。注意一点就是:数据的大小端,还有数据是以16进制显示的

接下来是Range Profile部分的数据解析,这部分的数据我看官方手册有个bug,不知道是按照

在这里插入图片描述

在这里插入图片描述

上图中的8+(# of range bins)2还是8+(# of range bins)4来解析,我这里按照后面的来解析的。这里涉及到一个range bins,它是

log 2(ADCsamples),这个ADCsamples为配置文件.cfg中profileCfg的倒数第五个数。这是根据查看mmwave_sdk_user_guide.pdf看到的。这段数据的代码暂时没有看到具体的解析。

在这里插入图片描述

后面部分的数据也是按照mmw Demo Data Structure v0.1.pdf解析出来的,解析数据时一定要先看代码部分,因为最标准的是代码,其次是数据结构手册,其中我就发现头结构中,代码就和手册有四个字节的出入,多了一个变量。这对后的数据解析很重要。希望大家多交流学习,这是我的一点学习分享。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hali52013/article/details/108651101

智能推荐

proe3.0安装教程_proe 3.0 m210安装教程-程序员宅基地

文章浏览阅读1.8k次。安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。[安装环境]:Win7/Win8/Win101.在桌面上找到“计算机”鼠标右击选择“属性”。2.点击“高级系统设置”。3.点击“环境变量”。4.点击“新建”。5.在“新建用户变量”中分别输入变量名“lang”和变量值“chs”后,点击确定。6.点击确定。7.点击确定。8.鼠标右击软件压缩包,选择解压到“Proe3.0_x64”。9.双击打开“Proe3.0_x64”。10.在文件夹中找到_proe 3.0 m210安装教程

STM32 硬件I2C EEPROM命令解析_i2c_ee_bytewrite(-程序员宅基地

文章浏览阅读3.7k次。STM32 硬件I2C EEPROM命令解析转载▼ 转载自互联网void I2C_EE_BufferWrite(u8* pBuffer, u8 WriteAddr, u16 NumByteToWrite){ u8 NumOfPage = 0, NumOfSingle = 0, Addr = 0, count = 0_i2c_ee_bytewrite(

MathType一章内公式编号不一致解决办法_mathtype公式与序号对不齐-程序员宅基地

文章浏览阅读8.7k次,点赞7次,收藏8次。问题写论文用MathType倒腾公式的时候常常碰到公式编号对不齐的问题,如下图所示:都是在第二章中,开头公式2.1-2.5都是正常的解决方法点击MathType-章节,如图:点击下一个,找到类似的多余的章节标识删除即可:..._mathtype公式与序号对不齐

python的generator、iterator、iterable_python gnerator 和iterable-程序员宅基地

文章浏览阅读105次。##python的高级特性----迭代器 参考:python的高级特性----迭代器 迭代器主要就是节省内存。在python中可以直接作用于for循环的数据类型有以下几种:(1)集合类型的数据:list, tuple, dict, set,str(2)generator: 包括生成器和 带yield 的 generator function上述对象可以直接作用于for循环,统称为可迭代对象:iterable,我们可以通过isinstance() 判断一个对象是否是Iterable对象:i_python gnerator 和iterable

微信小程序关联企业微信的自建应用后,静默登录_企业微信静默登录-程序员宅基地

文章浏览阅读1.3k次。首先,通过wx.qy.login获取到code,然后把这个code发送给我们自己写的接口api.getCompanyId,去请求到企业微信的id wx.qy.login({ success(res) { console.log("企业微信登录"); console.log(res); if (res.code && res.code != 6000) { // 通过this.setData方法,将上方d_企业微信静默登录

收集到的 hls rtmp rtsp 视频流测试地址_公开的hlsl监控地址-程序员宅基地

文章浏览阅读2.8w次。收集到的 hls rtmp rtsp 视频流测试地址hlshttps://video-dev.github.io/streams/x36xhzz/x36xhzz.m3u8http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8rtmprtmp://live.hkstv.hk.lxdns.com/live/hksrt..._公开的hlsl监控地址

随便推点

centos java1.8_CentOS8安装jdk1.8-程序员宅基地

文章浏览阅读257次。安装方法CentOS8上使用 yum 直接安装,环境变量自动配置好查看是否已安装看到下面结果,说明已经安装配置 jdk[root@xxx ~]# java -versionopenjdk version "1.8.0_222"OpenJDK Runtime Environment (build 1.8.0_222-b10)OpenJDK 64-Bit Server VM (build 25.222..._java-1.8.0-openjdk-headless(aarch-64) = 1:1.8.0.242.b08-1.h5.ky10 被 java-1.

从头开始搭建kubernetes集群+istio服务网格(1)—— 前期准备、安装docker、kubernetes_kubernetes docker 18.09.8-程序员宅基地

文章浏览阅读1.4k次。(win10 + virtualbox6.0 + centos7.6.1810 + docker18.09.8 + kubernetes1.15.1 + istio1.2.3)本系列分为三章,第一章是创建虚拟机、docker、kubernetes等一些基础设施;第二章是在此基础上创建一个三节点的kubernetes集群;第三章是再在之上搭建istio服务网格。本文参考了大量其他优秀作者的创作(已经在开头列出),自己从零开始,慢慢搭建了istio服务网格,每一步都在文章中详细地列出了。_kubernetes docker 18.09.8

google app engine 实现的网络硬盘,支持外链、权限管理和批量上传_google硬盘外链-程序员宅基地

文章浏览阅读626次。picasa被封之后一直找不到合适的地方放相册,后来看到了google app engine。 用GAE开发了一个简单的网络硬盘,支持外链、权限设置和多文件批量上传功能。 权限设置部分通过设置目录属性实现,设为私有则只有APP的管理员登录后才可见,也可设是否对访问者列出目录内容。 多文件批量上传功能通过flex实现的,客户端需要flash player 10以上,上传失败会自动重试。测试中遇到个别文件上传总是失败,原因还未知_google硬盘外链

matlab进行m k检验,用Matlab进行MK检验.doc-程序员宅基地

文章浏览阅读3.1k次。用Matlab进行MK检验用Matlab进行Mann-Kendall分析一、M-K趋势分析法与M-K突变检验的原理介绍1、Mann-Kendall趋势分析法非参数检验,又称任意分布检验,它不对变量的分布做严格假定,检验不针对特定的参数,而是模糊地对变量分布的中心位置或分布状态做检验,由于其不对总体分布做严格假定,因而适用性强[12]。因此,本文采用非参数的Mann-Kendall检验法对昌马河流域..._matlab mk 趋势检测结果

windows开机自启bat_servers 2016 设置开机启动.bat程序-程序员宅基地

文章浏览阅读6.3k次。windows 开机自动运行bat,bat文件放到“启动”目录即可。具体步骤:(1)打开C盘,依次按下图,查看->隐藏文件项目打勾->打开文件夹ProgrameData。或者直接粘贴访问C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp(2)拷贝bat到该启动目录下。————————————————版权声明:本文为CSDN博主「木易GIS」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声_servers 2016 设置开机启动.bat程序

【收藏】计算机专业常用学习网站_计算机学习网站-程序员宅基地

文章浏览阅读9.8k次,点赞27次,收藏174次。计算机专业常用的网站_计算机学习网站

推荐文章

热门文章

相关标签