新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 充分利用數(shù)字信號處理器上的片內(nèi)FIR和IIR硬件加速器

充分利用數(shù)字信號處理器上的片內(nèi)FIR和IIR硬件加速器

作者:ADI 應(yīng)用工程師 Mitesh Moonat 和 Sanket Nayak 時間:2020-06-22 來源:電子產(chǎn)品世界 收藏


本文引用地址:http://m.butianyuan.cn/article/202006/414545.htm

摘要

有限脈沖響應(yīng)()和無限脈沖響應(yīng)(IIR)濾波器都是常用的數(shù)字信號處理算法---尤其適用于音頻處理應(yīng)用。因此,在典型的音頻系統(tǒng)中,處理器內(nèi)核的很大一部分時間用于和IIR濾波。數(shù)字信號處理器上的片內(nèi)和IIR硬件加速器也分別稱為FIRA和IIRA,我們可以利用這些硬件加速器來分擔(dān)FIR和IIR處理任務(wù),讓內(nèi)核去執(zhí)行其他處理任務(wù)。在本文中,我們將借助不同的使用模型以及實(shí)時測試示例來探討如何在實(shí)踐中利用這些加速器。

圖1-充分利用數(shù)字信號處理器上的片內(nèi)FIR和IIR硬件加速器.jpg

1.FIRA和IIRA系統(tǒng)方框圖

簡介

圖1顯示了FIRA和IIRA的簡化方框圖,以及它們與其余處理器系統(tǒng)和資源的交互方式。

●   FIRA和IIRA模塊均主要包含一個計(jì)算引擎(乘累加(MAC)單元)以及一個小的本地?cái)?shù)據(jù)和系數(shù)。

●   u 為開始進(jìn)行FIRA/IIRA處理,內(nèi)核使用通道特定信息初始化處理器存儲器中的DMA傳輸控制塊()鏈。然后將該鏈的起始地址寫入FIRA/IIRA鏈指針寄存器,隨后配置FIRA/IIRA控制寄存器以啟動加速器處理。一旦所有通道的配置完成,就會向內(nèi)核發(fā)送一個中斷,以便內(nèi)核將處理后的輸出用于后續(xù)操作。

●   u 從理論上講,最好的方法是將所有FIR和/或IIR任務(wù)從內(nèi)核轉(zhuǎn)移給加速器,并允許內(nèi)核同時執(zhí)行其他操作。但在實(shí)踐中,這并非始終可行,特別是當(dāng)內(nèi)核需要使用加速器輸出進(jìn)一步處理,并且沒有其他獨(dú)立的任務(wù)需要同時完成時。在這種情況下,我們需要選擇合適的加速器使用模型來達(dá)到最佳效果。.

在本文中,我們將討論針對不同應(yīng)用場景充分利用這些加速器的各種模型。

圖2-充分利用數(shù)字信號處理器上的片內(nèi)FIR和IIR硬件加速器.jpg

圖2.典型實(shí)時音頻數(shù)據(jù)流

實(shí)時使用FIRA和IIRA

圖2顯示了典型實(shí)時PCM音頻數(shù)據(jù)流圖。一幀數(shù)字化PCM音頻數(shù)據(jù)通過同步串行端口(SPORT)接收,并通過直接存儲器訪問(DMA)發(fā)送至存儲器。在繼續(xù)接收幀N+1時,幀N由內(nèi)核和/或加速器處理,之前處理的幀(N-1)的輸出通過SPORT發(fā)送至DAC進(jìn)行數(shù)模轉(zhuǎn)換。

加速器使用模型

如前所述,根據(jù)應(yīng)用的不同,可能需要以不同的方式使用加速器,以最大限度分擔(dān)FIR和/或IIR處理任務(wù),并盡可能節(jié)省內(nèi)核周期以用于其他操作。從高層次角度來看,加速器使用模型可分為三類:直接替代、拆分任務(wù)和數(shù)據(jù)流水線。

直接替代

●   內(nèi)核FIR和/或IIR處理直接被加速器替代,內(nèi)核只需等待加速器完成此任務(wù)。

●   此模型僅在加速器的處理速度比內(nèi)核快時才有效;即,使用FIRA模塊。

拆分任務(wù)

●   FIR和/或IIR處理任務(wù)在內(nèi)核和加速器之間分配。

●   當(dāng)多個通道可并行處理時,此模型特別有用。

●   根據(jù)粗略的時序估算,在內(nèi)核和加速器之間分配通道總數(shù),使二者大致能夠同時完成任務(wù)。

●   如圖3所示,與直接替代模型相比,此使用模型可節(jié)省更多的內(nèi)核周期。



上一頁 1 2 下一頁

關(guān)鍵詞: RAM TCB FIR

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