當(dāng)前位置: 首頁(yè) > 傳感測(cè)量產(chǎn)品 > 工業(yè)傳感器 > 雷達(dá)傳感器
發(fā)布日期:2022-10-09 點(diǎn)擊率:56
高分辨率 3D 傳感器技術(shù)已經(jīng)成為各種應(yīng)用的一大關(guān)鍵功能,從基于手勢(shì)的用戶界面到汽車駕駛員輔助系統(tǒng) (ADAS) 等。在各種 3D 傳感器技術(shù)中,雷達(dá)技術(shù)具有大多數(shù)傳統(tǒng)方法所不具備的功能和性能特點(diǎn)。然而,開發(fā)人員發(fā)現(xiàn)保持高精度和低功耗具富挑戰(zhàn)性,部署雷達(dá)傳感器系統(tǒng)也具有陡峭的學(xué)習(xí)曲線。
Acconeer 使用被稱作相干脈沖雷達(dá) (PCR) 的先進(jìn)技術(shù)開發(fā)集成式雷達(dá)傳感器,為智能產(chǎn)品和其他新興應(yīng)用同時(shí)提供了所需的高精度和低功耗。
本文首先介紹 Acconeer 的 PCR 方法,然后介紹一款雷達(dá)模塊以及基于該技術(shù)的相關(guān)開發(fā)平臺(tái)。此外,本文還將演示如何使用該平臺(tái)將復(fù)雜的雷達(dá)傳感器技術(shù)應(yīng)用到各種系統(tǒng)設(shè)計(jì)中,包括電池供電的智能產(chǎn)品。
在更新頻率較快的情況下,基于雷達(dá)的感應(yīng)技術(shù)仍能夠提供毫米級(jí)分辨率,并為精確物體檢測(cè)、距離測(cè)量、定位跟蹤等各種應(yīng)用提供所需的高精度距離和運(yùn)動(dòng)數(shù)據(jù)。但是,要在智能產(chǎn)品設(shè)計(jì)中采用雷達(dá)技術(shù),開發(fā)人員通常必須在低功耗或高精度這兩者之間進(jìn)行取舍。隨著開發(fā)人員將這項(xiàng)技術(shù)應(yīng)用于功率預(yù)算有限的設(shè)計(jì),越來(lái)越多的應(yīng)用要求保持高精度,即使代價(jià)是降低功率水平。
有別于傳統(tǒng)雷達(dá)設(shè)計(jì)的另一種方法提供了相應(yīng)的解決方案,可將復(fù)雜相干雷達(dá)方法的高精度與脈沖雷達(dá)系統(tǒng)的低功耗要求結(jié)合在一起。脈沖雷達(dá)系統(tǒng)會(huì)在脈沖之間關(guān)閉發(fā)射器,從而實(shí)現(xiàn)低功耗,但精度也比較低。相反,相干雷達(dá)系統(tǒng)則可發(fā)射連續(xù)脈沖,使用對(duì)返回信號(hào)的精確相位測(cè)量來(lái)提供高精度測(cè)量,代價(jià)則是功耗較高。
Acconeer 的 A111 雷達(dá)傳感器中使用的 PCR 技術(shù)結(jié)合了這兩種技術(shù)。與脈沖雷達(dá)一樣,PCR 在脈沖發(fā)射之間也會(huì)關(guān)閉無(wú)線電,但與相干雷達(dá)系統(tǒng)一樣,發(fā)射的是脈沖串,即掃描,具有已知的起始相位(圖 1)。
圖 1:Acconeer 的 A111 相干脈沖雷達(dá)器件通過(guò)發(fā)射長(zhǎng)短不同的小波,對(duì)脈沖重復(fù)頻率 (PRF)、中心頻率 (fRF)、脈沖持續(xù)時(shí)間 (tpulse) 進(jìn)行精準(zhǔn)控制,以低功耗實(shí)現(xiàn)高精度。(圖片來(lái)源:Acconeer)
通過(guò)調(diào)節(jié)脈沖持續(xù)時(shí)間 (tpulse) 等參數(shù),開發(fā)人員能夠針對(duì)不同應(yīng)用來(lái)優(yōu)化信號(hào)。例如,在手勢(shì)控制的用戶界面應(yīng)用中,開發(fā)人員可以縮短 tpulse 以生成時(shí)間較短的小波,來(lái)解析各手指的小幅運(yùn)動(dòng)。相反,在汽車自動(dòng)停車應(yīng)用中,他們可以延長(zhǎng) tpulse 以生成時(shí)間較長(zhǎng)的高能量小波,來(lái)解析障礙物。
雖然 PCR 的技術(shù)優(yōu)勢(shì)頗具吸引力,但若沒(méi)有雷達(dá)技術(shù)領(lǐng)域的豐富經(jīng)驗(yàn),開發(fā)人員很少有時(shí)間能自行實(shí)現(xiàn)這項(xiàng)技術(shù)。除了在高效毫米波 (mmWave) 前端設(shè)計(jì)階段所面臨的挑戰(zhàn)外,開發(fā)人員還面臨著另一項(xiàng)嚴(yán)峻挑戰(zhàn),即將所采集的反射雷達(dá)信號(hào)的幅值和相位數(shù)據(jù)轉(zhuǎn)換為實(shí)用的距離和運(yùn)動(dòng)測(cè)量數(shù)據(jù)。
Acconeer 基于 PCR 的 A111 雷達(dá)器件和相關(guān)軟件開發(fā)套件 (SDK) 專為應(yīng)對(duì)這些挑戰(zhàn)而設(shè)計(jì),可提取雷達(dá)信號(hào)處理的低級(jí)細(xì)節(jié),并以應(yīng)用易于處理的方式來(lái)提供數(shù)據(jù)。
Acconeer 的 A111 在硬件方面簡(jiǎn)化了 PCR 技術(shù)實(shí)施,提供完整的雷達(dá)傳感器,將毫米波雷達(dá)前端與封裝天線 (AIP) 集成,采用 5.2 x 5.5 x 0.88 mm 的倒裝片芯片級(jí)封裝 (fcCSP)(圖 2)。
圖 2:Acconeer 的 A111 集成毫米波無(wú)線電、數(shù)字子系統(tǒng)、定時(shí)和電源管理模塊,為使用相干脈沖雷達(dá)技術(shù)的雷達(dá)檢測(cè)提供完整的前端解決方案。(圖片來(lái)源:Acconeer)
除了毫米波射頻 (RF) 子系統(tǒng)之外,A111 還包括數(shù)字子系統(tǒng),為程序和數(shù)據(jù)提供專用存儲(chǔ)區(qū)域,用于管理毫米波無(wú)線電子系統(tǒng)。獨(dú)立子系統(tǒng)提供鎖相環(huán) (PLL) 定時(shí)和電源管理功能,包括上電復(fù)位 (PoR) 和獨(dú)立低壓差 (LDO) 穩(wěn)壓器,適用于器件的多個(gè)功率域。
憑借皮秒級(jí)的時(shí)間分辨率,在長(zhǎng)達(dá)兩米的測(cè)量范圍內(nèi),該器件的測(cè)距精度通常能夠達(dá)到毫米級(jí)。同時(shí),低功耗特性讓開發(fā)人員能夠?qū)⑵溆糜陔姵毓╇姷脑O(shè)備。由于 A111 傳感器高度集成,開發(fā)人員在主機(jī)微控制器之外只需其他少量元器件,即可在設(shè)計(jì)中實(shí)現(xiàn)雷達(dá)檢測(cè)(圖 3)。由于 A111 能夠在未合成孔徑雷達(dá)信號(hào)的情況下工作,因而開發(fā)人員能夠?qū)⑵鋺?yīng)用在智能產(chǎn)品中,而不影響現(xiàn)有的侵入防護(hù)要求。
圖 3:由于 A111 集成了雷達(dá)前端所需的全部射頻和數(shù)字子系統(tǒng),因而開發(fā)人員在主機(jī)微控制器之外只需其他少量元器件,即可實(shí)現(xiàn)雷達(dá)檢測(cè)。(圖片來(lái)源:Acconeer)
A111 充當(dāng)傳統(tǒng)的串行外設(shè)接口 (SPI) 器件,具有串行數(shù)據(jù)輸入 (MOSI)、串行輸出 (MISO)、時(shí)鐘 (SPI_CLK) 和從設(shè)備選擇信號(hào) (SS) 端口。A111 的使能引腳 (ENABLE) 讓開發(fā)人員能夠使用微控制器為器件上電和斷電,而中斷引腳 (INTERRUPT) 讓開發(fā)人員能夠在測(cè)量就緒時(shí)使用 A111 通知微控制器。
通過(guò)在脈沖掃描發(fā)射之間利用使能引腳關(guān)閉 A111,開發(fā)人員能夠?qū)?A111 功耗降低至 66 μA(典型值)。相反,在 A111 執(zhí)行一系列掃描和測(cè)量時(shí),開發(fā)人員可使用基于 Arm? Cortex?-M 的處理器所提供的等待中斷 (WFI) 指令,將主機(jī)微控制器置于低功耗休眠狀態(tài),并在 A111 完成操作后發(fā)出中斷來(lái)喚醒微控制器。
設(shè)計(jì)人員可以自行添加高精度時(shí)鐘源,也可以依賴器件的內(nèi)部時(shí)鐘電路,后者只需接入 EPSON 的 TSX-3225 等外部晶體振蕩器即可工作。該器件使用 1.8 V 單電源為射頻(VIO_1 和 VIO_2)和數(shù)字 (VIO_3) 端供電?;蛘?,對(duì)于高能耗應(yīng)用,開發(fā)人員可以使用獨(dú)立電源。圖 3 所示的 VIO_Na 和 VIO_Nb 引腳已在器件內(nèi)部連接,Acconeer 建議在印刷電路板上對(duì)其進(jìn)行外部連接。
A111 專門作為雷達(dá)前端器件而設(shè)計(jì),因此本身并不具備任何永久性存儲(chǔ)的固件,而是依賴于主機(jī)微控制器來(lái)上傳所有傳感器軟件,處理 A111 傳感器啟動(dòng)、配置、掃描采集和信號(hào)處理。因此,輔助微控制器的選擇是一項(xiàng)重要的設(shè)計(jì)決策。Acconeer 指出,STMicroelectronics 的 STM32L476 或 Nordic Semiconductor 的 NRF52840 等基于 Arm Cortex-M4 的微控制器,通常足以處理測(cè)距或基本運(yùn)動(dòng)檢測(cè)等相對(duì)靜態(tài)的操作。而對(duì)于呼吸運(yùn)動(dòng)檢測(cè)或?qū)ο蟾櫟雀鼊?dòng)態(tài)的應(yīng)用,Acconeer 則推薦使用基于 Arm Cortex-M7 的微控制器,例如 Microchip Technology 的 ATSAME70。因此,Acconeer 在 XM112 雷達(dá)模塊中,將 A111 PCR 器件與 ATSAME70 配對(duì)使用。
Acconeer 的 XM112 模塊結(jié)合了 A111 雷達(dá)傳感器與 Microchip Technology 的 ATSAME70 微控制器,可提供完整的雷達(dá)子系統(tǒng)。開發(fā)人員可將 XM112 與 XB112 分線板結(jié)合使用,即可開始評(píng)估 A111,并構(gòu)建基于 PCR 的軟件應(yīng)用程序。或者,開發(fā)人員只需將這款 30 引腳 24 mm x 16 mm 模塊插入自己的 PCB,即可為定制設(shè)計(jì)添加自足式 PCR 子系統(tǒng)。為了執(zhí)行雷達(dá)檢測(cè),開發(fā)人員可以通過(guò)與開發(fā)系統(tǒng)串行連接來(lái)控制 XM112 模塊,或者直接在 XM112 主機(jī) ATSAME70 微控制器上執(zhí)行軟件。
無(wú)論硬件系統(tǒng)如何配置,開發(fā)人員都要使用 Acconeer 雷達(dá)系統(tǒng)軟件 (RSS) 應(yīng)用編程接口 (API),以編程方式控制雷達(dá)測(cè)量。RSS API 是使用 A111 的唯一軟件接口。由于設(shè)計(jì)、校準(zhǔn)和處理要求的復(fù)雜性,Acconeer 不支持通過(guò)典型 SPI 事務(wù)對(duì) A111 寄存器進(jìn)行訪問(wèn)。相反,所有操作都通過(guò) RSS 進(jìn)行,以此提供 A111 檢測(cè)器功能。這些檢測(cè)器轉(zhuǎn)而通過(guò) API 構(gòu)建低級(jí)服務(wù),以便訪問(wèn)來(lái)自 A111 的不同類型預(yù)處理數(shù)據(jù)。這些服務(wù)包括:
Envelope 服務(wù),提供有關(guān)傳感器數(shù)據(jù)的幅值信息
Power Bin 服務(wù),提供預(yù)定義范圍間隔 (bin) 內(nèi)的幅值信息
IQ 服務(wù),提供 IQ 調(diào)制數(shù)據(jù),可使用相位和幅值測(cè)量,生成的測(cè)量結(jié)果比使用僅幅值 Envelope 和 Power Bin 服務(wù)時(shí)更精確
在這些服務(wù)中,開發(fā)人員能夠充分利用電源管理、范圍增強(qiáng)、自校準(zhǔn)等特殊功能。
在電源管理方面,開發(fā)人員能夠?qū)⑵骷O(shè)置于四種功率模式中的一種模式,通過(guò)降低傳感器更新速率來(lái)減少功耗。開發(fā)人員可借助范圍增強(qiáng)功能來(lái)執(zhí)行長(zhǎng)掃描,在某些條件下測(cè)量范圍可擴(kuò)展至 7 米。最后,通過(guò)自校準(zhǔn)功能,開發(fā)人員能夠降低每次器件啟動(dòng)時(shí)因校準(zhǔn)周期而產(chǎn)生的功耗。例如,在適用于物聯(lián)網(wǎng)的電池供電設(shè)計(jì)中,器件可能經(jīng)常處于休眠模式,甚至因長(zhǎng)期保持非活動(dòng)狀態(tài)而關(guān)閉。
很多情況下,每個(gè)喚醒周期開始時(shí)都執(zhí)行自校準(zhǔn)實(shí)無(wú)必要,純粹只是增加功耗而已。相反,開發(fā)人員可將初始校準(zhǔn)周期的數(shù)值存儲(chǔ)在非易失性存儲(chǔ)器中,并在后續(xù)的喚醒周期中使用這些值就能可靠地執(zhí)行測(cè)量。
對(duì)于生產(chǎn)代碼開發(fā),工程師可以下載完整的軟件分發(fā)包,該軟件包提供了樣例應(yīng)用程序源代碼以及 Acconeer SDK。SDK 提供了頭文件,并在針對(duì)特定微控制器的分發(fā)軟件中,分別提供了適用于 Arm Cortex-M4 和 Arm Cortex-M7 微控制器的預(yù)編譯 RSS 庫(kù)。
SDK 的 C 語(yǔ)言代碼樣例闡示了在生產(chǎn)應(yīng)用中使用 RSS API 執(zhí)行雷達(dá)測(cè)量的基本設(shè)計(jì)模式。對(duì)于任何類型的測(cè)量,這種設(shè)計(jì)模式首先都要初始化系統(tǒng)和 RSS,按順序調(diào)用三個(gè)例程:
acc_driver_hal_init()
,用于初始化電路板和 GPIO
acc_driver_hal_get_implementation()
,用于實(shí)例化 C 結(jié)構(gòu) acc_hal_t,C 結(jié)構(gòu)用于存儲(chǔ)傳感器和電路板屬性,以及存儲(chǔ)器分配和信號(hào)量等運(yùn)行時(shí)間處理程序的指針。
acc_rss_activate_with_hal()
,用于激活雷達(dá)系統(tǒng)服務(wù) (RSS) 實(shí)用程序本身
此時(shí),典型測(cè)量需要?jiǎng)?chuàng)建名為配置的對(duì)象,其中包含傳感器和特定測(cè)量的相關(guān)參數(shù)。然后使用該配置來(lái)調(diào)用 RSS API 函數(shù),以構(gòu)建所需的檢測(cè)器或服務(wù)。樣例代碼闡示了這種設(shè)計(jì)模式在 example_detector_distance_peak.c 模塊中的應(yīng)用,以構(gòu)建和使用距離峰值檢測(cè)器。在該模塊中,main()
例程(清單 1)首先執(zhí)行初始化和 RSS 激活,然后創(chuàng)建配置 (acc_detector_distance_peak_configuration_create()
),并使用該配置來(lái)構(gòu)建峰值檢測(cè)器 (distance_peak_detect_with_blocking_calls()
)。
復(fù)制 int main(void) { acc_detector_distance_peak_status_t detector_status; printf("Acconeer software version %s ", ACC_VERSION); printf("Acconeer RSS version %s ", acc_rss_version()); if (!acc_driver_hal_init()) { return EXIT_FAILURE; } acc_hal_t hal = acc_driver_hal_get_implementation(); if (!acc_rss_activate_with_hal(&hal)) { return EXIT_FAILURE; } //Create the detector configuration acc_detector_distance_peak_configuration_t distance_configuration = acc_detector_distance_peak_configuration_create(); if (distance_configuration == NULL) { fprintf(stderr, " acc_service_distance_configuration_create() failed"); return EXIT_FAILURE; } //Run distance peak detection in blocking mode detector_status = distance_peak_detect_with_blocking_calls(distance_configuration); if (detector_status != ACC_DETECTOR_DISTANCE_PEAK_STATUS_SUCCESS) { fprintf(stderr, "Running distance peak detector in blocking mode failed"); acc_detector_distance_peak_configuration_destroy(&distance_configuration); acc_rss_deactivate(); return EXIT_FAILURE; } detector_status = distance_peak_detect_with_blocking_calls_with_estimated_threshold(distance_configuration); if (detector_status != ACC_DETECTOR_DISTANCE_PEAK_STATUS_SUCCESS) { fprintf(stderr, "Running distance peak detector in blocking mode with estimated threshold failed"); acc_detector_distance_peak_configuration_destroy(&distance_configuration); acc_rss_deactivate(); return EXIT_FAILURE; } acc_detector_distance_peak_configuration_destroy(&distance_configuration); acc_rss_deactivate(); return EXIT_SUCCESS; }
清單 1:Acconeer 軟件開發(fā)套件分發(fā)中包括的樣例代碼演示了使用 Acconeer 雷達(dá)系統(tǒng)服務(wù) (RSS) 應(yīng)用編程接口 (API),通過(guò) Acconeer 的 A111 傳感器來(lái)執(zhí)行測(cè)量的基本設(shè)計(jì)模式。(代碼來(lái)源:Acconeer)
在這個(gè)樣例應(yīng)用程序中,實(shí)際的距離峰值測(cè)量在例程 distance_peak_detect_with_blocking_calls()
中執(zhí)行。該例程轉(zhuǎn)而使用 RSS API 函數(shù) acc_detector_distance_peak_get_next()
,來(lái)檢索 A111 器件的實(shí)際測(cè)量數(shù)據(jù)(清單 2)。在本例中,代碼將 acc_detector_distance_peak_get_next()
測(cè)量例程置于循環(huán)中,遞減計(jì)數(shù)器 detection_runs
,直至執(zhí)行 100 次測(cè)量。
復(fù)制 detector_status = acc_detector_distance_peak_activate(handle); if (detector_status == ACC_DETECTOR_DISTANCE_PEAK_STATUS_SUCCESS) { uint_fast8_t detection_runs = 100; while (detection_runs > 0) { reflection_count = 10; detector_status = acc_detector_distance_peak_get_next(handle, reflections, &reflection_count, &result_info); if (detector_status == ACC_DETECTOR_DISTANCE_PEAK_STATUS_SUCCESS) { printf("Distance detector: Reflections: %u.Seq.nr: %u.(%u-%u mm): %s ", (unsigned int)reflection_count, (unsigned int)result_info.sequence_number, (unsigned int)(start_m * 1000.0f), (unsigned int)(end_m * 1000.0f), format_distances(reflection_count, reflections, metadata.free_space_absolute_offset)); } else { fprintf(stderr, "reflection data not properly retrieved "); } detection_runs--; }
清單 2:在使用 Acconeer A111 傳感器執(zhí)行測(cè)量的過(guò)程中,開發(fā)人員僅能使用 Acconeer 雷達(dá)系統(tǒng)服務(wù) (RSS) 應(yīng)用編程接口 (API),以調(diào)用 acc_detector_distance_peak_get_next()
等例程,用于處理低級(jí)細(xì)節(jié),如本代碼片段所示。(代碼來(lái)源:Acconeer)
開發(fā)人員能夠在類似的設(shè)計(jì)模式中使用服務(wù)調(diào)用來(lái)進(jìn)行初始化、RSS 激活、配置創(chuàng)建、服務(wù)實(shí)例化,從而實(shí)現(xiàn)自己的檢測(cè)器。例如,要使用 Envelope 服務(wù),開發(fā)人員可以調(diào)用 acc_service_envelope_configuration_create()
來(lái)創(chuàng)建必需的配置,并在調(diào)用 acc_service_create()
時(shí)將該配置作為參數(shù)使用,以便實(shí)例化服務(wù)對(duì)象。
通過(guò)研究 C 語(yǔ)言樣例代碼,開發(fā)人員能夠使用 RSS API 來(lái)構(gòu)建帶定制檢測(cè)器的專用雷達(dá)應(yīng)用,從而快速獲取經(jīng)驗(yàn)。為了幫助開發(fā)人員更快熟悉基于雷達(dá)的感應(yīng),特別是 RSS 服務(wù),Acconeer 還在 Python 探索套件軟件庫(kù)中提供了樣例代碼。
Python 探索套件旨在與 Acconeer SDK 和 XM112 等評(píng)估套件配合使用,幫助開發(fā)人員充分利用 Python 的工作效率優(yōu)勢(shì)來(lái)構(gòu)建 RSS 服務(wù)和檢測(cè)器。除了基本樣例之外,該套件還提供能實(shí)現(xiàn)復(fù)雜測(cè)量應(yīng)用的樣例代碼,包括檢測(cè)睡眠對(duì)象的呼吸模式、使用相位信息來(lái)跟蹤相對(duì)運(yùn)動(dòng)、檢測(cè)正在接近的障礙物等。
雷達(dá)檢測(cè)技術(shù)能夠?yàn)榫嚯x和運(yùn)動(dòng)測(cè)量應(yīng)用提供高精度測(cè)量。但是,可能需要消耗大量功率才能實(shí)現(xiàn)高精度,設(shè)計(jì)過(guò)程通常也比較復(fù)雜。通過(guò)實(shí)現(xiàn) PCR 技術(shù),Acconeer 的 A111 集成式雷達(dá)傳感器為智能產(chǎn)品和其他新興應(yīng)用同時(shí)提供了所需的高精度和低功耗。輔助軟件開發(fā)套件 (SDK) 可以對(duì)雷達(dá)信號(hào)處理的復(fù)雜度進(jìn)行抽象化,提供應(yīng)用級(jí)所需的更高級(jí)數(shù)據(jù)。
通過(guò)將 SDK 與基于 A111 的開發(fā)板配合使用,工程師能夠快速獲取雷達(dá)檢測(cè)技術(shù)方面的經(jīng)驗(yàn),快速實(shí)現(xiàn)可識(shí)別對(duì)象和跟蹤運(yùn)動(dòng)的復(fù)雜應(yīng)用,并達(dá)到毫米級(jí)分辨率。
下一篇: PLC、DCS、FCS三大控
上一篇: 使用 SiC 和 GaN 功率