毫米波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.pswp.cn/web/24342.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/24342.shtml
英文地址,請注明出處:http://en.pswp.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.創建圓柱體/球體也可 然后把底部的兩個點刪…

在 Unreal Engine 5.4 中加載 5.3 版本的插件

Unreal Engine 的版本更新可能導致插件的兼容性問題。如果你需要在 Unreal Engine 5.4 中加載 5.3 版本的插件&#xff0c;可能需要進行一些手動調整和重新編譯。本文將詳細介紹如何進行這些操作。 步驟 1: 準備插件文件 下載 5.3 版本的插件&#xff1a; 從官方源或插件開發者…

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;是解決能源短缺和環境問題的有效…

遞歸及其使用

遞歸及其使用 1. 什么是遞歸&#xff1f;2. 遞歸解決什么問題&#xff1f;3. 遞歸的步驟4. 使用遞歸的注意事項5. 示例 1. 什么是遞歸&#xff1f; 遞歸是指在函數的定義中使用函數自身的過程。簡單來說&#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…

自注意力機學習

自注意力機制的核心概念 1. Query, Key 和 Value Query&#xff08;查詢向量&#xff09;&#xff1a;可以看作是你當前在關注的輸入項。假設你正在閱讀一段文字&#xff0c;這就像你當前在讀的句子。 Key&#xff08;鍵向量&#xff09;&#xff1a;表示其他所有輸入項的標識…