TI 毫米波雷达开发项目子任务拆解分析

概述

很多刚刚入坑雷达开发的小伙伴会觉得雷达开发很难上手,面对着不同的软件不知道它们的作用和功能(典型的问题如 不知道Visuallizer 和 mmWave Studio 的区别等)、众多的硬件板卡和芯片也不知道怎么用(如经常有人问:DCA1000是干什么的,没有它能不能进行雷达开发、更不要说庞大的用户手册、专业的程序架构、雷达基础知识等等,刚接触雷达的人会感觉一头雾水,整个体系庞大而无从下手。

出现这些困惑的原因一方面在于基础理论的缺乏,更多的一方面在于对TI的开发生态不够清晰。基础理论放之四海而皆准,可以通过各种各样的方式去补充,但对TI开发生态的学习并不涉及那么多知识性的内容,大部分要靠经验,自己摸索本身是个比较痛苦且低效的过程。还有一个涉及经验性的问题就是对项目的全局性认知,可能多数人面临的是一个具体的技术问题,对这方面的关注不是很多,对项目的全局性认知不是去主导和规划一个项目,而是对项目的进度和节奏有基本的认识,明白自己所做的工作属于项目的哪个部分,明确当前部分要关注和解决的核心问题是什么,站在一个比较高得角度考虑问题往往能够更加全面,也能更大程度上避免返工的情况出现。举个例子,如果把人生的受教育经历看做一个项目就会经历下面的这几个部分。如果从刚上幼儿园的时候就能够对这个项目有整体的认识,一眼望到大学上完进入社会的结果,这种情况下对和处理各个阶段的问题的方法和态度显然会截然不同。通过和老师\领导的沟通+自身的梳理,站在上帝视角看整个项目就会有一种把控感。

在这里插入图片描述

因此本文针对整个毫米波雷达开发项目目标进行分析,总全局的角度将其拆解成6个子任务,大多数人所作的工作大概率会落到这6个子任务中的某几个中,然后对各个子任务中要用到的工具和涉及的能力栈进行穿插介绍。

1. 雷达开发任务拆解

雷达项目开发是一个比较大的话题,不同的项目会面临不同的目标,这些目标包括但是不限于下面提到的这些,尽管这些项目最终的目标不一样,但是里面涉及的子任务是有共通性的。
在这里插入图片描述
以做一个模型机为例(这个比较典型,也能囊括大多数的任务),大概可以分成器件选型、方案评估、算法开发、软件开发、硬件开发、测试 等以下6点,值得注意的是,下面分解的任务不是以时间线为轴顺序展开的,不同的项目也不一定全部涉及所有的任务,确定自己的任务属性后就可以直接对号入座,本文也将以下面几个任务划分展开叙述

在这里插入图片描述

在TI毫米波雷达开发过程中可能会部分遇到以下场景,各种场景的资料及工具、对应的知识技能要求在各个节点下面附上:

2. 器件选型

这个概念不是我们设计PCB时进行阻容分立元件、电源、晶振等器件的选型,这种意义上的选型属于硬件设计环节,这里的器件选型指的的是选择合适的雷达芯片,TI推出的雷达芯片种类众多,功能各异,这个任务一般是在项目启动前,要对市面上现存的雷达芯片进行器件选型,在合理评估项目需求、经费、器件性能、器件参数的基础上选出一款最合适的器件。一般在公司官方网站的产品里面能够找到,这里我们只涉及TI的雷达芯片。

2.1 能力栈

这部分需要的是一些综合的能力和一定的经验,要有能力站在项目的未启动节点就看到项目的最终形态,需要考虑器件的配置、售价、稳定性、货源等综合信息评估决定。这个任务对产品项目要求比较高,对于科研或者竞赛项目而言,大多数人不会经历这个任务或者这个任务不是特别关注,更多的时候,是直接被丢给一个雷达的板子或者直接继承过来一个板子使用的,所以这里简单带过,需要深入讨论的可以私信我。

2.2 参考资料及工具

TI雷达芯片的软件和硬件概述在TI毫米波雷达软硬件概述 这篇文章中有大概介绍,TI的器件选型工具在TI毫米波雷达器件选型工具中可以找到。
在这里插入图片描述
TI毫米波雷达器件选型工具能够帮助我们完成基础条件的筛选,但是各个项目的需求之间差别很大,详细评估还是要结合器件数据手册、软件SDK 等各种综合因素进行,器件的DataSheet中包含了器件最详细的介绍,以AWR6843为例,在TI官网直接搜索AWR6843就能够看到对应器件的数据手册(DataSheet)。
在这里插入图片描述

3. 方案可行性快速评估

在确定要用的器件之后,一般情况下要进行方案的可行性评估,器件评估的结果只能提供大概的方向,但是不能保证选定的器件是否能够真正满足需求,器件的性能受各种环境因素干扰,不能完全保证选型的器件能够满足业务需求。

举个例子,某个项目中要求雷达距离分辨率为12cm,经过计算和器件选型后,某个型号的雷达芯片距离分辨率能够达到10cm(留一点裕量),但受应用场景的干扰、目标属性等影响,可能在实际的测试中,两个距离15cm的目标都被识别成一个物体了。
另外就是一些雷达商家产品的性能有可能虚标,或者测试环境不一样导致性能下降。

俗话说”是骡子是马,拉出来溜溜“,解决上述问题的办法就是把雷达芯片拿到真实或者模拟的场景中实际去测试,看看在实际场景中雷达的性能表现能否满足需求。为此,TI为每颗雷达芯片提供了开发板,通常的命名方式是 芯片名称+Boost(下图以AWR1642 Boost)为例。
使用TI提供的开发板能够免去基于芯片的硬件设计的环节,
在这里插入图片描述
对于一些典型的应用方向,TI提供Demo例程和配套的可视化软件Visualizer ,Demo例程直接下载到评估板上就可以看到最终的结果,简单粗暴,用户可以在此基础上进行一些定制化的开发和优化,加快产品开发进程。

TI提供的另一个方案快速评估工具是mmWave Studio,在展开说mmWave studio 之前,我们先引入一些需要的基本知识,这部分涉及到一部分基础知识,需要一点耐心。

3.1 雷达系统的本质功能

所有雷达系统都只有一个核心的功能——检测(速度、距离、角度).,这应该也是TI将毫米波雷达芯片归类为Sensor 的原因之一。

3.2 影响雷达系统检测效果的因素

既然所有雷达的终极目标是为了实现检测功能,那就看看哪些因素会影响雷达系统的检测效果。这里我们先来看看毫米波雷达系统的基本结构,我们以IWR1642为例,整个系统由三部分组成:

  1. 天线系统 ;
  2. 雷达前端,主要是除天线外的雷达收发系统,也就是射频和模拟部分;
  3. 计算系统。
    以上这三个部分就是影响雷达系统检测性能的三大组件。

天线系统受限于板载天线硬件已经无法更改且本人非射频方向这里不予讨论。

雷达收发系统由锁相环、混频器、低噪声放大器、滤波等部分组成,对于LFMCW体制雷达,其发射的线性调频信号的参数(如 带宽、扫频斜率、扫频次数)等诸多因素共同影响雷达的距离分辨率、速度分辨率等检测性能指标。

计算系统中主要影响雷达检测性能的是算法。算法运行在DSP中,算法的原理、参数直接影响到雷达最终的检测结果。拿常见的PID算法为例,PID参数调不好就会引起震荡等现象,只不过雷达系统中跑的是参数更多、更加复杂的算法。
在这里插入图片描述
所以 雷达前端是影响雷达系统检测效果的重要原因之一。不同的应用中雷达线性调频波的参数、工作方式、雷达手法机参数都不尽相同,所以合理设计雷达波形和雷达子系统参数也是评估雷达方案的工作内容之一,使用mmWave Studio + DCA1000数据捕获板快速评估。
评估的过程就是使用mmWave Studio设置雷达前端发射机和接收机参数。这些参数都是和雷达射频部分相关的,如果不明白这些参数各自的意义以及存在的理由,需要补充雷达系统结构基础知识,但是可以有个笼统的概念就是在雷达前端里面有很多部件组成,可以通过mmWave Studio 软件设置这些不同的部件的工作方式。不同的配置选项卡就对应不同的部件,如下图所示,其他的配置都是这样的。
在这里插入图片描述
下图是配置Chirp 波形的页面,Chirp 的参数可以在这里调整,然后最终影响雷达的探测范围、精度等内容。
在这里插入图片描述
参数调整的结果会在下面的图中显示出来,这个图包含的信息非常多,最主要是看左上角的RDM(距离-多普勒)图,这是雷达原始数据的图,目标、噪声、干扰都会在里面体现,调整一次参数和实验环境,就看一次结果,目标明显的话很容易在RDM图中看出来。
在这里插入图片描述

mmWave studio 和 Visualizer的区别

有很多初学者不理解Visualizer 和 mmWave Studio 的区别是什么,可能是这两个软件长的比较像。
拿雷达信号处理流程来说,要经过下面图这么多流程。
在这里插入图片描述
mmWave Studio 可以控制BSS 雷达前端的工作,设置里面各个部件的工作参数。同时可以记录和导出 Radar Data ,查看 1D FFT 结果 、 查看2D FFT 结果 ,如下图红色箭头所示,箭头方向代表数据流向。

在这里插入图片描述

而 Visualizer 只是一个显示最终结果的GUI,每个Demo都会有自己的输出,一般是最终计算的结果,由MSS通过串口输出,由于输出的数据不好观察,做了一个GUI进行协议解析和图形化页面展示。类似于你做用单片机+陀螺仪做了一个角度传感器+距离+速度传感器,用串口把数据输出了,本来你是在串口调试助手里面看的,但是数据跳的太快不方便,就做了一个GUI程序,让这个程序显示数据,看起来更加直观,类似下图这样,但本质还是接收并显示串口数据。
在这里插入图片描述
所以Visualizer 只能查看红色箭头的数据,Visualizer 跟具体的Demo 强绑定,不具备强通用性。所以会有很多Visualizer。
在这里插入图片描述

3.3 能力栈

在这一部分需要有基本的雷达软件、Boost开发板的操作能力,相关文档的阅读能力,对雷达系统结构、检测原理、检测能力等内容有一定的认识,会看RDM图。能够自主设计实验环境,清楚控制变量,明确哪些数据有效等。

3.4 工具

  1. TI Chirp 设计工具 ,在Chirp 设计的时候需要满足很多的约束条件,各个参数之间会相互影响,TI推出了Chirp计算工具帮助快速设计Chirp,包括基础Chirp 参数设计、高级Chirp参数设计、功耗等参数的计算。在进行Chirp设计的时候可以使用该工具设计,设计好的参数直接填到mmWave Studio 中进行验证。
    在这里插入图片描述

  2. DCA1000 + mmWave Studio 基本使用方法可以参考下面这个视频,更多高级的玩儿法可以参考mmWave Studio 用户使用说明手册。

AWR1642+DCA1000数据捕获参数设置步骤演示&使用经验&技巧

4. 算法优化与仿真验证

这部分内容会包含一些雷达信号处理常用的通用算法和针对特殊应用的特定算法。常见的通用算法有:最基本的1D-FFT 、 2D-FFT 、 3D-FFT 、GOA、CFAR 、聚类等。针对特殊应用的算法如在车载领域前方目标识别与跟踪中会用到中国剩余定理、Kalman 滤波器等算法。综合起来看,以雷达算法为中心的工作可以围绕以下四点展开:

  1. 算法创新
    这个要求比较高,提出一种能够带来良好性能表现的算法验证。
  2. 算法优化
    在现有算法的基础上提出一种改进算法,并验证算法性能在当前应用场景优于其他算法。比如典型的CFAR算法就有许多改进型算法。
  3. 算法复现与验证
    对论文中看到的算法进行复现并证明在目前的课题中行之有效。
  4. 算法应用
    前3点内容大多在Matlab中进行。,指把算法用C语言复现,并整合到雷达芯片程序中运行。
    雷达算法是个很重要和关键的因素,受芯片算力影响,基本上芯片内部跑的是传统算法,对于神经网络这类需要强算力平台的现在还没办法运行。

4.1 能力栈

需要一些数学功底和一些数字信号处理方面的基础知识,有雷达算法知识、有matlab基本编程的能力,

4.2 工具

这一部分的工具主要是使用Matlab进行算法的编程、性能的评估。

TI 的SDK中提供了很多雷达用到的基础算法、DSP Lib 和 Math Lib 中有很多基础的复数运算实现可供直接调用。在算法应用阶段会有用。

5. 软件开发

这里的软件开发特指使用 CCS IDE 对雷达芯片进行特定应用程序的开发。
在这里插入图片描述

5.1 能力栈

需要的核心技能是嵌入式软件开发能力,最好有单片机开发经历和RTOS/操作系统/Linux/Linux驱动/编译原理(这个不需要太深)等基本知识,由于是比较大型的嵌入式应用程序开发,还要有代码编程规范、基本数据结构、设计模式、程序框架等编程思想和代码风格,这样不仅能够更快、更好的理解程序,而且能够写出相对规范和易于维护的代码。

5.2 工具

CCS 、 UniFlash 、Visuallizer 、ToolBox 、Datasheet 、Application Guide、 雷达SDK、DSP lib、math lib。

6. 硬件开发

指不在使用TI官方提供的Boost EVM 评估板,使用TI毫米波雷达芯片开发特定应用和功能的硬件板卡的开发,TI的板卡中集成了众多的调试功能用于测试和快速评估,但是对于实际的应用却是冗余设计,不仅会导致成本上升,还有可能在应用过程中引入诸多不稳定因素。举个32开发类似的例子,在前期阶段,为了快速验证各个功能的正常性,会先搞一块别人设计好的功能全的32开发板,进行软件的快速迭代。软件功能没问题之后,根据必要的功能直接设计自己的32板卡就ok。
在这里插入图片描述

6.1能力栈

具备基本数模电基础知识。有AD使用经历,对4-6层板开发有基本原理图、Layout 设计能力。根据功能可能设计高速信号处理,对基本的电磁干扰、等长走线、阻抗等知识有基础。

6.2 工具

AD
TI 官方提供的硬件设计资料,不同的板卡涉及不同的硬件资料,在TI 官方网站搜索对应的板卡这里以AWR1843为例,在设计文件中TI 提供了详细的硬件设计指南,可以根据各自的型号自行下载。 里面提供了详细的原理图 、PCB 、Gerber 、网表等文件用于快速硬件设计。
在这里插入图片描述

7. 不定期更新

  • 5
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雷达爆破手

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值