ICU-X0201 Hello Chirp示例應(yīng)用用戶指南
在嵌入式產(chǎn)品中集成超聲傳感器時(shí),開發(fā)合適的應(yīng)用程序是關(guān)鍵的一環(huán)。InvenSense的ICU-X0201 Hello Chirp示例應(yīng)用為開發(fā)者提供了一個(gè)很好的起點(diǎn),它展示了如何使用Chirp SonicLib API和驅(qū)動(dòng)來構(gòu)建和運(yùn)行簡(jiǎn)單的超聲傳感應(yīng)用。下面將詳細(xì)介紹這個(gè)示例應(yīng)用的相關(guān)內(nèi)容。
文件下載:TDK InvenSense DK-x0201開發(fā)套件.pdf
一、簡(jiǎn)介
Hello Chirp示例程序演示了如何使用Chirp SonicLib API和ICU-x0201傳感器驅(qū)動(dòng)構(gòu)建和運(yùn)行簡(jiǎn)單的超聲傳感應(yīng)用。該應(yīng)用運(yùn)行在SmartSonic2板上,可支持單傳感器或多傳感器連接,非常適合開發(fā)者在嵌入式產(chǎn)品中集成ICU-x0201傳感器時(shí)作為首個(gè)示例參考。
二、所需設(shè)備和軟件
所需設(shè)備
所需軟件包
- Invn.chirpmicro.smartsonic2.icux0201-hellochirp-example.X_X_X.zip(實(shí)際文件名包含版本號(hào)),包含“Hello Chirp”應(yīng)用源文件、Chirp SonicLib傳感器API和驅(qū)動(dòng)文件、傳感器固件映像文件、SmartSonic2板的板級(jí)支持包文件以及MPLAB X項(xiàng)目文件。SonicLib版本要求為v3.16.0或更高。
- MPLAB X集成開發(fā)環(huán)境(可從Microchip.com下載)
- 終端仿真器(如TeraTerm或PuTTY)
三、安裝與準(zhǔn)備
- 遵循SmartSonic2編程指南的說明進(jìn)行操作。
- 可選擇下載并安裝ICU-x0201評(píng)估套件(EVK)應(yīng)用。雖然使用此示例不需要EVK,但可以用它試驗(yàn)不同的測(cè)量配置,然后導(dǎo)出設(shè)置用于Hello Chirp應(yīng)用。
- 安裝終端仿真器。注意,此示例應(yīng)用僅需一根電纜,因?yàn)檎{(diào)試端口既用于IDE連接,也用于程序的串行輸出。而其他應(yīng)用(如ICU-x0201評(píng)估套件)可能還需要將第二根電纜連接到應(yīng)用端口。
四、構(gòu)建和編程示例應(yīng)用及SonicLib
參考SmartSonic2編程指南進(jìn)行構(gòu)建和編程。Hello Chirp項(xiàng)目源文件在“source”下分為三個(gè)子目錄:
- application:包含“src”和“inc”目錄,其中“application/icux0201-hellochirp-example/src/main.c”是應(yīng)用的入口點(diǎn),包含讀取和管理Chirp傳感器的各種例程;“application/icux0201-hellochirp-example/inc/app_config.h”包含控制應(yīng)用和超聲傳感器行為的各種定義,可修改其中的設(shè)置并重新構(gòu)建以更改配置。
- drivers/invn-soniclib/invn/soniclib:包含SonicLib API和驅(qū)動(dòng)文件、傳感器固件模塊及其他分發(fā)文件。構(gòu)建應(yīng)用時(shí)必須包含其中的頭文件,特別是“soniclib.h”包含SonicLib API的接口定義。構(gòu)建時(shí)該目錄必須在包含路徑中,提供的項(xiàng)目文件已進(jìn)行了相應(yīng)設(shè)置。
- board:包含SmartSonic2板的支持文件。所需的板級(jí)支持包接口例程定義在“drivers/invn-soniclib/invn/soniclib/chirp_bsp.h”中,具體實(shí)現(xiàn)在“board/smartsonic2/HAL/src/chbsp_chirp_samg55.c”文件中。
五、運(yùn)行示例應(yīng)用
- 啟動(dòng)終端仿真器程序,打開并配置分配給SmartSonic2板的COM端口(可通過Windows設(shè)備管理器查找),設(shè)置波特率為921600,數(shù)據(jù)位8位,無校驗(yàn)位,1位停止位,換行序列僅為換行符(無回車符)。
- 使用板上的復(fù)位按鈕重置板。
- 應(yīng)用的狀態(tài)消息將顯示在終端輸出中,隨后是傳感器初始化的摘要數(shù)據(jù)(設(shè)備頻率、測(cè)量配置等)。傳感器設(shè)備的距離測(cè)量數(shù)據(jù)將以連續(xù)循環(huán)的方式輸出,距離測(cè)量值以毫米為單位。
六、傳感器配置設(shè)置
傳感器模式
- CHIRP_FIRST_SENSOR_MODE:指定第一個(gè)傳感器(編號(hào)最低)的操作模式。若僅連接一個(gè)傳感器,此值必須為CH_MODE_TRIGGERED_TX_RX或CH_MODE_FREERUN。
- CHIRP_OTHER_SENSOR_MODE:指定其他傳感器的模式。對(duì)于典型的Pitch - Catch操作(使用兩個(gè)或更多傳感器),應(yīng)將CHIRP_FIRST_SENSOR_MODE設(shè)置為CH_MODE_TRIGGERED_TX_RX,將CHIRP_OTHER_SENSOR_MODE設(shè)置為CH_MODE_TRIGGERED_RX_ONLY。但I(xiàn)CU - 20201傳感器目前不支持Pitch - Catch操作,因此不應(yīng)將其配置為CH_MODE_TRIGGERED_RX_ONLY。
觸發(fā)類型
CHIRP_TRIGGER_TYPE設(shè)置傳感器在CH_MODE_TRIGGERED_TX_RX或CH_MODE_TRIGGERED_RX_ONLY模式下的觸發(fā)類型。通常,傳感器通過向其觸發(fā)輸入INT引腳施加信號(hào)進(jìn)行硬件觸發(fā);也可通過軟件(SPI)接口觸發(fā),但軟件觸發(fā)不建議用于多傳感器Pitch - Catch操作。
最大范圍設(shè)置
設(shè)置傳感器“監(jiān)聽”超聲信號(hào)的時(shí)長(zhǎng),即指定測(cè)量的最大范圍。不同傳感器型號(hào)的最大可能范圍不同,若設(shè)置值大于最大可能范圍,將使用最大可能范圍。較長(zhǎng)的最大范圍設(shè)置會(huì)增加每次測(cè)量所需的時(shí)間和功耗,并生成更多原始樣本數(shù)據(jù),因此應(yīng)根據(jù)實(shí)際傳感需求選擇合適的范圍值。
其他配置
還包括靜態(tài)目標(biāo)拒絕樣本數(shù)(CHIRP_STATIC_REJECT_SAMPLES)、目標(biāo)中斷過濾(CHIRP_TARGET_INT_FILTER)、接收保持時(shí)間樣本數(shù)(CHIRP_RX_HOLDOFF_SAMPLES)、接收預(yù)觸發(fā)(CHIRP_RX_PRETRIGGER_ENABLE)、最大目標(biāo)數(shù)(CHIRP_MAX_TARGETS)、目標(biāo)檢測(cè)閾值設(shè)置、測(cè)量段定義、振鈴過濾樣本數(shù)(CHIRP_RINGDOWN_FILTER_SAMPLES)、傳感器輸出數(shù)據(jù)速率(CHIRP_SENSOR_ODR)、測(cè)量?jī)?yōu)化(CHIRP_MEAS_OPTIMIZE)以及傳感器固件選擇(CHIRP_SENSOR_FW_INIT_FUNC)等配置選項(xiàng)。
七、應(yīng)用配置設(shè)置
測(cè)量間隔
MEASUREMENT_INTERVAL_MS定義應(yīng)用從傳感器獲取新樣本的時(shí)間間隔,單位為毫秒。對(duì)于觸發(fā)模式的傳感器,應(yīng)用使用周期性定時(shí)器觸發(fā)測(cè)量;對(duì)于自由運(yùn)行模式的傳感器,此值設(shè)置為傳感器的內(nèi)部樣本間隔。
樣本數(shù)據(jù)輸出
- APP_DATA_MAX_SAMPLES:定義應(yīng)用期望的每次測(cè)量的樣本數(shù),最大值為ICU_MAX_NUM_SAMPLES。
- 全樣本數(shù)據(jù)輸出:通過設(shè)置OUTPUT_AMP_DATA_CSV、OUTPUT_AMP_LOG、OUTPUT_IQ_DATA和OUTPUT_IQ_LOG等選項(xiàng),控制是否以及如何讀取和顯示超聲測(cè)量中所有內(nèi)部樣本的完整值。這些選項(xiàng)可用于輸出振幅數(shù)據(jù)或I/Q分量數(shù)據(jù),但對(duì)于大多數(shù)基本傳感應(yīng)用,通常只需報(bào)告的范圍值和簡(jiǎn)單目標(biāo)振幅值。
其他顯示設(shè)置
DISPLAY_AMP_VALUE控制是否顯示檢測(cè)到的目標(biāo)的振幅值;DISPLAY_SAMPLE_NUM控制是否顯示檢測(cè)到目標(biāo)的樣本編號(hào);DISPLAY_MULTI_TARGET控制是否顯示多個(gè)檢測(cè)到的目標(biāo)的信息。
八、可選:使用ICU - X0201 EVK的測(cè)量配置
可使用ICU - X0201評(píng)估套件(EVK)定義測(cè)量配置,并將其導(dǎo)入Hello Chirp應(yīng)用。EVK提供了許多與示例中相同的測(cè)量配置選項(xiàng)的交互式控制,通過內(nèi)置的“快速啟動(dòng)”配置可快速開始定義自定義測(cè)量。具體步驟包括打開EVK應(yīng)用、連接傳感器、使用配置實(shí)用程序修改測(cè)量參數(shù)、導(dǎo)出配置文件并替換Hello Chirp示例目錄中的測(cè)量配置文件,最后重新構(gòu)建和運(yùn)行應(yīng)用。
九、總結(jié)
ICU - X0201 Hello Chirp示例應(yīng)用為開發(fā)者提供了一個(gè)全面的超聲傳感應(yīng)用開發(fā)框架。通過合理配置傳感器和應(yīng)用的各項(xiàng)參數(shù),開發(fā)者可以根據(jù)實(shí)際需求定制測(cè)量配置,實(shí)現(xiàn)不同場(chǎng)景下的超聲傳感功能。在實(shí)際應(yīng)用中,你是否遇到過某些參數(shù)配置影響測(cè)量精度的情況?你是如何解決的呢?希望本文能幫助你更好地理解和使用這個(gè)示例應(yīng)用,為你的超聲傳感項(xiàng)目開發(fā)提供有力支持。
-
超聲傳感
+關(guān)注
關(guān)注
0文章
2瀏覽量
5521
發(fā)布評(píng)論請(qǐng)先 登錄
基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):Hello World 示例應(yīng)用
基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):Hello World 示例應(yīng)用
Sub-1G系列產(chǎn)品CW32W031單片機(jī)CAD的應(yīng)用參考
ICU-10201:高性能超聲波飛行時(shí)間測(cè)距傳感器的深度解析
EV_MOD_ICU - 10201 - 00 評(píng)估模塊使用指南:硬件設(shè)計(jì)綜合解析
EV_MOD_ICU-20201-01評(píng)估模塊用戶指南解讀
EV_ICU-20201-00 超聲傳感器評(píng)估板使用指南
ICU-30201:超遠(yuǎn)距離超聲波飛行時(shí)間測(cè)距傳感器的卓越之選
CW32W031類Mesh通信工程的說明
VS Code運(yùn)行 pytest_hello_world.py
termux輸出Hello termux
從何處獲取 CYBLE-416045-02 用戶指南?
COMSOL Multiphysics V4.x操作手冊(cè)叢書后處理用戶指南
加載示例圖像時(shí),COM7的調(diào)試控制臺(tái)hello_world不顯示消息怎么解決?
GaN HEMT的SPICE模型使用指南及示例
ICU-X0201 Hello Chirp示例應(yīng)用用戶指南
評(píng)論