5.5 毫米波SDK-TI组件
毫米波SDK功能分解成组件将在接下来的几小节中解释。有关这些模块的详细文档,请参阅位于mmwave_mcuplus_sdk_<ver>/docs/mmwave_sdk_module_document .html的顶层文档。
5.5.1 演示
5.5.1.1 毫米波演示
这个演示位于mmwave_mcuplus_sdk_<ver>/ti/demo/<platform>/mmw文件夹。毫米波演示展示了使用毫米波SDK(软件开发工具包)中的驱动程序的SoC的一些雷达传感和目标检测功能。它允许用户指定chirp配置文件,并实时显示检测到的对象和其他信息。这个演示的详细说明可以在演示的docs文件夹中找到,可以通过mmwave_mcuplus_sdk_<ver>/docs/mmwave_sdk_module_document .html浏览(演示的内容如下面的截图所示)。本节捕获在各种毫米波设备上支持的演示的高级布局。有关各个组件(控制层、数据路径层等)的详细信息,请参阅“毫米波SDK - TI组件”下的其余子节。
5.5.2 驱动
驱动程序封装了系统中各种硬件IP的功能,并为更高层提供了定义良好的API。与以前版本的SDK不同,驱动程序是随SDK包一起安装的PDK的一部分。驱动程序被设计为通过使用OSAL层与操作系统无关。下图显示了SDK中使用的典型内部软件块。有关详细信息,请参阅PDK文档。
5.5.2.1 OSAL
mmWave SDK中存在一个OSAL层,以提供基本组件(驱动程序、mmWaveLink、mmWaveAPI)的操作系统无关特性。这个协议为一些常见的操作系统服务提供了一个抽象层:信号量、互斥锁、调试、中断、时钟、内存、周期分析器。OSAL层的源代码和文档是PDK的一部分,它随SDK包(<pdk_path>\packages\ti\osal)一起安装。有关详细信息,请参阅PDK文档。
5.5.3 毫米波连接mmWaveLink
mmWaveLink是一个控制层,主要实现用于雷达子系统(RADARSS)和控制实体之间通信的协议,控制实体可以是主子系统(MSS R5F)和/或DSP子系统(DSS C66x)。它提供了一套低级API,应用程序(或其上的软件层)可以调用这些API来启用/配置/控制RADARSS。它为应用程序提供了一个定义良好的接口,以便插入正确的通信驱动程序API以与RADARSS通信。它作为Radar SS的驱动程序,公开Radar SS的服务,包括配置Radar SS硬件块的API,并提供MSS/DSS与Radar SS之间的消息传输通信协议。
毫米波链路是DFP包的一部分。请参考mmwave_dfp_<version>\docs文件夹获取更多信息。AWR294X和AM273X+AWR2243的DFP版本不同。
5.5.4 毫米波API
mmWaveAPI是运行在mmWaveLink和LLD API(驱动程序API)之上的更高层的控件。它旨在以更简单和更少的API集的形式为应用程序提供抽象层,以执行毫米波雷达传感任务。在具有双核的毫米波设备中,它还在IPC上提供了一个抽象层,以在MSS和DSS域之间同步和传递配置。毫米波API层的源代码在mmwave_mcuplus_sdk_<ver>\ti\control\毫米波文件夹中。该API的文档可通过位于mmwave_mcuplus_sdk_<ver>\ti\control\mmwave\docs\doxygen\html\index.html的doxygen文件获取,并可通过mmwave_mcuplus_sdk_<ver>\docs\mmwave_sdk_module_document .html轻松浏览。组件的单元测试代码(运行在SYSBIOS之上)也作为包的一部分提供:mmwave_mcuplus_sdk_<ver>\ti\control\mmwave\test\。
图5-24 毫米波API-内部软件设计
毫米波模块提供了两种配置模式。
5.5.4.2 完整配置
“完整”配置模式实现毫米波前端的基本chirp/帧序列,是使用基本chirp/帧配置时应用程序的推荐模式。在此模式下,应用程序将使用毫米波控制模块提供的整套服务。这些功能包括:
- mmWaveLink的初始化
- MSS和DSS之间的同步服务
- 异步事件管理
- 启动和停止服务
- 配置的RADARSS帧,先进的帧,先进的chirp与传统的帧,先进的chirp与先进的帧和连续模式
- MSS和DSS同步配置
在完整配置模式下,可以创建具有多个chirp的多个配置文件。为此添加了以下API:
Chirp管理:
- MMWave_addChirp
- MMWave_delChirp
配置文件管理:
- MMWave_addProfile
- MMWave_delProfile
高级Chirp管理:
- MMWave_addAdvChirpParam
- MMWave_addAdvChirpLUTData
- MMWave_delA