【導讀】自現(xiàn)場可編程邏輯器件(FPGA)面世以來,通常瞄準最大的市場區(qū)間——通信行業(yè)。雖然大多數(shù)FPGA開發(fā)人員仍然以通信應用為重點,但他們越來越多地關注存儲和服務器市場,尤其是日益增長的音頻處理,通過結(jié)合音頻處理器的功能和FPGA器件的靈活性,能夠支持許多創(chuàng)新應用。
廣泛的工業(yè)市場呢?
通常,廣泛的工業(yè)市場的需求并非像存儲、服務器或通信應用所要求的那么性能導向或復雜。對于所有圍繞工業(yè)物聯(lián)網(wǎng)(IoT)市場的炒作,我們并不清楚工程師如何利用現(xiàn)有的技術來實現(xiàn)其潛能。在工業(yè)市場上可以看見的日益增長的一個例子就是音頻的處理。通過結(jié)合音頻處理器的功能和FPGA器件的靈活性,能夠支持許多創(chuàng)新應用。
音頻處理器名副其實是經(jīng)優(yōu)化處理聲音的處理器。它通常利用基于ARM或RTOS友善的處理器架構,具有數(shù)字至模擬轉(zhuǎn)換器(DAC)等硬件、多個數(shù)字麥克風輸入、優(yōu)化用于聲譜的硬件加速器,以及I2S或 SPI接口。音頻處理器通常與軟件或固件綁定,經(jīng)設計執(zhí)行某些回聲消除或降噪功能。
FPGA器件使用基于柵級的架構,適用于并行模式下的信號處理。它還具有內(nèi)部存儲器、硬件乘法器和累加器,以及充足的I/O靈活性。某些FPGA器件被視為SoC,因為它們具有四核、A級ARM處理器,但是,當FPGA器件與音頻處理器配對使用時,這種級別的性能并非必需。音頻處理器的理想配對是通用而靈活的FPGA器件,或者集成了ARM Cortex-M3等微控制器的FPGA器件。結(jié)合音頻處理器和這類FPGA器件,無論是否帶有Cortex-M3,也能夠?qū)崿F(xiàn)理想的分工,用于獨特的工業(yè)通信和控制應用中的許多任務。
智能攝像頭的音頻監(jiān)聽
在使用兩個麥克風時,音頻處理器能夠執(zhí)行一項有趣的功能,就是音頻檢測,例如,在音頻處理器中使用合適的固件,該器件便能夠確定與聲音位置相關的角度信息。如果在器件的前部聽到語音或聲音(例如在向北的方向),這將被處理成“90度”。如果聲音來自東北方向,音頻處理器則輸出“45度”。此外,固件可以在兩個麥克風的前部虛擬一道光束,并忽略光束以外的噪聲源。通過利用FPGA器件,光束可以導引在感興趣的聲音源的方向上。
這類監(jiān)控攝像頭包括以下主要組件,如圖1所示:
- 捕獲圖像的圖像傳感器
- 處理視頻數(shù)據(jù)的圖像信號處理器(ISP)
- 清理聲音路徑和確定音頻源位置的音頻處理器
- 和音頻處理器相連的FPGA執(zhí)行馬達控制算法將攝像頭轉(zhuǎn)向聲音的方向
這類智能攝像頭能夠更專注聲音起源處的圖像,F(xiàn)PGA器件還可以用于橋接基于PCIe的高速Wi-Fi 模塊以串行方式傳送這些圖像,或者,它可以觸發(fā)某些報警或警示功能。這種方法還可以用于引導攝像頭和監(jiān)聽麥克風來優(yōu)化視頻會議單元的性能。在這種應用中,通過使用波束來監(jiān)聽誰在發(fā)言,音頻處理器用于檢測聲音的來源。波束在FPGA器件的控制之下,將會轉(zhuǎn)向發(fā)言的人,而不是將攝像頭朝向聲音。
工業(yè)IoT 聲音檢測應用
FPGA器件與音頻處理器共同實現(xiàn)的另一種獨特工業(yè) IoT應用是維修、診斷和故障預防(圖2)。想像你擁有足夠敏銳的聽力,知道馬達或其它移動組件正在變?nèi)醪⒓磳l(fā)生故障。工業(yè)IoT的相關示例包括電梯馬達或鉆頭。通過使用處理器和FPGA器件了解變?nèi)躐R達或鉆頭的聲音曲線,并且監(jiān)控這種音頻標記,可以防止產(chǎn)品故障和停機時間。
為了實施這類解決方案,要把聲音曲線固件插入在音頻處理器中,以監(jiān)控與故障相關的音頻標記。對于馬達應用,這項標記可能是軸承開始崩潰的聲音,或者隨著鉆頭變鈍和越來越吃力地工作,鉆頭的音頻曲線改變至較高水平的聲音。由于聲音曲線駐留在音頻處理器中,然后這款解決方案便可以監(jiān)聽并連續(xù)匹配聲音和存儲的故障曲線。同時,F(xiàn)PGA器件與音頻處理器通話,并與網(wǎng)絡或某些其它外設通信,以傳遞這種狀態(tài)。如果FPGA器件包括ARM Cortex-M3,便可運行輕量TCP/IP堆棧,并且在以太網(wǎng)上或通過無線標準發(fā)送信息。當然,它也可以利用其它獨特的通信功能,比如CAN總線、USB或?qū)S袇f(xié)議。
當音頻處理器檢測到弱化狀況的聲音曲線特性時,便向FPGA器件發(fā)送信號,而后將這個信息在網(wǎng)絡上發(fā)放。通過在早期捕捉失效狀況,F(xiàn)PGA器件還可以通過編程,以系統(tǒng)覆蓋(system override)的形式觸發(fā)響應。以電梯為示例,F(xiàn)PGA器件可以一直等待,直到確定電梯安全到達地面層,而且每個人都走出去了,然后才與中央控制系統(tǒng)通信,使得電梯停止服務。其它示例包括汽車電動馬達、流量管線,以及其它工業(yè)IoT應用。如果聲音曲線被很好地了解,這種方法甚至可用于觸發(fā)維修呼叫,從而顯著縮短停機時間。
本地音頻存儲和播放
配對音頻處理器和FPGA器件的解決方案,還可以用于最適合在本地實施音頻存儲和回溯的應用場合。這包括了保護加密音頻或家居自動化應用。
在這些示例中,音頻處理器接收語音或聲音,并且經(jīng)由I2S總線將其傳送至FPGA器件,F(xiàn)PGA器件將數(shù)據(jù)格式化,存儲在SPI快閃或其它非易失性存儲器中。這項設計還允許通過FPGA器件至音頻處理器,從SPI快閃進行播放。這類設計的其它選項包括用于安全應用的加密和解密音頻。FPGA器件能夠推動通信以作為替代,使得系統(tǒng)可從遠程提供音頻。
最近,艾睿電子設計了一個硬件套件來演示音頻處理器和ARM Cortex-M3 FPGA能夠提供的靈活性(圖3)。美高森美SmartFusion2+ (SF2+)評估套件帶有Timberwolf音頻處理器和SmartFusion2 SoC FPGA器件。這款套件具有板載快閃和DDR存儲器,以及USB和以太網(wǎng)接口。此外,通過利用Arduino盾連接器組和PMOD接口,還可以增添多種外設選項。
艾睿設計了用于這款套件的完整HDL和C代碼參考設計,允許儲存多達四個不同的音頻記錄,并且支持回放控制。用于Timberwolf音頻處理器和HDL的固件和用于FPGA器件的C代碼為探索結(jié)合音頻處理器和FPGA的解決方案提供了起點。
使用音頻處理器和FPGA器件組合可以理想地實施多種獨特和引人注目的應用,音頻處理器執(zhí)行檢測或監(jiān)聽事件的任務,而FPGA器件用于提供定制響應。當然,附加的FPGA邏輯還允許實現(xiàn)定制功能或其它邏輯需求,比如橋接、硬件加速或協(xié)議通信,所有這些可以通過可用的硬件解決方案、參考設計和音頻軟件來探索實施。
推薦閱讀: