隨著用戶對 Amazon Alexa、Google Assistant、Apple Siri 和 Microsoft Cortana 等虛擬數字助理日漸熟悉并委以重任,對智能產品的需求幾乎遍及所有應用領域。除了提供便利外,在工業系統和醫療保健應用中,虛擬助理在提高各種產品的安全性方面也發揮了日益重要的作用。然而,對于開發人員而言,這些產品的基礎設計對處理器的需求有時相互沖突,既要增強性能,還需優化成本和資源占用并確保高效運行。
本文闡示了開發人員如何使用多核處理器(本文以 NXP 的 i.MX 8M Nano 為例)來滿足眾多應用對新興智能產品處理和接口的各種不同要求,應用領域包括智能家居、工業自動化和醫療系統等。使用該處理器,開發人員可輕松實現具有高級音頻處理功能的下一代語音型解決方案,本文著重介紹了具體應用方法。
智能產品的演化
語音助手技術的快速崛起,使用戶期盼智能產品能實現更多功能。新興產品既要響應語音命令,還需嵌入更多智能以處理來自傳感器、相機和其他產品的各種輸入數據。智能照明開關若只能打開和關閉燈或洗碗機以響應語音命令,還遠遠不夠。隨著應用的復雜化,其基礎器件需要支持更多不同的傳感器組合、3D 圖形顯示,并提高處理能力以使用人工智能 (AI) 方法。
大眾希望產品更智能化,已然不只是出于對更高便利性的渴望。在工業自動化和醫療保健等關鍵應用領域中,設備能夠主動提醒用戶注意危險或病理狀態就顯得至關重要。工廠工人所戴的安全帽若能監測周圍環境,他就能更快地避開危險;高危患者佩戴的微型醫療監護儀若能持續監測生命體征,醫生就能在危機發生之前介入進行治療。
上述及其他智能產品提出的特定設計要求雖與其目標應用一樣各種各樣,但大多要求產品具有高性能處理能力、多媒體功能和安全操作能力。對于開發人員而言,解決方案如需滿足應用基本要求和這些功能需求,就必須提高性能以適應功能更強大的應用,同時縮小物理尺寸、縮減成本、降低功耗以滿足用戶期望。NXP 的 i.MX 8M Nano 應用處理器系列基于異構多核架構,可滿足新興智能產品設計的各種要求。
高性能內核
NXP 的 i.MX 8M Nano 是 i.MX 8M 處理器系列中最新的產品,旨在提供一個可擴展的多核處理平臺。對于高端視頻應用,NXP 的 MIMX8MQ5DVAJZAB 等 i.MX 8M 旗艦處理器提供的顯示分辨率高達 4K,并可對 4K 高動態范圍 (HDR) 視頻進行硬件解碼。對于 1080p 視頻,NXP 的 MIMX8MM6CVTKZAA 等 i.MX 8M Mini 處理器支持 1080p 硬件解碼。i.MX 8M 和 8M Mini 系列產品均整合了多達四個 Arm?Cortex?-A53 應用處理器內核和一個 Arm Cortex-M4F 微控制器內核。
相比之下,NXP 的 i.MX 8M Nano MIMX8MN6CVTIZAA 處理器整合了四個 Arm Cortex-A53 內核和一個 Arm Cortex-M7 內核。在 Arm Cortex-M 系列內核中(包括 Cortex-M4F),后者的性能表現最為出色。
除了對處理器內核的優化外,i.MX 8M Nano 處理器還支持各種外部存儲器件,并提供各種外部外設接口以滿足消費類和工業應用的常見需求(圖 1)。
圖 1:NXP 的 i.MX 8M Nano 處理器整合了多達四個 Arm Cortex-A53 應用處理器和一個 Arm Cortex-M7 微控制器,具有專用硬件子系統、全面的外部外設接口,可滿足消費類和工業應用的常見需求。(圖片來源:NXP)
i.MX 8M Nano 處理器系列具有多種不同的型號,使開發人員可輕松滿足成本和性能方面的特定要求。例如,高性能產品集成了安全性、3D 圖形顯示、音頻處理等各種專用子系統。另一些 i.MX 8M Nano 系列產品則可選擇整合較少的 Cortex-A53 內核,更有圖形功能較弱的 “Lite” 版本。
盡管如此,i.MX 8M Nano 處理器系列的所有產品均能提供新興智能產品所需的應用性能和實時性能。
每個 Arm Cortex-A53 應用處理器內核都可提供高性能以執行應用軟件,工作時鐘頻率高達 1.5 GHz,具有專用一級 (L1) 緩存——包括 32 KB 指令緩存 (I-cache) 和 32 KB 數據緩存 (D-cache),以及 512 KB 共享 L2 統一緩存。配合集成的浮點單元 (FPU),這些內核支持 Arm 的 Neon 技術——用于數字信號處理的高級單指令多數據 (SIMD) 操作,以及數據密集型應用的其他高級算法。
對于嵌入式系統要求,Arm Cortex-M7 微控制器內核的工作頻率高達 750 MHz,可高性能執行要求低延遲和確定性操作的實時進程。為了進一步加快處理速度,該內核還具有集成的 FPU 和 256 KB 緊耦合存儲器 (TCM),用于指令和數據緩存。
不過,對于復雜的實時處理任務,快速識別不同中斷源的能力與原始處理能力同樣重要。在 i.MX 8M Nano 處理器中,各個 Arm Cortex-A53 內核內置全局中斷控制器 (GIC),Arm Cortex-M7 內核則具有嵌套向量中斷控制器 (NVIC),可對近 128 個不同中斷請求源發出的中斷進行精細化處理,對應分類包括內核狀態、定時器、外設接口事件、直接存儲器訪問 (DMA) 操作、專用硬件進程等。
異構多核處理
每個 i.MX 8M Nano 處理器內核都可獨立提供強大的計算資源。實時性能和應用軟件執行方面往往存在相互沖突的要求,致使智能產品設計難度陡增。然而,該處理器的多個內核配合使用,即可提供功能強大的計算平臺,從而妥善處理這些要求。例如,基于該處理器的智能產品可使用 Cortex-M7 內核實時處理音頻流,同時在一個或多個 Cortex-A53 內核上運行算法來分析結果數據,并為用戶提供結果的 3D 圖形顯示。
然而,為了確保異構多核間協調處理的可靠性,多核系統需要仔細調度不同內核、專用硬件塊和外設之間的處理操作和數據交換。在 i.MX 8M Nano 處理器中,這種調度是采用基于硬件的機制來實現的。在多處理環境中這種機制用于底層軟件服務一般使用的信號量和消息發送。
在嵌入式系統中,協調調度的對象則還需擴展至存儲器和外設等硬件資源。為了執行此任務,該處理器集成了專用資源域控制器 (RDC),從而確保在適當時安全共享資源,或在需要時進行可靠隔離。因此,應用軟件和實時代碼可以各自控制其域內專用的資源,同時共享一組公共資源(圖 2)。
圖 2:NXP 的 i.MX 8M Nano 處理器采用基于硬件的機制,可確保 Cortex-A53 應用域或 Cortex-M7 實時域專用資源的隔離,同時在需要時實現安全的資源共享。(圖片來源:NXP)
針對智能產品的專用支持
只需使用 i.MX 8M Nano 處理器的多核和資源共享功能,開發人員即可實現語音助手和 3D 圖形功能,構建復雜的新興智能產品應用。憑借 i.MX 8M Nano 處理器內置的智能產品專用硬件支持,這些應用可進一步提高性能并減少軟件占用空間。
在圖形方面,處理器集成的圖形處理單元 (GPU) 可提供 2D 和 3D 圖形加速,支持 Vulkan、開放運算語言 (OpenCL) 和開放圖形庫 (OpenGL) 等標準圖形庫。集成的液晶顯示接口 (LCDIF) 控制器支持 1080p60 顯示(p 表示逐行掃描,幀率為 60 幀/秒)。
片上 GPU 可為內核分擔顯示處理,而另一組硬件子系統則分擔了各種音頻處理任務。通常情況下,這類任務會使基于常規處理器的系統速度減慢。針對麥克風輸入處理,該處理器的脈沖密度調制 (PDM) 麥克風接口 (MICFIL) 可提供多級流水線,用 PDM 麥克風接收的 1 位輸入生成經過濾波的 16 位脈沖代碼調制 (PCM) 數據(圖 3)。
圖 3:NXP 的 i.MX 8M Nano 處理器具有 PDM 麥克風輸入接口子系統,可為音頻信號處理和語音活動檢測提供獨立的硬件流水線。(圖片來源:NXP)
在基于語音的典型應用中,設計人員只需在該處理器支持的八個 PDM 聲道中選擇其一,并連接 PDM 麥克風即可。在 PDM 麥克風接口子系統中,輸入接口將來自一對麥克風的時分復用 PDM 數據進行組合,形成包含左右聲道的混聲道。
在每個聲道的下一級,專用可編程抽取濾波器可提供不同的通帶,具體取決于所需的輸出速率和質量選擇 (QSEL) 設置。具體質量設置選擇包括高、中、低和另外三個較低的質量級別。例如,輸出速率為 48 kHz 時,較低質量模式的濾波器通帶設置為 10.5 Hz 至 11.25 kHz;相比之下,高、中、低質量模式的通帶為 21 Hz 至 22.5 kHz。最后,各聲道的濾波結果送入各自獨立的先進先出 (FIFO) 緩沖區以生成中斷,通過 DMA 傳輸或訪問總線。
基于硬件的語音活動檢測
PDM 麥克風接口提供一組硬件語音活動檢測器 (HWVAD) 與音頻信號調節流水線并行操作,用于監測所需的麥克風輸入聲道。(請注意:上圖中,各 HWVAD 與混聲道連接,但根據說明文檔,與之相連的是各路聲道,并且由寄存器 “VADCHSEL” 的名稱可知,應為聲道)。該處理器提供了各類設備寄存器以支持 HWVAD 操作,因而開發人員可按應用需求定義特定的 HWVAD 配置(表 1)。
表 1:NXP 的 i.MX 8M Nano 處理器寄存器常用于配置處理器 PDM 麥克風接口 (MICFIL) 中集成的硬件語音活動檢測器。(表格來源:Digi-Key Electronics,基于 NXP 提供的數據)
根據這些寄存器設置,HWVAD 使用內置的語音檢測算法來識別語音活動。檢測到語音活動后,HWVAD 隨即生成中斷以喚醒內核(通常是 Cortex-M7)以作進一步處理(圖 4)。
圖 4:根據開發人員編程好的設置,NXP 的 i.MX 8M Nano 處理器硬件語音活動檢測器允許處理器內核休眠或執行其他處理,直至其檢測到語音并需要進一步的語音處理為止。(圖片來源:NXP)
在語音助手應用中,內核將檢查音頻流中是否存在相應的喚醒字。如果檢測到喚醒字,則內核通常會將音頻流交由應用支持的基于云的語音助手服務處理。
除了 PDM 麥克風接口子系統外,i.MX 8M Nano 處理器還具有五個同步音頻接口 (SAI) 模塊,支持 Inter-IC Sound (I2S)、audio codec 97 (AC97)、時分復用 (TDM) 音頻、直接比特流數字 (DSD) 以及編解碼器或數字信號處理 (DSP) 數據等多種標準音頻格式。
開發人員常常需要將音頻輸入樣本按需轉換為其他采樣率和分辨率,以滿足特定應用要求。i.MX 8M Nano 處理器不是占用處理器周期來完成這類常見任務,而是使用集成的專用異步采樣率轉換器 (ASRC) 子系統。
ASRC 可同步處理多達 32 路音頻聲道,將聲源樣本自動轉換為所需的采樣率(介于 8 kHz 和 384 kHz 之間)和分辨率(每個樣本 16、20、24 或 32 位 IEEE 單精度浮點數或定點數)。在此過程中,ASRC 將所有輸入數據轉換為 64 位 IEEE 浮點格式,確保根據需要對音頻樣本數據進行精確上/下變頻,以獲得所需的結果。
使用總電源控制器進行電源管理
NXP 的 i.MX 8M Nano 處理器集成了多個處理器內核和硬件子系統,因此其架構中包含許多獨立的電源域和電源模式,分別構建在各個內核和子系統中。為了管理這些內核和專用塊的電源,i.MX 8M Nano 處理器包含一個精密的總電源控制器 (GPC),用于協調多個電源管理功能。在 GPC 中,系統模式控制器 (SMC) 用于管理各個內核的低功耗模式 (LPM) 和整體深度休眠模式 (DSM),而電源選通時隙控制器 (PGTSC) 用于管理時鐘選通功能,通過禁用不活動子系統的電源來降低系統功耗(圖 5)。
圖 5:為了實現系統級電源優化,NXP 的 i.MX 8M Nano 集成了功能全面的電源控制器,用于管理處理器內核中內置的電源選通功能和低功耗模式。(圖片來源:NXP)
通過軟件或硬件控制,GPC 可使用 PGTSC 中 20 個不同的時隙,使處理器中多個時鐘選通電源域中的任一個上電或斷電。此時,時隙控制器對時隙進行順序操作,激活所有上電或斷電請求后才會進入下一個時隙。除了滿足特定的電源定序要求外,該方法還使開發人員能夠減少系統上電或由低功耗或深度休眠模式喚醒時的電流激增。
為 i.MX 8M Nano 處理器的多電源域供電十分簡單。ROHM Semiconductor 的 BD71850MWV 電源管理集成電路 (PMIC) 專為支持 NXP 的 i.MX 8M Nano 處理器而設計,可提供處理器及其他系統外設所需的所有電源軌。實際上,BD71850MWV PMIC 本身集成了電源定序器,進一步簡化了上電和斷電的安全執行;供電對象不僅針對處理器,還包括外部存儲器、傳感器或系統中的其他器件(圖 6)。對于開發人員而言,如需將 BD71850MWV PMIC 整合到設計中,除了常用去耦電容器(圖中未顯示)外,無需添加其他元器件。
圖 6:NXP iMX 8M Nano 處理器的多個內核和硬件子系統需要多個電源軌,而 ROHM BD71850MWV 電源管理集成電路 (PMIC) 則提供了現成的解決方案。(圖片來源:NXP)
開發支持
基于 i.MX 8M Nano 的設計中硬件接口要求相對簡單,但是 NXP 甚至為開發人員免去了這項相對簡單的設計任務,簡化了處理器評估和新智能產品的原型開發。8MNANOD4-EVK 評估套件針對 i.MX 8M Nano 處理器提供了完整的開發套件和參考設計,其中包括 i.MX 8M Nano 處理器、BD71850MWV PMIC 和 Murata Electronics 的 LBEE5HY1MW Wi-Fi/藍牙收發器模塊,可作為即時評估和原型開發平臺使用。除了多個接口選擇和對應的連接器外,該評估套件還包括同步動態隨機存儲器 (SDRAM)、NOR 閃存和 NAND 閃存等一整套外部存儲器。借助該評估套件,開發人員可以探索不同的工作模式和配置,包括從外部閃存啟動,或使用已簽名引導映像進行安全啟動。
如果開發人員已準備好開始著手定制軟件開發,NXP 為其提供了驅動程序、板級支持包 (BSP) 和中間件,可與該公司的 MCUXpresso 集成開發環境 (IDE) 和第三方 IDE 配合使用。如需構建利用機器學習方法的應用,開發人員可借助 NXP 的 eIQ 機器學習軟件開發環境和 i.MX 優化推斷庫,例如支持 TensorFlow Lite 的 eIQ(適合基于 Cortex-M7 的推斷),或面向 Arm 神經網絡軟件開發套件 (NN SDK) 的 NXP 端口(適合基于 Cortex-A53 的推斷)。
總結
大眾對語音助手產品的迅速接納,也使其對下一代智能產品的期望值不斷提升:這些產品既要提供出色的音頻支持,還需提高性能、增強圖形功能并確保高能效運行。然而,對于開發人員而言,這些產品的有效系統設計需要同時滿足高性能應用軟件執行和低延遲實時性能,但在相應的尺寸、成本和功率限制下,實現難度相當大。借助 NXP 的可擴展多核處理器系列,開發人員可輕松實現消費類、工業和醫療等眾多應用領域對智能產品的設計要求。
評論
查看更多