h1654155282.3538
2025-12-26
95
加入交流群
描述
ICU-X0201 Hello Chirp示例应用用户指南
在嵌入式产品中集成超声传感器时,开发合适的应用程序是关键的一环。InvenSense的ICU-X0201 Hello Chirp示例应用为开发者提供了一个很好的起点,它展示了如何使用Chirp SonicLib API和驱动来构建和运行简单的超声传感应用。下面将详细介绍这个示例应用的相关内容。
文件下载:TDK InvenSense DK-x0201开发套件.pdf
一、简介
Hello Chirp示例程序演示了如何使用Chirp SonicLib API和ICU-x0201传感器驱动构建和运行简单的超声传感应用。该应用运行在SmartSonic2板上,可支持单传感器或多传感器连接,非常适合开发者在嵌入式产品中集成ICU-x0201传感器时作为首个示例参考。
二、所需设备和软件
所需设备
- TDK SmartSonic2板
- TDK超声飞行时间(ToF)评估套件(EVK)板
- ICU-10201或ICU-20201传感器模块及柔性电缆
- 微型USB电缆
所需软件包
- Invn.chirpmicro.smartsonic2.icux0201-hellochirp-example.X_X_X.zip(实际文件名包含版本号),包含“Hello Chirp”应用源文件、Chirp SonicLib传感器API和驱动文件、传感器固件映像文件、SmartSonic2板的板级支持包文件以及MPLAB X项目文件。SonicLib版本要求为v3.16.0或更高。
- MPLAB X集成开发环境(可从Microchip.com下载)
- 终端仿真器(如TeraTerm或PuTTY)
三、安装与准备
- 遵循SmartSonic2编程指南的说明进行操作。
- 可选择下载并安装ICU-x0201评估套件(EVK)应用。虽然使用此示例不需要EVK,但可以用它试验不同的测量配置,然后导出设置用于Hello Chirp应用。
- 安装终端仿真器。注意,此示例应用仅需一根电缆,因为调试端口既用于IDE连接,也用于程序的串行输出。而其他应用(如ICU-x0201评估套件)可能还需要将第二根电缆连接到应用端口。
四、构建和编程示例应用及SonicLib
参考SmartSonic2编程指南进行构建和编程。Hello Chirp项目源文件在“source”下分为三个子目录:
- application:包含“src”和“inc”目录,其中“application/icux0201-hellochirp-example/src/main.c”是应用的入口点,包含读取和管理Chirp传感器的各种例程;“application/icux0201-hellochirp-example/inc/app_config.h”包含控制应用和超声传感器行为的各种定义,可修改其中的设置并重新构建以更改配置。
- drivers/invn-soniclib/invn/soniclib:包含SonicLib API和驱动文件、传感器固件模块及其他分发文件。构建应用时必须包含其中的头文件,特别是“soniclib.h”包含SonicLib API的接口定义。构建时该目录必须在包含路径中,提供的项目文件已进行了相应设置。
- board:包含SmartSonic2板的支持文件。所需的板级支持包接口例程定义在“drivers/invn-soniclib/invn/soniclib/chirp_bsp.h”中,具体实现在“board/smartsonic2/HAL/src/chbsp_chirp_samg55.c”文件中。
五、运行示例应用
- 启动终端仿真器程序,打开并配置分配给SmartSonic2板的COM端口(可通过Windows设备管理器查找),设置波特率为921600,数据位8位,无校验位,1位停止位,换行序列仅为换行符(无回车符)。
- 使用板上的复位按钮重置板。
- 应用的状态消息将显示在终端输出中,随后是传感器初始化的摘要数据(设备频率、测量配置等)。传感器设备的距离测量数据将以连续循环的方式输出,距离测量值以毫米为单位。
六、传感器配置设置
传感器模式
- CHIRP_FIRST_SENSOR_MODE:指定第一个传感器(编号最低)的操作模式。若仅连接一个传感器,此值必须为CH_MODE_TRIGGERED_TX_RX或CH_MODE_FREERUN。
- CHIRP_OTHER_SENSOR_MODE:指定其他传感器的模式。对于典型的Pitch - Catch操作(使用两个或更多传感器),应将CHIRP_FIRST_SENSOR_MODE设置为CH_MODE_TRIGGERED_TX_RX,将CHIRP_OTHER_SENSOR_MODE设置为CH_MODE_TRIGGERED_RX_ONLY。但ICU - 20201传感器目前不支持Pitch - Catch操作,因此不应将其配置为CH_MODE_TRIGGERED_RX_ONLY。
触发类型
CHIRP_TRIGGER_TYPE设置传感器在CH_MODE_TRIGGERED_TX_RX或CH_MODE_TRIGGERED_RX_ONLY模式下的触发类型。通常,传感器通过向其触发输入INT引脚施加信号进行硬件触发;也可通过软件(SPI)接口触发,但软件触发不建议用于多传感器Pitch - Catch操作。
最大范围设置
设置传感器“监听”超声信号的时长,即指定测量的最大范围。不同传感器型号的最大可能范围不同,若设置值大于最大可能范围,将使用最大可能范围。较长的最大范围设置会增加每次测量所需的时间和功耗,并生成更多原始样本数据,因此应根据实际传感需求选择合适的范围值。
其他配置
还包括静态目标拒绝样本数(CHIRP_STATIC_REJECT_SAMPLES)、目标中断过滤(CHIRP_TARGET_INT_FILTER)、接收保持时间样本数(CHIRP_RX_HOLDOFF_SAMPLES)、接收预触发(CHIRP_RX_PRETRIGGER_ENABLE)、最大目标数(CHIRP_MAX_TARGETS)、目标检测阈值设置、测量段定义、振铃过滤样本数(CHIRP_RINGDOWN_FILTER_SAMPLES)、传感器输出数据速率(CHIRP_SENSOR_ODR)、测量优化(CHIRP_MEAS_OPTIMIZE)以及传感器固件选择(CHIRP_SENSOR_FW_INIT_FUNC)等配置选项。
七、应用配置设置
测量间隔
MEASUREMENT_INTERVAL_MS定义应用从传感器获取新样本的时间间隔,单位为毫秒。对于触发模式的传感器,应用使用周期性定时器触发测量;对于自由运行模式的传感器,此值设置为传感器的内部样本间隔。
样本数据输出
- APP_DATA_MAX_SAMPLES:定义应用期望的每次测量的样本数,最大值为ICU_MAX_NUM_SAMPLES。
- 全样本数据输出:通过设置OUTPUT_AMP_DATA_CSV、OUTPUT_AMP_LOG、OUTPUT_IQ_DATA和OUTPUT_IQ_LOG等选项,控制是否以及如何读取和显示超声测量中所有内部样本的完整值。这些选项可用于输出振幅数据或I/Q分量数据,但对于大多数基本传感应用,通常只需报告的范围值和简单目标振幅值。
其他显示设置
DISPLAY_AMP_VALUE控制是否显示检测到的目标的振幅值;DISPLAY_SAMPLE_NUM控制是否显示检测到目标的样本编号;DISPLAY_MULTI_TARGET控制是否显示多个检测到的目标的信息。
八、可选:使用ICU - X0201 EVK的测量配置
可使用ICU - X0201评估套件(EVK)定义测量配置,并将其导入Hello Chirp应用。EVK提供了许多与示例中相同的测量配置选项的交互式控制,通过内置的“快速启动”配置可快速开始定义自定义测量。具体步骤包括打开EVK应用、连接传感器、使用配置实用程序修改测量参数、导出配置文件并替换Hello Chirp示例目录中的测量配置文件,最后重新构建和运行应用。
九、总结
ICU - X0201 Hello Chirp示例应用为开发者提供了一个全面的超声传感应用开发框架。通过合理配置传感器和应用的各项参数,开发者可以根据实际需求定制测量配置,实现不同场景下的超声传感功能。在实际应用中,你是否遇到过某些参数配置影响测量精度的情况?你是如何解决的呢?希望本文能帮助你更好地理解和使用这个示例应用,为你的超声传感项目开发提供有力支持。
打开APP阅读更多精彩内容