2.3 mmWave SDK简介

展开字幕 关闭字幕 时长:16分3秒
评论 收藏 上传者:hi5
大家好,欢迎参加毫米波 SDK 培训。 本培训面向使用 TI 单芯片 毫米波雷达器件的软件系统和测试 工程师。 本培训的目的是 帮助您了解AWR1443、 AWR1642、IWR1443 和 IWR1642等毫米波传感器的 软件产品。 所有这些器件的通用软件包称为 毫米波 SDK。 本培训概要性介绍了毫米波 SDK 构建块和核心组件。 培训中介绍了不同 SDK 组件 之间的相互作用,还说明了这些毫米波器件中的典型 控制和数据流。 在详细介绍SDK 之前, 我们首先了解一下适用于这些毫米波 传感器的不同平台。 xWR14xx 和xWR16xx 都是适用于单芯片自主毫米波传感器的平台。 第一个平台是 xWR14xx, 它包括 AWR1443和 IWR1443, 具有四个接收通道和三个发射通道, 并且附带用户可编程的 R4F 微控制器和硬件加速器,用于进行信号 处理。 而第二个平台包括 AWR1642 和IWR1642, 具有四个接收通道和两个发射通道, 并且附带相同的微控制器, 但具有一个附加的C674 DSP 而不是硬件 加速器。 来自这些器件的数据可以 使用多种不同的可用外部接口 发送到外部处理器或控制器。 请注意,这两个器件 都需要一个外部串行闪存,其中 存储了微控制器和 DSP可以使用的应用程序代码。 因此,为了在这些器件上 启用应用程序和软件开发,TI 提供了平台软件, 其中包括适用于 R4F 和 DSP 的 TI实时操作系统; 适用于不同外设的器件驱动程序; 用于对毫米波器件进行编程的 API 和用于进行信号处理的库; 用于演示最终用例的不同演示应用程序; 以及某些工具。 这些器件的平台软件 称为毫米波软件开发套件,或称毫米波 SDK。 这是 TI 的毫米波SDK 的高级方框图。 对于彩色编码,蓝色块 表示 TI 提供的生产质量组件。 黄色块中的组件以参考或示例的 形式提供,用户需要 这些组件以便根据系统用例开发它们。 现在让我们看一下TI 毫米波 SDK 中的不同 组件。 此方框图的底部是 引导加载程序,它驻留在 R4F MCU 的 主 SS 内,负责启动整个器件。 它还将应用程序代码从串行闪存 加载到不同内核并执行这些代码。 雷达 SS 固件或毫米波前端 控制射频和模拟硬件块, 并负责整个毫米波雷达的操作。 mmWaveLink 是雷达SS 固件的驱动程序, 并提供用于控制前端中每个硬件块的 低级 API。 毫米波 API 是对 mmWaveLink 的抽象, 并为应用程序提供用于配置 前端的简单 API。 毫米波 API 还处理 R4F MCU 和 DSP 子系统之间的同步和 进程间通信。 SDK 还包括 TI实时操作系统 TI-RTOS 和适用于主子系统 和 DSP 子系统的基于 RTOS 的驱动程序。 所有驱动程序都附带 OSAL, 这意味着可以将这些驱动程序移植到 不同的 RTOS 中,如此处所示。 毫米波库包含用于信号处理的 标准例程和算法, 例如 FFT 和CFAR 算法。 SDK 中还封装了 一些简单应用程序, 演示了如何使用这些组件来创建简单的接近 [听不清] 应用程序。 毫米波演示可视化工具是一个 GUI,它在 PC 上 运行并处理物体数据,如光学器件的 距离、速度和相对位置。 这是 TI 毫米波SDK 的目录结构。 这就是在安装了 SDK 后, 您的 PC 中将会显示的目录结构。 也就是说,有四个文件夹:packages、docs、 firmware 和 tools。 packages 包含用于构建毫米波 SDK 的脚本文件。 TI 文件夹包含上一个幻灯片中 讨论的组件的所有源文件。 所以它包括演示源文件, 该演示是开包即用演示和捕获演示。 drivers 文件夹包含驱动程序的源文件, 包括关联的PinMux 和 其他外设驱动程序。 驱动程序附带 OSAL, 因此可以将其放入到不同 RTOS 中。 所有驱动程序都附带相对应的 Doxygen 文档,这些文档说明了如何在单元级别使用 驱动程序,另外还附带适用于这些驱动程序 API 的单元测试 功能。 control 文件夹包含用于 控制毫米波前端的 API,因此具有 mmWaveLink, 它是低级 API,毫米波将提供 高级 API。 algorithm 文件夹包含mmWaveLib,它是 信号处理库。 platform包含特定于 平台的文件,例如适用于 这些平台的连接器命令文件。 utils 文件夹包含所有实用程序, 例如 ccsdebug应用程序、用于 通过 [听不清] 接口发送数据的命令行接口、 系统描述器cycleprofiler 和 testlogger。 请记住源文件。 毫米波 SDK 包含docs 文件夹, 其中包含版本说明和用户指南。 对任何新用户来说,可以将这些内容作为入门起点。 这些版本说明包含有关版本的信息: 有哪些不同组件、 对不同工具的依赖性如何? 除此之外,还将许多新 更改捕获到了这一特定版本中。 user guide包含有关 如何运行毫米波SDK 演示,即开包即用 演示和捕获演示、如何设置毫米波 SDK 以及如何构建毫米波 SDK 的信息。 最后,有一个firmware 文件夹, 其中包含雷达子系统的固件和 数据工具文件夹。 有关 SDK 内容的更多信息, 请参阅版本说明和用户指南。 现在简要介绍一下每个构建块。 使用毫米波 SDK驱动程序,可以通过 易于使用的 API 以可移植、功能丰富的方式访问外设。 下面是其中一个驱动程序的示例, 所有驱动程序都遵循相同的结构和约定。 例如,器件和 CPU 配置 允许在不同的 CPU 上移植每个驱动程序。 在这种情况下,驱动程序在 MSS和 DSP 子系统之间是 通用的。 每个级别都使用 OSAL提供对硬件 IP 的 威胁安全和控制访问权限。 TI-RTOS 为这些驱动程序提供所有与操作系统 有关的功能。 SDK 中的所有驱动程序 均附带其 Doxygen 文档和测试应用程序, 演示这些API 的用法。 现在让我们看一下毫米波组件。 mmWaveLink 是雷达子系统或毫米波前端的 驱动程序。 如您所知,雷达子系统控制 射频和[听不清], 并且负责整个毫米波雷达的操作。 在其内部块上,可以 使用通过邮箱传来的消息控制 任何操作。 mmWaveLink 框架提供基础架构, 它可生成这些消息,还可处理 通过邮箱进行的通信。 mmWaveLink 提供用于控制雷达 子系统和 FMCW 线性调频脉冲配置的 低级 API。 下面是一些API 的快照。 设备管理器 API 可用于初始化某个驱动程序 并执行与毫米波前端的握手。 传感器控制API 可用于 配置毫米波前端中的不同块,例如, 您可以配置需要启用多少个 接收通道和多少个发射通道。 同样,您可以配置ADC 格式、线性 调频脉冲配置,并且可以使用这些 API 来 启动和停止帧传输。 毫米波组件提供高级 API, 这些 API 使低级mmWaveLink API 抽象化 并为应用程序提供简单接口。 模型在 MSS 和DSP 上运行, 并可以从这两个内核中的每个内核上 灵活地配置雷达 SS固件或毫米波前端。 它还处理MSS 和 DSP 之间的通信,从而实现同步。 在本示例中,前端的配置 是从 MSS 应用程序中完成的, 但毫米波 API 会将该配置传递给 DSP, 以便 DSS 可以相应地配置 EDMA 和 信号处理链。 mmWaveLib 在 DSP子系统上运行, 它为 FMCW 信号处理提供关键例程, 其中包括已对输入数据执行的 各种 FFT 例程。 基本检测算法,例如 CFAR-CA, 不同的角度估算FFT 以及其他帮助器 例程,例如缩放、平移和累积。 所有这些例程都已针对C674x 架构进行优化, 以实现更好的系统性能。 这是毫米波 SDK中的一个典型流。 随着引导加载程序使 MSS 和 DSS 结束复位, 主子系统上的应用程序 将使用毫米波 API 和毫米波 Web 链接驱动程序 与毫米波前端通信。 应用程序执行毫米波前端的 所有配置并触发帧。 触发帧后,会将来自前端的 ADC 数据 移动到 ADC 缓冲器。 ADC 缓冲器是一种乒乓缓冲器, 这意味着在将数据 从毫米波前端移动到乓缓冲器时, 会将乒缓冲器中的数据移动到 DSP 存储器。 而 DSP 使用毫米波库 在乒缓冲器上执行距离 FFT。 距离 FFT完成后, 它将使用 EDMA 驱动程序将数据移动到 L3 存储器。 将会对某一帧中的所有线性调频脉冲重复该序列, 并为所有线性调频脉冲计算距离 FFT。 在帧间时间段内,DSP 会将数据 从 L3 存储器移回DSP 存储器 并执行多普勒 FFT。 同样,多普勒 FFT 的结果是将数据 移动到 L3 存储器。 执行多普勒 FFT 后,DSP 运行基本 CFAR 算法 进行物体检测,并使用角度估算 例程计算物体的相对位置。 现在,数据发送回了主子系统。 MSS 可以使用不同的外设驱动程序将此信息 发送到外部控制器, 也可以将此数据传递到外部处理器 以进行物体跟踪和分类。 现在让我们看一下详细的控制流。 MSS 应用程序使用 SOC_init 初始化器件并为毫米波前端加电。 之后,它使用MMWave_init API 执行邮箱和其他关键驱动程序的 基本初始化。 之后,它等待前端启动完成。 另一方面,DSP 应用程序 使用 MMWave_executeAPI, 将 IPC 设置为从 MSS 接收数据。 之后,MSS和 DSP 进行同步以相互检查运行状态。 DSS 还会初始化EDMA 和 ADC 缓冲器 以进行数据处理。 初始化完成 并且 MSS 和DSS 同步后, MSS 应用程序使用MMWave_config API 将配置从应用程序 解析到毫米波前端。 毫米波 API 使用mmWaveLink API, 构建邮箱消息 并将其发送到毫米波前端。 毫米波前端收到消息后, 它将检查消息的完整性 并将确认发回mmWaveLink。 通过这种方式,将所有消息发送到前端。 毫米波 API 将所有配置发送到 前端后,它还会将配置传递给该 DSP。 DSP 收到此配置后, 它就会相应地设置EDMA 和 ADC 缓冲器。 所有配置都完成后, MSS 应用程序将使用MMWave_start API, 向 DSP 发送一条消息。 DSP 接收到该启动消息后, 它将启用数据处理并等待 ADC 数据。 之后,毫米波 API将使用 mmWaveLink API 向毫米波前端发送一条启动消息。 毫米波前端收到该启动消息后, 它将开始帧的传输。 现在让我们看一下数据流。 触发了某个帧后,毫米波前端 会将 ADC 样本移动到乒乓 ADC 缓冲器中。 一旦这些缓冲器中有一个变满后, 它会生成DSP 中断, EDMA 会将数据从其中一个缓冲器移动 到 DSP 存储器中。 之后,DSP 使用 mmWaveLib 对该缓冲器执行距离 FFT, 并将结果移动到 L3 存储器。 然后对帧中的所有线性调频脉冲重复该序列, 并将距离 FFT 存储到 L3 存储器中。 在帧间时间段内,DSP 会将 EDMA 配置为将数据从 L3 存储器 移回到 DSP 存储器并执行多普勒 FFT。 同样,多普勒FFT 完成后, DSP 会将 EDMA 配置为将数据移回到 L3 存储器。 之后,DSP 进行物体检测和角度 估算,并以乒乓方式将物体列表移动到 其中一个物体缓冲器中。 之后,MSS 从其中一个缓冲器中拾取此物体列表 并将其发送到外部控制器。 这样,我们便完成了此次培训课程。 有关更多信息,请参阅毫米波 SDK 用户指南 和演示应用程序。 希望这次培训对您有所帮助, 真诚地感谢您抽出宝贵时间参与培训。305
课程介绍 共计14课时,3小时38分23秒

mmWave系列培训

TI 汽车 雷达 毫米波 传感器 mmWave FMCW AWR IWR

mmWave培训系列旨在为您学习FMCW技术和毫米波传感器的基础知识,并迅速开始开发。 TI的毫米波传感器产品系列具有AWR汽车雷达传感器系列和IWR工业毫米波传感器系列,旨在用于检测物体的范围,速度和角度。
展开

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved