隨著用戶對 Amazon Alexa、Google Assistant、Apple Siri 和 Microsoft Cortana 等虛擬數(shù)字助理日漸熟悉并委以重任,對智能產(chǎn)品的需求幾乎遍及所有應(yīng)用領(lǐng)域。除了提供便利外,在工業(yè)系統(tǒng)和醫(yī)療保健應(yīng)用中,虛擬助理在提高各種產(chǎn)品的安全性方面也發(fā)揮了日益重要的作用。然而,對于開發(fā)人員而言,這些產(chǎn)品的基礎(chǔ)設(shè)計(jì)對處理器的需求有時(shí)相互沖突,既要增強(qiáng)性能,還需優(yōu)化成本和資源占用并確保高效運(yùn)行。
本文闡示了開發(fā)人員如何使用多核處理器(本文以 NXP 的 i.MX 8M Nano 為例)來滿足眾多應(yīng)用對新興智能產(chǎn)品處理和接口的各種不同要求,應(yīng)用領(lǐng)域包括智能家居、工業(yè)自動化和醫(yī)療系統(tǒng)等。使用該處理器,開發(fā)人員可輕松實(shí)現(xiàn)具有高級音頻處理功能的下一代語音型解決方案,本文著重介紹了具體應(yīng)用方法。
智能產(chǎn)品的演化
語音助手技術(shù)的快速崛起,使用戶期盼智能產(chǎn)品能實(shí)現(xiàn)更多功能。新興產(chǎn)品既要響應(yīng)語音命令,還需嵌入更多智能以處理來自傳感器、相機(jī)和其他產(chǎn)品的各種輸入數(shù)據(jù)。智能照明開關(guān)若只能打開和關(guān)閉燈或洗碗機(jī)以響應(yīng)語音命令,還遠(yuǎn)遠(yuǎn)不夠。隨著應(yīng)用的復(fù)雜化,其基礎(chǔ)器件需要支持更多不同的傳感器組合、3D 圖形顯示,并提高處理能力以使用人工智能 (AI) 方法。
大眾希望產(chǎn)品更智能化,已然不只是出于對更高便利性的渴望。在工業(yè)自動化和醫(yī)療保健等關(guān)鍵應(yīng)用領(lǐng)域中,設(shè)備能夠主動提醒用戶注意危險(xiǎn)或病理狀態(tài)就顯得至關(guān)重要。工廠工人所戴的安全帽若能監(jiān)測周圍環(huán)境,他就能更快地避開危險(xiǎn);高?;颊吲宕鞯奈⑿歪t(yī)療監(jiān)護(hù)儀若能持續(xù)監(jiān)測生命體征,醫(yī)生就能在危機(jī)發(fā)生之前介入進(jìn)行治療。
上述及其他智能產(chǎn)品提出的特定設(shè)計(jì)要求雖與其目標(biāo)應(yīng)用一樣各種各樣,但大多要求產(chǎn)品具有高性能處理能力、多媒體功能和安全操作能力。對于開發(fā)人員而言,解決方案如需滿足應(yīng)用基本要求和這些功能需求,就必須提高性能以適應(yīng)功能更強(qiáng)大的應(yīng)用,同時(shí)縮小物理尺寸、縮減成本、降低功耗以滿足用戶期望。NXP 的 i.MX 8M Nano 應(yīng)用處理器系列基于異構(gòu)多核架構(gòu),可滿足新興智能產(chǎn)品設(shè)計(jì)的各種要求。
高性能內(nèi)核
NXP 的 i.MX 8M Nano 是 i.MX 8M 處理器系列中最新的產(chǎn)品,旨在提供一個(gè)可擴(kuò)展的多核處理平臺。對于高端視頻應(yīng)用,NXP 的 MIMX8MQ5DVAJZAB 等 i.MX 8M 旗艦處理器提供的顯示分辨率高達(dá) 4K,并可對 4K 高動態(tài)范圍 (HDR) 視頻進(jìn)行硬件解碼。對于 1080p 視頻,NXP 的 MIMX8MM6CVTKZAA 等 i.MX 8M Mini 處理器支持 1080p 硬件解碼。i.MX 8M 和 8M Mini 系列產(chǎn)品均整合了多達(dá)四個(gè) Arm?Cortex?-A53 應(yīng)用處理器內(nèi)核和一個(gè) Arm Cortex-M4F 微控制器內(nèi)核。
相比之下,NXP 的 i.MX 8M Nano MIMX8MN6CVTIZAA 處理器整合了四個(gè) Arm Cortex-A53 內(nèi)核和一個(gè) Arm Cortex-M7 內(nèi)核。在 Arm Cortex-M 系列內(nèi)核中(包括 Cortex-M4F),后者的性能表現(xiàn)最為出色。
除了對處理器內(nèi)核的優(yōu)化外,i.MX 8M Nano 處理器還支持各種外部存儲器件,并提供各種外部外設(shè)接口以滿足消費(fèi)類和工業(yè)應(yīng)用的常見需求(圖 1)。

圖 1:NXP 的 i.MX 8M Nano 處理器整合了多達(dá)四個(gè) Arm Cortex-A53 應(yīng)用處理器和一個(gè) Arm Cortex-M7 微控制器,具有專用硬件子系統(tǒng)、全面的外部外設(shè)接口,可滿足消費(fèi)類和工業(yè)應(yīng)用的常見需求。(圖片來源:NXP)
i.MX 8M Nano 處理器系列具有多種不同的型號,使開發(fā)人員可輕松滿足成本和性能方面的特定要求。例如,高性能產(chǎn)品集成了安全性、3D 圖形顯示、音頻處理等各種專用子系統(tǒng)。另一些 i.MX 8M Nano 系列產(chǎn)品則可選擇整合較少的 Cortex-A53 內(nèi)核,更有圖形功能較弱的 “Lite” 版本。
盡管如此,i.MX 8M Nano 處理器系列的所有產(chǎn)品均能提供新興智能產(chǎn)品所需的應(yīng)用性能和實(shí)時(shí)性能。
每個(gè) Arm Cortex-A53 應(yīng)用處理器內(nèi)核都可提供高性能以執(zhí)行應(yīng)用軟件,工作時(shí)鐘頻率高達(dá) 1.5 GHz,具有專用一級 (L1) 緩存——包括 32 KB 指令緩存 (I-cache) 和 32 KB 數(shù)據(jù)緩存 (D-cache),以及 512 KB 共享 L2 統(tǒng)一緩存。配合集成的浮點(diǎn)單元 (FPU),這些內(nèi)核支持 Arm 的 Neon 技術(shù)——用于數(shù)字信號處理的高級單指令多數(shù)據(jù) (SIMD) 操作,以及數(shù)據(jù)密集型應(yīng)用的其他高級算法。
對于嵌入式系統(tǒng)要求,Arm Cortex-M7 微控制器內(nèi)核的工作頻率高達(dá) 750 MHz,可高性能執(zhí)行要求低延遲和確定性操作的實(shí)時(shí)進(jìn)程。為了進(jìn)一步加快處理速度,該內(nèi)核還具有集成的 FPU 和 256 KB 緊耦合存儲器 (TCM),用于指令和數(shù)據(jù)緩存。
不過,對于復(fù)雜的實(shí)時(shí)處理任務(wù),快速識別不同中斷源的能力與原始處理能力同樣重要。在 i.MX 8M Nano 處理器中,各個(gè) Arm Cortex-A53 內(nèi)核內(nèi)置全局中斷控制器 (GIC),Arm Cortex-M7 內(nèi)核則具有嵌套向量中斷控制器 (NVIC),可對近 128 個(gè)不同中斷請求源發(fā)出的中斷進(jìn)行精細(xì)化處理,對應(yīng)分類包括內(nèi)核狀態(tài)、定時(shí)器、外設(shè)接口事件、直接存儲器訪問 (DMA) 操作、專用硬件進(jìn)程等。
異構(gòu)多核處理
每個(gè) i.MX 8M Nano 處理器內(nèi)核都可獨(dú)立提供強(qiáng)大的計(jì)算資源。實(shí)時(shí)性能和應(yīng)用軟件執(zhí)行方面往往存在相互沖突的要求,致使智能產(chǎn)品設(shè)計(jì)難度陡增。然而,該處理器的多個(gè)內(nèi)核配合使用,即可提供功能強(qiáng)大的計(jì)算平臺,從而妥善處理這些要求。例如,基于該處理器的智能產(chǎn)品可使用 Cortex-M7 內(nèi)核實(shí)時(shí)處理音頻流,同時(shí)在一個(gè)或多個(gè) Cortex-A53 內(nèi)核上運(yùn)行算法來分析結(jié)果數(shù)據(jù),并為用戶提供結(jié)果的 3D 圖形顯示。
然而,為了確保異構(gòu)多核間協(xié)調(diào)處理的可靠性,多核系統(tǒng)需要仔細(xì)調(diào)度不同內(nèi)核、專用硬件塊和外設(shè)之間的處理操作和數(shù)據(jù)交換。在 i.MX 8M Nano 處理器中,這種調(diào)度是采用基于硬件的機(jī)制來實(shí)現(xiàn)的。在多處理環(huán)境中這種機(jī)制用于底層軟件服務(wù)一般使用的信號量和消息發(fā)送。
在嵌入式系統(tǒng)中,協(xié)調(diào)調(diào)度的對象則還需擴(kuò)展至存儲器和外設(shè)等硬件資源。為了執(zhí)行此任務(wù),該處理器集成了專用資源域控制器 (RDC),從而確保在適當(dāng)時(shí)安全共享資源,或在需要時(shí)進(jìn)行可靠隔離。因此,應(yīng)用軟件和實(shí)時(shí)代碼可以各自控制其域內(nèi)專用的資源,同時(shí)共享一組公共資源(圖 2)。

