毫米波SDK使用1

      本文档是AM273x等毫米波雷达处理器SDK的配置和使用,主要参考TI的官方文档《mmwave mcuplus sdk user guide》。这里仅摘取其中重要的部分,其余枝节可参考原文。

2 系统概览

        mmWave SDK分为两个主要组件:mmWave套件和mmWave演示。

2.1. mmWave套件

        mmWave套件是mmWave SDK的基础软件部分,将封装这些较小的组件:

  1. 驱动程序(MCU PLUS SDK的一部分)
  2. DPL (MCU PLUS SDK的一部分)
  3. mmWaveLink和固件(设备固件包的一部分- DFP)
  4. mmWave API
  5. 数据处理层(管理器、处理单元)
  6. 板设置和Flash实用程序

2.2 mmWave演示

        SDK提供了描述毫米波应用程序的各种控制和数据处理方面的演示。作为这些演示的一部分,在PC上提供了演示输出的数据可视化。这些演示是提供给客户的示例代码,用于了解毫米波设备和SDK的内部工作原理,并帮助他们开始开发自己的应用程序。

2.3 外部依赖关系

        构建mmWave SDK所需的所有工具/组件都包含在mmWave SDK安装程序中。但是CCS (用于调试)不包含在mmWave SDK中。

        请参阅mmWave SDK发布说明,了解这些外部依赖项的详细信息以及支持的平台列表。AM273x MCU+ SDK: Using SDK with CCS Projects (ti.com)

2.4 本文档中使用的术语

使用的术语

评论

xWR

这在整个文档中都被使用,其中的章节/组件/模块适用于AWR和IWR的变体

BSS

这在源代码中使用,在本文档中也有少量用于表示RADARSS。它也可以互换称为mmWave前端。注意,这个术语只在AWR294X和AWR2544 soc上下文中使用。

MSS

主子系统。它也可以互换地称为Cortex R5F。

DSS

DSP子系统。它也可以互换地称为DSS或C66x核心。

3 开始上手

        开始使用mmWave SDK的最佳方法是运行软件包中提供的各种演示程序中的一个。TI mmWave EVM与mmWave演示一起预先闪现。但是,预闪演示的版本可能比本文档中提到的SDK版本早。用户可以按照本节升级/运行闪过的演示版本。演示(源代码和预构建的二进制文件)放在mmwave_mcuplus_sdk_<ver>/ti/demo/<platform>/mmw/文件夹中。

毫米波demo

        这个演示位于mmwave_mcuplus_sdk_<ver>/ti/demo/<platform>/mmw文件夹。毫米波演示展示了使用毫米波SDK(软件开发工具包)中的驱动程序的SoC的一些雷达传感和目标检测功能。它允许用户指定chirp配置文件,并实时显示检测到的对象和其他信息。这个演示的详细说明可以在演示的docs文件夹中找到,可以通过mmwave_mcuplus_sdk_<ver>/docs/mmwave_sdk_module_document .html浏览。该演示提供检测到的对象和其他实时信息,可以使用TI Gallery应用程序- 'mmWave demo Visualizer'进行可视化,托管在-https://dev.ti.com/gallery/view /mmWave /mmWave_Demo_Visualizer。运行在TI mmWave EVM上的mmWave Demo版本可以通过Visualizer应用中的HelpAbout菜单获得。

        另外,提供的级联demo必须在级联的硬件板上运行,由于AM2732开发板是和AWR2243一起使用,只有单个射频芯片,无法运行cascade模式的demo,下图是TI论坛的解释,也可以参考4.6节的内容。

        下面的部分描述了用演示启动设备然后执行它的一般过程,这里只摘录一部分,更详细内容可参考原文档。

3.1 硬件设置(EVM详细信息)

        下面的EVM图显示了一些重要的电缆连接、端口和交换机。注意“BOOT MODE”开关的位置,这用于在不同的启动模式之间切换,如OSPI, UART, NOBOOT模式。

        请参阅EVM用户指南以了解EVM的启动模式(毫米波设备的EVM用户指南中的“感应电源(SOP)跳线”部分)。

3.1.1 AM273x

3.2 毫米波器件编程

        以下是对毫米波设备及其提供的可编程内核的一些了解。有关详细信息,请参阅相应毫米波设备的技术参考手册。在使用CCS加载二进制文件和/或理解“入门”一节中存在的各种术语时,需要这些详细信息

3.2.1 AM273x

        该器件具有一个cortex R5F内核和一个DSP C66x内核,可用于用户编程,分别称为MSS/R5F和DSS/ C66x。演示有两个可执行文件——一个用于MSS,一个用于DSS,它们应该并发加载,以便演示工作。有关详细信息,请参见运行演示部分。单元测试可能有MSS或DSS的可执行文件,或者两者都有。这些可执行文件意味着在独立操作中运行。这意味着可以在MSS R5F上加载并运行MSS单元测试可执行文件,而无需在DSS上下载任何代码。

        类似地,可以在DSS C66x上加载和运行DSS单元测试可执行文件,而无需在DSS上下载任何代码。这方面的例外是在完整单元测试和数据路径管理器(DPM)单元测试下的毫米波单元测试。

4.6 如何运行2片级联应用(仅适用于AM273X + 2xAWR2243 EVM)

        预构建的二进制文件(仅限R5F)可在mmwave_sdkmmwave_mcuplus_sdk_<ver>/ti/utils/test/cascade/am273x中获得。2片级联应用支持捕获原始ADC数据使用DCA1000 EVM。

        1.级联EVM上电。

        2.连接R5F核,下载“am273x_cascade_mss.xer5f“应用,不启动执行。

        3.从mmwave_sdkmmwave_mcuplus_sdk_/tools/data_capture拷贝AM273X_Capture.json文件。

        4.在应用启动执行前,打开C:/ti/mmwave_studio_03_00_00_14/mmWaveStudio/PostProc的命令提示符,然后发出以下命令。

           a. DCA1000EVM_CLI_Control.exe fpga AM273X_Capture.json

           b. DCA1000EVM_CLI_Control.exe start_record AM273X_Capture.json

           c. AM273X_Capture.json file configures to save the captured LVDS data at "C:\ti\data_capture\am273x__Raw_0"

      5.应用启动执行。

5 毫米波SDK深度解析

5.1 系统部署

      典型的毫米波应用程序将执行以下操作:

  1. 通过mmaveLink实现射频前端的控制和监控
  2. 通过标准外设传输外部通信
  3. 部分雷达数据处理采用DSP

        毫米波传感器的典型客户部署如下图所示:

        1.appimage (MSS + DSS代码)从连接到毫米波设备的串行闪存(通过QSPI)下载;

        2.远程实体的可选高级控制;

        3.发送低速数据输出(检测到的对象)到远程实体.

图5-4 自主毫米波传感器(独立模式)

        上述部署可以使用毫米波SDK及其分层结构中的组件来实现,如下所示:

图5-5 SDK分层框图

5.2 典型毫米波雷达处理链

        下图显示了一个典型的毫米波雷达处理链,它接收ADC数据作为毫米波前端的输入,然后执行距离和多普勒FFT,然后使用CFAR进行非相干检测。最后利用三维FFT估计角度,检测到的点代表点云数据。然后,点云数据可以使用更高层的算法(如聚类、跟踪、分类)进行后处理,以表示真实世界的目标。

图5-6 典型毫米波雷达处理链

        在以HWA为处理节点的设备上,使用mmWave SDK可以实现如下图所示的上述处理链。下图中,绿色箭头表示控制路径,红色箭头表示数据路径。蓝色块是毫米波SDK组件,黄色块是自定义应用程序代码。软件流/调用的层次结构用嵌入框表示。根据高级算法(如聚类、跟踪等)的复杂性及其内存/MIPS消耗,它们可以部分在毫米波设备内实现,也可以完全在外部处理器上运行。

图5-7 使用毫米波SDK组件的典型的毫米波雷达处理链

        每个毫米波器件提供不同的处理节点来实现毫米波处理。AM273X具有HWA+DSP(C66x)。对于具有多个处理节点的设备,毫米波检测处理链可以根据性能和可扩展性的需要利用它们。下图是一个检测处理链的示例,它使用各种数据处理单元(DPU)来执行典型的毫米波处理直至点云。毫米波设备存储器中的毫米波数据表示形成了各个DPU之间的接口层。每个DPU都可以使用HWA或DSP处理节点独立实现——选择取决于用例或给定毫米波设备上该处理节点的可用性。

图5-8 使用毫米波SDK的可扩展数据处理链

        请参阅mmwave_mcuplus_sdk_<ver>\ti\demo\<platform>\mmw文件夹中的代码和文档,了解有关如何使用mmWave SDK组件实现此链的更多详细信息和示例代码。

5.3 典型编程顺序

        上述处理链可以分为两个不同的块:射频控制路径和数据路径。

5.3.1 射频控制路径

        上述处理链中的控制路径由下列模块描述。

图5-9 典型毫米波雷达控制流

        下面的一组图显示了设置典型控制路径(init、config、start)的应用程序编程顺序。这是一个简化的高级图,以突出显示主要的软件API,可能不会显示所有的处理元素和调用流。有关此调用流的示例实现,请参阅mmwave_mcuplus_sdk_<ver>\ti\demo\<platform>\mmw文件夹中的代码和文档。

5.3.1.2 单射频控制(MSSRADARSS或DSSRADRSS)

        在这种情况下,射频控制路径运行在主子系统(Cortex-R5F)或DSP子系统(C66x)上,应用程序可以简单地以隔离模式调用SDK中的毫米波API来实现大部分功能。

图5-10 毫米波隔离模式:详细控制流(初始化顺序)

图5-11 毫米波隔离模式:详细控制流(配置顺序)

5.3.1.3 协同射频控制((MSS+DSS)<->RADARSS)

        在这种情况下,控制路径可以以“合作”模式运行,其中RF控制API可以被两个域互换调用(但需要维护API的顺序)。这样的部署可以让射频初始化和配置由MSS发起,并且在数据路径配置完成后由DSS发起启动。在下面的图中,控制路径完全运行在MSS上,MSS负责正确配置RADARSS (射频)和DSS(数据处理)。毫米波单元测试提供了这种合作模式的示例实现。

图5-13 毫米波协同模式:详细控制流(初始化顺序)

图5-14 毫米波协同模式:详细控制流(配置顺序)

图5-15 毫米波协同模式:详细控制流(启动顺序)

5.3.2 数据路径

        毫米波检测处理可以分为以下应用代码层,控制/管理层操作数据处理元素,处理链连接各个模块创建数据流和低层数据处理模块和接口。

图5-16 典型毫米波检测处理层

        毫米波设备提供了一些关于如何使用设备内的各种控制/处理节点来实现数据处理层的选项。为了便于跨这些部署类型编程,数据路径管理器(DPM)向应用程序提供了简化的API结构,同时隐藏了任务间和处理器间通信的复杂性。从下图中可以看出,应用程序只需要调用各种DPM API来控制处理链(在下面的梯形图中看到“蓝色”的函数调用),并在报告回调中对这些API的结果做出反应。数据处理链(DPC)也通过DPM向应用程序提供了一个标准化的API结构,并使用数据处理单元(DPU)封装了数据流的实现,同时提供了基于IOCTL的简单接口来配置和触发数据流。基于用例和毫米波设备硬件功能,应用程序可以选择以下部署之一:

  1. DPC与控制核心在同一核心上运行,应用程序可以通过DPM在本地模式下控制DPC。(见下面的本地域配置和处理图)
  2. DPC运行在与控制核心不同的另一个核心上,应用程序可以通过DPM远程控制DPC。(参见下面的远程域配置和处理图)
  3. DPC分为两个核心,应用程序可以在分布式模式下通过DPM控制DPC。(见下图分布式域配置及处理图)

        下面的梯形图显示了初始化、两种不同形式的配置(一种在本地核心上启动,另一种在远程核心上启动)、启动触发器、chirps/frame事件和停止触发器的流程。MSS和DSS职责的选择是一个可能的例子——它们的角色可以根据应用程序的需要互换。这些梯形图没有显示相应的毫米波/射频控制调用,以显示射频控制和数据路径控制之间的独立性。尽管如此,典型的应用程序将遵循以下两种形式的控制流程:

  1. mmWave初始化和DPM初始化(顺序不重要)
  2. 毫米波配置和DPM IOCTL的DPC配置(顺序不重要)
  3. DPM启动,然后毫米波启动(注意,建议这样做,因为DPC应该在毫米波启动导致的实时帧/chirp H/W事件发生之前处于启动状态)
  4. 毫米波停止,然后DPM停止(注意,建议这样做,因为DPC应该在实时帧/chirp H/W事件由于毫米波停止而停止后停止)
5.3.2.2 具有本地域控制的数据处理流程

        在此部署中,运行实际数据处理链(DPC)的核心(MSS或DSS)也控制它。应用程序调用DPM API进行初始化,数据处理IOCTL进行配置,启动和停止。DPM使用应用程序注册的报告回调函数从DPC报告状态。应用程序为DPM/DPC运行提供了一个执行上下文(任务)。DPC将处理结果(点云、跟踪对象等)提供给这个执行上下文中的应用程序。

图5-17 具有本地域控制的数据处理流程(初始化/配置)

图5-18 具有本地域控制的数据处理流程(启动/chirp/帧/停止)

5.3.2.3 具有远程域控制的数据处理流程

        在此部署中,数据处理链在选定的数据核心上运行,而它的控件存在于另一个核心上。控制核心和数据核心上的应用程序代码调用DPM API进行初始化和同步。控制核心调用数据处理IOCTL来配置、启动和停止API。H/W事件在数据核上接收。DPM使用应用程序在控制核和数据核上注册的报告回调函数从DPC报告状态。DPC将处理结果(点云、跟踪对象等)返回给数据核心应用程序代码,数据核心应用程序代码可以使用DPM发送结果API将结果发送给控制核心。

图5-19 具有远程域控制的数据处理流程(初始化/配置)

图5-20 具有远程域控制的数据处理流程(启动/chirp/帧/停止)

5.3.2.4 分布式数据处理流程和控制

        在此部署中,数据处理链与控件一起拆分为多个核心。两个核心上的应用程序代码调用DPM API进行初始化和相互同步。任何一个核心都可以调用数据处理IOCTL来配置、启动和停止API。DPM使用两个核心上的应用程序注册的报告回调函数从DPC报告状态。可以使用DPM中继结果API将运行在一个核心上的DPC的部分结果传递给运行在另一个核心上的DPC。DPC可以将最终的处理结果(点云,跟踪对象等)提供给同一核心的应用程序代码,然后该代码可以使用DPM发送结果API将结果发送给运行在其他核心上的应用程序。下面的梯形图显示了将DPC分成两个核心的众多方法之一。

图5-20 分布式数据处理流程和控制(初始化/配置)

图5-20 分布式数据处理流程和控制(启动/chirp/帧/停止)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/24342.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AXI Quad SPI IP核基于AXI-Lite接口的标准SPI设计指南

在标准SPI配置下&#xff0c;SPI设备除了包含基本的SPI特性外&#xff0c;还具备以下一些标准功能&#xff0c;这些功能如下所示&#xff1a; 支持FPGA内部的多主设备配置&#xff0c;其中使用单独的_I&#xff08;输入&#xff09;、_O&#xff08;输出&#xff09;、_T&…

FM148A,FM146B运行备件

FM148A,FM146B运行备件。电源保险丝仓主控底座的保险丝仓示意图底座上共有两个保险丝&#xff08;800mA&#xff09;&#xff0c;FM148A,FM146B运行备件。&#xff08;10&#xff5e;73&#xff09;30/195主控单元2.K-CUT014槽底座地址接口主控站地址拨开关从上到下为二进制数的…

开发网站,如何给上传图片的服务器目录授权

开发网站&#xff0c;上传图像时提示”上传图片失败&#xff0c;Impossible to create the root directory /var/www/html/xxxxx/public/uploads/avatar/20240608.“ 在Ubuntu上&#xff0c;你可以通过调整文件夹权限来解决这个问题。首先&#xff0c;确保Web服务器&#xff08…

【笔记】从零开始做一个精灵龙女-装备阶段

这里只记录相对重要的步骤和一些思路 但是头发那块很详细哦~ &#xff08;标的小数字不用在意&#xff0c;那个是我网课的时长记录&#xff09; 耳环 1.创建一个圆环&#xff0c;调整参数 做好后再复制一个小的 肩甲 2.0-2.4 1.创建圆柱体/球体也可 然后把底部的两个点删…

Xsens动作捕捉系统:角色动画制作与运动分析领域的先进工具

随着传感器技术的不断进步&#xff0c;动作捕捉技术现在更加趋向于民用化&#xff0c;拥有价格优势的惯性动作捕捉系统现在更多的出现在独立动画工作室与国内外多所高校的实际项目应用中。 凭借无场地限制、价格优惠、校准使用方便、数据采集精确等多项优势&#xff0c;Xsens惯…

[AI Google] 双子座模型家族迎来新突破:更快的模型、更长的上下文、AI代理等更多功能

Google发布了Gemini模型家族的更新&#xff0c;包括新的1.5 Flash模型&#xff0c;该模型旨在提高速度和效率&#xff0c;以及Project Astra&#xff0c;这是对未来AI助手愿景的展示。1.5 Flash是专为大规模高频任务优化的轻量级模型&#xff0c;具有突破性的长上下文窗口。同时…

Diffusers代码学习: IP-Adapter Inpainting

IP-Adapter还可以通过Inpainting自动管道和蒙图方式生成目标图片。 # 以下代码为程序运行进行设置&#xff0c;使用Inpainting 的自动管道&#xff0c; import os os.environ["HF_ENDPOINT"] "https://hf-mirror.com"from diffusers import AutoPipelin…

【java】速度搭建一个springboot项目

使用软件&#xff1a;IDEA&#xff0c;mysql 使用框架&#xff1a;springboot mybatis-plus druid 坑点 使用IDEA搭建一个springboot项目的时候&#xff0c;需要考虑一下IDEA版本支持的JDK版本以及maven版本。否则再构建项目&#xff0c;引入pom的时候就会报错。 需要检查…

04 uboot 编译与调试

新手不需要详细掌握 uboot,只需要知道它是一个什么东西即可,工作中也只是改一些参数而已。 1、uboot 是什么 Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段 bootloader 程序。这段 bootloader 程序会先初始化 DDR 等外设,然后将 Linux 内…

利用PowerQuery控制数据行数

PowerBI报表在开发的过程中&#xff0c;经常会遇到数据量非常庞大的情况&#xff0c;在这种情况下&#xff0c;本机连接数据源如果不进行特殊处理的话&#xff0c;那么刷新数据的时候可能会发生数据刷新时间过长、数据加载内存错误、开发过程中构建DAX卡顿等情况。 那么在实际开…

不确定性+电动汽车!含高比例新能源和多类型电动汽车的配电网能量管理程序代码!

前言 能源供应的可持续性和清洁性是当今世界共同关注的议题&#xff0c;配电网与可再生能源发电相结合&#xff0c;通过多能互补和梯级利用&#xff0c;在不同时空取长补短&#xff0c;提高能源利用率&#xff0c;减少温室气体排放&#xff0c;是解决能源短缺和环境问题的有效…

[职场] 关于薪酬需要知道的两个知识点 #知识分享#知识分享

关于薪酬需要知道的两个知识点 薪酬问题是面试过程中比较核心的问题&#xff0c;也是每次面试必问的。如果你进入到面试的后一阶段&#xff0c;这类问题可以让面试官或企业判断求职者的要求是否符合企业的薪酬标准&#xff0c;并进一步判断求职者对自身价值的认可程度。关于薪…

数据结构之快速排序算法(快排)【图文详解】

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 博主主页&#xff1a;LiUEEEEE                        …

【Java数据结构】详解Stack与Queue(三)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2. 队列&#xff08;Queue&#xff09; 2.1队列的概念 2.2队列的方法 2.3队列的使用 2.4循环队列 循环队列的介绍 循环队列图 如何区分循环队列是满还是空…

外挂知识库的基本知识与内容

外挂知识库 1.什么是rag&#xff1f; RAG,即LLM在回答问题或生成文本时&#xff0c;会先从大量文档中检索出相关的信息&#xff0c;然后基于这些信息生成回答或文本&#xff0c;从而提高预测质量。 2.外挂知识库的实现思路 只用几十万量级的数据对大模型进行微调并不能很好…

第五十六周:文献阅读

目录 摘要 Abstract 文献阅读&#xff1a;应用于地表水总磷浓度预测的可解释CEEMDAN-FE-LSTM-Transformer混合模型 一、现有问题 二、提出方法 三、方法论 1、CEEMDAN&#xff08;带自适应噪声的完全包络经验模式分解&#xff09; 2、FE&#xff08;模糊熵 &#xff09…

Vue3【十】07使用ref创建基本类型的响应式数据以及ref和reactive区别

Vue3【十】07使用ref创建基本类型的响应式数据以及ref和reactive区别 ref 也可以创建对象类型的响应式数据&#xff0c;不过要使用.value ref 处理对象数据的时候&#xff0c;底层数据还是reactive格式的 reactive 重新分配一个新对象&#xff0c;会失去响应式可以使用Object.a…

保姆级 | MySQL的安装配置教程(非常详细)

一、下载Mysql 官网步骤 MySQLhttps://www.mysql.com/进入官网首页 点击DOWNLOADS 点击MySQL Community (GPL) Downloads 点击 小页面直接进入 MySQL :: Download MySQL Installerhttps://dev.mysql.com/downloads/installer/点击“Download”下载最新版本&#xff0c;其他…

【吊打面试官系列】MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

大家好&#xff0c;我是锋哥。今天分享关于 【MySQL 中 InnoDB 支持的四种事务隔离级别名称&#xff0c;以及逐级之间的区别&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; MySQL 中 InnoDB 支持的四种事务隔离级别名称&#xff0c;以及逐级之间的区别&#xf…

碳素钢化学成分分析 螺纹钢材质鉴定 钢材维氏硬度检测

碳素钢的品种主要有圆钢、扁钢、方钢等。经冷、热加工后钢材的表面不得有裂缝、结疤、夹杂、折叠和发纹等缺陷。尺寸和允许公差必须符合相应品种国家标准的要求。 具体分类、按化学成分分类 &#xff1a; 碳素钢按化学成分&#xff08;即以含碳量&#xff09;可分为低碳钢、中…