【導讀】自現場(chǎng)可編程邏輯器件(FPGA)面世以來(lái),通常瞄準最大的市場(chǎng)區間——通信行業(yè)。雖然大多數FPGA開(kāi)發(fā)人員仍然以通信應用為重點(diǎn),但他們越來(lái)越多地關(guān)注存儲和服務(wù)器市場(chǎng),尤其是日益增長(cháng)的音頻處理,通過(guò)結合音頻處理器的功能和FPGA器件的靈活性,能夠支持許多創(chuàng )新應用。
廣泛的工業(yè)市場(chǎng)呢?
通常,廣泛的工業(yè)市場(chǎng)的需求并非像存儲、服務(wù)器或通信應用所要求的那么性能導向或復雜。對于所有圍繞工業(yè)物聯(lián)網(wǎng)(IoT)市場(chǎng)的炒作,我們并不清楚工程師如何利用現有的技術(shù)來(lái)實(shí)現其潛能。在工業(yè)市場(chǎng)上可以看見(jiàn)的日益增長(cháng)的一個(gè)例子就是音頻的處理。通過(guò)結合音頻處理器的功能和FPGA器件的靈活性,能夠支持許多創(chuàng )新應用。
音頻處理器名副其實(shí)是經(jīng)優(yōu)化處理聲音的處理器。它通常利用基于A(yíng)RM或RTOS友善的處理器架構,具有數字至模擬轉換器(DAC)等硬件、多個(gè)數字麥克風(fēng)輸入、優(yōu)化用于聲譜的硬件加速器,以及I2S或 SPI接口。音頻處理器通常與軟件或固件綁定,經(jīng)設計執行某些回聲消除或降噪功能。
FPGA器件使用基于柵級的架構,適用于并行模式下的信號處理。它還具有內部存儲器、硬件乘法器和累加器,以及充足的I/O靈活性。某些FPGA器件被視為SoC,因為它們具有四核、A級ARM處理器,但是,當FPGA器件與音頻處理器配對使用時(shí),這種級別的性能并非必需。音頻處理器的理想配對是通用而靈活的FPGA器件,或者集成了ARM Cortex-M3等微控制器的FPGA器件。結合音頻處理器和這類(lèi)FPGA器件,無(wú)論是否帶有Cortex-M3,也能夠實(shí)現理想的分工,用于獨特的工業(yè)通信和控制應用中的許多任務(wù)。
智能攝像頭的音頻監聽(tīng)
在使用兩個(gè)麥克風(fēng)時(shí),音頻處理器能夠執行一項有趣的功能,就是音頻檢測,例如,在音頻處理器中使用合適的固件,該器件便能夠確定與聲音位置相關(guān)的角度信息。如果在器件的前部聽(tīng)到語(yǔ)音或聲音(例如在向北的方向),這將被處理成“90度”。如果聲音來(lái)自東北方向,音頻處理器則輸出“45度”。此外,固件可以在兩個(gè)麥克風(fēng)的前部虛擬一道光束,并忽略光束以外的噪聲源。通過(guò)利用FPGA器件,光束可以導引在感興趣的聲音源的方向上。
這類(lèi)監控攝像頭包括以下主要組件,如圖1所示:
- 捕獲圖像的圖像傳感器
- 處理視頻數據的圖像信號處理器(ISP)
- 清理聲音路徑和確定音頻源位置的音頻處理器
- 和音頻處理器相連的FPGA執行馬達控制算法將攝像頭轉向聲音的方向

這類(lèi)智能攝像頭能夠更專(zhuān)注聲音起源處的圖像,FPGA器件還可以用于橋接基于PCIe的高速Wi-Fi 模塊以串行方式傳送這些圖像,或者,它可以觸發(fā)某些報警或警示功能。這種方法還可以用于引導攝像頭和監聽(tīng)麥克風(fēng)來(lái)優(yōu)化視頻會(huì )議單元的性能。在這種應用中,通過(guò)使用波束來(lái)監聽(tīng)誰(shuí)在發(fā)言,音頻處理器用于檢測聲音的來(lái)源。波束在FPGA器件的控制之下,將會(huì )轉向發(fā)言的人,而不是將攝像頭朝向聲音。
工業(yè)IoT 聲音檢測應用
FPGA器件與音頻處理器共同實(shí)現的另一種獨特工業(yè) IoT應用是維修、診斷和故障預防(圖2)。想像你擁有足夠敏銳的聽(tīng)力,知道馬達或其它移動(dòng)組件正在變弱并即將發(fā)生故障。工業(yè)IoT的相關(guān)示例包括電梯馬達或鉆頭。通過(guò)使用處理器和FPGA器件了解變弱馬達或鉆頭的聲音曲線(xiàn),并且監控這種音頻標記,可以防止產(chǎn)品故障和停機時(shí)間。