圖 2:NXP 的 i.MX 8M Nano 處理器采用基于硬件的機(jī)制,可確保 Cortex-A53 應(yīng)用域或 Cortex-M7 實(shí)時(shí)域?qū)S觅Y源的隔離,同時(shí)在需要時(shí)實(shí)現(xiàn)安全的資源共享。(圖片來源:NXP)
針對智能產(chǎn)品的專用支持
只需使用 i.MX 8M Nano 處理器的多核和資源共享功能,開發(fā)人員即可實(shí)現(xiàn)語音助手和 3D 圖形功能,構(gòu)建復(fù)雜的新興智能產(chǎn)品應(yīng)用。憑借 i.MX 8M Nano 處理器內(nèi)置的智能產(chǎn)品專用硬件支持,這些應(yīng)用可進(jìn)一步提高性能并減少軟件占用空間。
在圖形方面,處理器集成的圖形處理單元 (GPU) 可提供 2D 和 3D 圖形加速,支持 Vulkan、開放運(yùn)算語言 (OpenCL) 和開放圖形庫 (OpenGL) 等標(biāo)準(zhǔn)圖形庫。集成的液晶顯示接口 (LCDIF) 控制器支持 1080p60 顯示(p 表示逐行掃描,幀率為 60 幀/秒)。
片上 GPU 可為內(nèi)核分擔(dān)顯示處理,而另一組硬件子系統(tǒng)則分擔(dān)了各種音頻處理任務(wù)。通常情況下,這類任務(wù)會使基于常規(guī)處理器的系統(tǒng)速度減慢。針對麥克風(fēng)輸入處理,該處理器的脈沖密度調(diào)制 (PDM) 麥克風(fēng)接口 (MICFIL) 可提供多級流水線,用 PDM 麥克風(fēng)接收的 1 位輸入生成經(jīng)過濾波的 16 位脈沖代碼調(diào)制 (PCM) 數(shù)據(jù)(圖 3)。

圖 3:NXP 的 i.MX 8M Nano 處理器具有 PDM 麥克風(fēng)輸入接口子系統(tǒng),可為音頻信號處理和語音活動檢測提供獨(dú)立的硬件流水線。(圖片來源:NXP)
在基于語音的典型應(yīng)用中,設(shè)計(jì)人員只需在該處理器支持的八個(gè) PDM 聲道中選擇其一,并連接 PDM 麥克風(fēng)即可。在 PDM 麥克風(fēng)接口子系統(tǒng)中,輸入接口將來自一對麥克風(fēng)的時(shí)分復(fù)用 PDM 數(shù)據(jù)進(jìn)行組合,形成包含左右聲道的混聲道。
在每個(gè)聲道的下一級,專用可編程抽取濾波器可提供不同的通帶,具體取決于所需的輸出速率和質(zhì)量選擇 (QSEL) 設(shè)置。具體質(zhì)量設(shè)置選擇包括高、中、低和另外三個(gè)較低的質(zhì)量級別。例如,輸出速率為 48 kHz 時(shí),較低質(zhì)量模式的濾波器通帶設(shè)置為 10.5 Hz 至 11.25 kHz;相比之下,高、中、低質(zhì)量模式的通帶為 21 Hz 至 22.5 kHz。最后,各聲道的濾波結(jié)果送入各自獨(dú)立的先進(jìn)先出 (FIFO) 緩沖區(qū)以生成中斷,通過 DMA 傳輸或訪問總線。
基于硬件的語音活動檢測
PDM 麥克風(fēng)接口提供一組硬件語音活動檢測器 (HWVAD) 與音頻信號調(diào)節(jié)流水線并行操作,用于監(jiān)測所需的麥克風(fēng)輸入聲道。(請注意:上圖中,各 HWVAD 與混聲道連接,但根據(jù)說明文檔,與之相連的是各路聲道,并且由寄存器 “VADCHSEL” 的名稱可知,應(yīng)為聲道)。該處理器提供了各類設(shè)備寄存器以支持 HWVAD 操作,因而開發(fā)人員可按應(yīng)用需求定義特定的 HWVAD 配置(表 1)。

表 1:NXP 的 i.MX 8M Nano 處理器寄存器常用于配置處理器 PDM 麥克風(fēng)接口 (MICFIL) 中集成的硬件語音活動檢測器。(表格來源:Digi-Key Electronics,基于 NXP 提供的數(shù)據(jù))
根據(jù)這些寄存器設(shè)置,HWVAD 使用內(nèi)置的語音檢測算法來識別語音活動。檢測到語音活動后,HWVAD 隨即生成中斷以喚醒內(nèi)核(通常是 Cortex-M7)以作進(jìn)一步處理(圖 4)。

圖 4:根據(jù)開發(fā)人員編程好的設(shè)置,NXP 的 i.MX 8M Nano 處理器硬件語音活動檢測器允許處理器內(nèi)核休眠或執(zhí)行其他處理,直至其檢測到語音并需要進(jìn)一步的語音處理為止。(圖片來源:NXP)
在語音助手應(yīng)用中,內(nèi)核將檢查音頻流中是否存在相應(yīng)的喚醒字。如果檢測到喚醒字,則內(nèi)核通常會將音頻流交由應(yīng)用支持的基于云的語音助手服務(wù)處理。
除了 PDM 麥克風(fēng)接口子系統(tǒng)外,i.MX 8M Nano 處理器還具有五個(gè)同步音頻接口 (SAI) 模塊,支持 Inter-IC Sound (I2S)、audio codec 97 (AC97)、時(shí)分復(fù)用 (TDM) 音頻、直接比特流數(shù)字 (DSD) 以及編解碼器或數(shù)字信號處理 (DSP) 數(shù)據(jù)等多種標(biāo)準(zhǔn)音頻格式。
開發(fā)人員常常需要將音頻輸入樣本按需轉(zhuǎn)換為其他采樣率和分辨率,以滿足特定應(yīng)用要求。i.MX 8M Nano 處理器不是占用處理器周期來完成這類常見任務(wù),而是使用集成的專用異步采樣率轉(zhuǎn)換器 (ASRC) 子系統(tǒng)。
ASRC 可同步處理多達(dá) 32 路音頻聲道,將聲源樣本自動轉(zhuǎn)換為所需的采樣率(介于 8 kHz 和 384 kHz 之間)和分辨率(每個(gè)樣本 16、20、24 或 32 位 IEEE 單精度浮點(diǎn)數(shù)或定點(diǎn)數(shù))。在此過程中,ASRC 將所有輸入數(shù)據(jù)轉(zhuǎn)換為 64 位 IEEE 浮點(diǎn)格式,確保根據(jù)需要對音頻樣本數(shù)據(jù)進(jìn)行精確上/下變頻,以獲得所需的結(jié)果。
使用總電源控制器進(jìn)行電源管理
NXP 的 i.MX 8M Nano 處理器集成了多個(gè)處理器內(nèi)核和硬件子系統(tǒng),因此其架構(gòu)中包含許多獨(dú)立的電源域和電源模式,分別構(gòu)建在各個(gè)內(nèi)核和子系統(tǒng)中。為了管理這些內(nèi)核和專用塊的電源,i.MX 8M Nano 處理器包含一個(gè)精密的總電源控制器 (GPC),用于協(xié)調(diào)多個(gè)電源管理功能。在 GPC 中,系統(tǒng)模式控制器 (SMC) 用于管理各個(gè)內(nèi)核的低功耗模式 (LPM) 和整體深度休眠模式 (DSM),而電源選通時(shí)隙控制器 (PGTSC) 用于管理時(shí)鐘選通功能,通過禁用不活動子系統(tǒng)的電源來降低系統(tǒng)功耗(圖 5)。

圖 5:為了實(shí)現(xiàn)系統(tǒng)級電源優(yōu)化,NXP 的 i.MX 8M Nano 集成了功能全面的電源控制器,用于管理處理器內(nèi)核中內(nèi)置的電源選通功能和低功耗模式。(圖片來源:NXP)
通過軟件或硬件控制,GPC 可使用 PGTSC 中 20 個(gè)不同的時(shí)隙,使處理器中多個(gè)時(shí)鐘選通電源域中的任一個(gè)上電或斷電。此時(shí),時(shí)隙控制器對時(shí)隙進(jìn)行順序操作,激活所有上電或斷電請求后才會進(jìn)入下一個(gè)時(shí)隙。除了滿足特定的電源定序要求外,該方法還使開發(fā)人員能夠減少系統(tǒng)上電或由低功耗或深度休眠模式喚醒時(shí)的電流激增。
為 i.MX 8M Nano 處理器的多電源域供電十分簡單。ROHM Semiconductor 的 BD71850MWV 電源管理集成電路 (PMIC) 專為支持 NXP 的 i.MX 8M Nano 處理器而設(shè)計(jì),可提供處理器及其他系統(tǒng)外設(shè)所需的所有電源軌。實(shí)際上,BD71850MWV PMIC 本身集成了電源定序器,進(jìn)一步簡化了上電和斷電的安全執(zhí)行;供電對象不僅針對處理器,還包括外部存儲器、傳感器或系統(tǒng)中的其他器件(圖 6)。對于開發(fā)人員而言,如需將 BD71850MWV PMIC 整合到設(shè)計(jì)中,除了常用去耦電容器(圖中未顯示)外,無需添加其他元器件。

圖 6:NXP iMX 8M Nano 處理器的多個(gè)內(nèi)核和硬件子系統(tǒng)需要多個(gè)電源軌,而 ROHM BD71850MWV 電源管理集成電路 (PMIC) 則提供了現(xiàn)成的解決方案。(圖片來源:NXP)
開發(fā)支持
基于 i.MX 8M Nano 的設(shè)計(jì)中硬件接口要求相對簡單,但是 NXP 甚至為開發(fā)人員免去了這項(xiàng)相對簡單的設(shè)計(jì)任務(wù),簡化了處理器評估和新智能產(chǎn)品的原型開發(fā)。8MNANOD4-EVK 評估套件針對 i.MX 8M Nano 處理器提供了完整的開發(fā)套件和參考設(shè)計(jì),其中包括 i.MX 8M Nano 處理器、BD71850MWV PMIC 和 Murata Electronics 的 LBEE5HY1MW Wi-Fi/藍(lán)牙收發(fā)器模塊,可作為即時(shí)評估和原型開發(fā)平臺使用。除了多個(gè)接口選擇和對應(yīng)的連接器外,該評估套件還包括同步動態(tài)隨機(jī)存儲器 (SDRAM)、NOR 閃存和 NAND 閃存等一整套外部存儲器。借助該評估套件,開發(fā)人員可以探索不同的工作模式和配置,包括從外部閃存啟動,或使用已簽名引導(dǎo)映像進(jìn)行安全啟動。
如果開發(fā)人員已準(zhǔn)備好開始著手定制軟件開發(fā),NXP 為其提供了驅(qū)動程序、板級支持包 (BSP) 和中間件,可與該公司的 MCUXpresso 集成開發(fā)環(huán)境 (IDE) 和第三方 IDE 配合使用。如需構(gòu)建利用機(jī)器學(xué)習(xí)方法的應(yīng)用,開發(fā)人員可借助 NXP 的 eIQ 機(jī)器學(xué)習(xí)軟件開發(fā)環(huán)境和 i.MX 優(yōu)化推斷庫,例如支持 TensorFlow Lite 的 eIQ(適合基于 Cortex-M7 的推斷),或面向 Arm 神經(jīng)網(wǎng)絡(luò)軟件開發(fā)套件 (NN SDK) 的 NXP 端口(適合基于 Cortex-A53 的推斷)。
總結(jié)
大眾對語音助手產(chǎn)品的迅速接納,也使其對下一代智能產(chǎn)品的期望值不斷提升:這些產(chǎn)品既要提供出色的音頻支持,還需提高性能、增強(qiáng)圖形功能并確保高能效運(yùn)行。然而,對于開發(fā)人員而言,這些產(chǎn)品的有效系統(tǒng)設(shè)計(jì)需要同時(shí)滿足高性能應(yīng)用軟件執(zhí)行和低延遲實(shí)時(shí)性能,但在相應(yīng)的尺寸、成本和功率限制下,實(shí)現(xiàn)難度相當(dāng)大。借助 NXP 的可擴(kuò)展多核處理器系列,開發(fā)人員可輕松實(shí)現(xiàn)消費(fèi)類、工業(yè)和醫(yī)療等眾多應(yīng)用領(lǐng)域?qū)χ悄墚a(chǎn)品的設(shè)計(jì)要求。
評論