為了實(shí)施這類(lèi)解決方案,要把聲音曲線(xiàn)固件插入在音頻處理器中,以監控與故障相關(guān)的音頻標記。對于馬達應用,這項標記可能是軸承開(kāi)始崩潰的聲音,或者隨著(zhù)鉆頭變鈍和越來(lái)越吃力地工作,鉆頭的音頻曲線(xiàn)改變至較高水平的聲音。由于聲音曲線(xiàn)駐留在音頻處理器中,然后這款解決方案便可以監聽(tīng)并連續匹配聲音和存儲的故障曲線(xiàn)。同時(shí),FPGA器件與音頻處理器通話(huà),并與網(wǎng)絡(luò )或某些其它外設通信,以傳遞這種狀態(tài)。如果FPGA器件包括ARM Cortex-M3,便可運行輕量TCP/IP堆棧,并且在以太網(wǎng)上或通過(guò)無(wú)線(xiàn)標準發(fā)送信息。當然,它也可以利用其它獨特的通信功能,比如CAN總線(xiàn)、USB或專(zhuān)有協(xié)議。
當音頻處理器檢測到弱化狀況的聲音曲線(xiàn)特性時(shí),便向FPGA器件發(fā)送信號,而后將這個(gè)信息在網(wǎng)絡(luò )上發(fā)放。通過(guò)在早期捕捉失效狀況,FPGA器件還可以通過(guò)編程,以系統覆蓋(system override)的形式觸發(fā)響應。以電梯為示例,FPGA器件可以一直等待,直到確定電梯安全到達地面層,而且每個(gè)人都走出去了,然后才與中央控制系統通信,使得電梯停止服務(wù)。其它示例包括汽車(chē)電動(dòng)馬達、流量管線(xiàn),以及其它工業(yè)IoT應用。如果聲音曲線(xiàn)被很好地了解,這種方法甚至可用于觸發(fā)維修呼叫,從而顯著(zhù)縮短停機時(shí)間。
本地音頻存儲和播放
配對音頻處理器和FPGA器件的解決方案,還可以用于最適合在本地實(shí)施音頻存儲和回溯的應用場(chǎng)合。這包括了保護加密音頻或家居自動(dòng)化應用。
在這些示例中,音頻處理器接收語(yǔ)音或聲音,并且經(jīng)由I2S總線(xiàn)將其傳送至FPGA器件,FPGA器件將數據格式化,存儲在SPI快閃或其它非易失性存儲器中。這項設計還允許通過(guò)FPGA器件至音頻處理器,從SPI快閃進(jìn)行播放。這類(lèi)設計的其它選項包括用于安全應用的加密和解密音頻。FPGA器件能夠推動(dòng)通信以作為替代,使得系統可從遠程提供音頻。
最近,艾睿電子設計了一個(gè)硬件套件來(lái)演示音頻處理器和ARM Cortex-M3 FPGA能夠提供的靈活性(圖3)。美高森美SmartFusion2+ (SF2+)評估套件帶有Timberwolf音頻處理器和SmartFusion2 SoC FPGA器件。這款套件具有板載快閃和DDR存儲器,以及USB和以太網(wǎng)接口。此外,通過(guò)利用Arduino盾連接器組和PMOD接口,還可以增添多種外設選項。

艾睿設計了用于這款套件的完整HDL和C代碼參考設計,允許儲存多達四個(gè)不同的音頻記錄,并且支持回放控制。用于Timberwolf音頻處理器和HDL的固件和用于FPGA器件的C代碼為探索結合音頻處理器和FPGA的解決方案提供了起點(diǎn)。
使用音頻處理器和FPGA器件組合可以理想地實(shí)施多種獨特和引人注目的應用,音頻處理器執行檢測或監聽(tīng)事件的任務(wù),而FPGA器件用于提供定制響應。當然,附加的FPGA邏輯還允許實(shí)現定制功能或其它邏輯需求,比如橋接、硬件加速或協(xié)議通信,所有這些可以通過(guò)可用的硬件解決方案、參考設計和音頻軟件來(lái)探索實(shí)施。
推薦閱讀: