充分利用數字信號處理器上的片內FIR和IIR硬件加速器
發布時間:2020-07-01 來源:Mitesh Moonat 和 Sanket Nayak 責任編輯:wenwei
【導讀】有限脈衝響應(FIR)和無限脈衝響應(IIR)濾波器都是常用的數字信號處理算法---尤其適用於音頻處理應用。因此,在典型的音頻係統中,處理器內核的很大一部分時間用於FIR和IIR濾波。數字信號處理器上的片內FIR和IIR硬件加速器也分別稱為FIRA和IIRA,我們可以利用這些硬件加速器來分擔FIR和IIRchulirenwu,rangneihequzhixingqitachulirenwu。zaibenwenzhong,womenjiangjiezhubutongdeshiyongmoxingyijishishiceshishililaitantaoruhezaishijianzhongliyongzhexiejiasuqi。
簡介

圖1.FIRA和IIRA係統方框圖
圖1顯示了FIRA和IIRA的簡化方框圖,以及它們與其餘處理器係統和資源的交互方式。
● FIRA和IIRA模塊均主要包含一個計算引擎(乘累加(MAC)單元)以及一個小的本地數據和係數RAM。
● 為開始進行FIRA/IIRA處理,內核使用通道特定信息初始化處理器存儲器中的DMA傳輸控製塊(TCB)鏈。然後將該TCB鏈的起始地址寫入FIRA/IIRA鏈指針寄存器,隨後配置FIRA/IIRA控製寄存器以啟動加速器處理。一旦所有通道的配置完成,就會向內核發送一個中斷,以便內核將處理後的輸出用於後續操作。
● 從理論上講,最好的方法是將所有FIR和/或IIR任(ren)務(wu)從(cong)內(nei)核(he)轉(zhuan)移(yi)給(gei)加(jia)速(su)器(qi),並(bing)允(yun)許(xu)內(nei)核(he)同(tong)時(shi)執(zhi)行(xing)其(qi)他(ta)操(cao)作(zuo)。但(dan)在(zai)實(shi)踐(jian)中(zhong),這(zhe)並(bing)非(fei)始(shi)終(zhong)可(ke)行(xing),特(te)別(bie)是(shi)當(dang)內(nei)核(he)需(xu)要(yao)使(shi)用(yong)加(jia)速(su)器(qi)輸(shu)出(chu)進(jin)一(yi)步(bu)處(chu)理(li),並(bing)且(qie)沒(mei)有(you)其(qi)他(ta)獨(du)立(li)的(de)任(ren)務(wu)需(xu)要(yao)同(tong)時(shi)完(wan)成(cheng)時(shi)。在(zai)這(zhe)種(zhong)情(qing)況(kuang)下(xia),我(wo)們(men)需(xu)要(yao)選(xuan)擇(ze)合(he)適(shi)的(de)加(jia)速(su)器(qi)使(shi)用(yong)模(mo)型(xing)來(lai)達(da)到(dao)最(zui)佳(jia)效(xiao)果(guo)。
在本文中,我們將討論針對不同應用場景充分利用這些加速器的各種模型。
實時使用FIRA和IIRA

圖2.典型實時音頻數據流
圖2顯示了典型實時PCM音頻數據流圖。一幀數字化PCM音頻數據通過同步串行端口(SPORT)接收,並通過直接存儲器訪問(DMA)發送至存儲器。在繼續接收幀N+1時,幀N由內核和/或加速器處理,之前處理的幀(N-1)的輸出通過SPORT發送至DAC進行數模轉換。
加速器使用模型
如前所述,根據應用的不同,可能需要以不同的方式使用加速器,以最大限度分擔FIR和/或IIR處理任務,並盡可能節省內核周期以用於其他操作。從高層次角度來看,加速器使用模型可分為三類:直接替代、拆分任務和數據流水線。
直接替代
● 內核FIR和/或IIR處理直接被加速器替代,內核隻需等待加速器完成此任務。
● 此模型僅在加速器的處理速度比內核快時才有效;即,使用FIRA模塊。
拆分任務
● FIR和/或IIR處理任務在內核和加速器之間分配。
● 當多個通道可並行處理時,此模型特別有用。
● 根據粗略的時序估算,在內核和加速器之間分配通道總數,使二者大致能夠同時完成任務。
● 如圖3所示,與直接替代模型相比,此使用模型可節省更多的內核周期。
數據流水線
● 內核和加速器之間的數據流可進行流水線處理,使二者能夠在不同數據幀上並行處理。
● 如圖3所示,內核處理第N個幀,然後啟動加速器對該幀進行處理。內核隨後繼續進一步並行處理加速器在上一迭代中產生的第N-1幀的輸出。該序列允許將FIR和/或IIR處理任務完全轉移給加速器,但輸出會有一些延遲。
● 流水線級以及輸出延遲都可能會增加,具體取決於完整處理鏈中此類FIR和/或IIR處理級的數量。
圖3說明了音頻數據幀如何在不同加速器使用模型的三個階段之間傳輸---DMA IN、內核/加速器處理和DMA OUT。它還顯示了通過采用不同的加速器使用模型將FIR/IIR全部或部分處理轉移到加速器上,與僅使用內核模型相比,內核空閑周期如何增加。

圖3.加速器使用模型比較
SHARC處理器上的FIRA和IIRA
以下ADI SHARC®處理器係列支持片內FIRA和IIRA(從舊到新)。
● ADSP-214xx (例如, ADSP-21489)
● ADSP-SC58x
● ADSP-SC57x/ADSP-2157x
● ADSP-2156x
這些處理器係列:
● 計算速度不同
● 基本編程模型保持不變,ADSP-2156x處理器上的自動配置模式(ACM)除外。
● FIRA有四個MAC單元,而IIRA隻有一個MAC單元。
ADSP-2156x處理器上的FIRA/IIRA改進
ADSP-2156x是SHARC處理器係列中的最新的產品。它是第一款單核1 GHz SHARC處理器,其FIRA和IIRA也可在1 GHz下運行。ADSP-2156x處理器上的FIRA和IIRA與其前代ADSP-SC58x/ADSP-SC57x處理器相比,具有多項改進。
性能改進
● 計算速度提高了8倍(從SCLK-125 MHz至CCLK-1 GHz)。
● 由於內核和加速器借助專用內核結構實現了更緊密的集成,因此減少了內核和加速器之間的數據和MMR訪問延遲。
功能改進
添加了ACM支持,以盡量減少進行加速器處理所需的內核幹預。此模式主要具有以下新特性:
● 允許加速器暫停以進行動態任務排隊。
● 無通道數限製。
● 支持觸發生成(主器件)和觸發等待(從器件)。
● 為每個通道生成選擇性中斷。
實驗結果
在本節中,我們將討論在ADSP-2156x評估板上,借助不同的加速器使用模型實施兩個實時多通道FIR/IIR用例的結果
用例1
圖4顯示用例1的方框圖。采樣率為48 kHz,模塊大小為256個采樣點,拆分任務模型中使用的內核與加速器通道比為5:7。
表1顯示測得的內核和FIRA MIPS數量,以及與僅使用內核模型相比獲得的節約內核MIPS結果。表中還顯示了相應使用模型增加的額外輸出延遲。正如我們所看到的,使用加速器配合數據流水線使用模型,可節約高達335內核MIPS,但導致1塊(5.33 ms)的輸出延遲。直接替代和拆分任務使用模型也分別可節約98 MIPS和189 MIPS,而且未導致任何額外的輸出延遲。

圖4.用例1方框圖
表1.用例1的內核和FIR/IIRA MIPS總結

用例2
圖5顯示用例2的方框圖。采樣率為48 kHz,模塊大小為128個采樣點,拆分任務模型中使用的內核與加速器通道比為1:1。
與表1一樣,表2也顯示了此用例的結果。正如我們所看到的,使用加速器配合數據流水線使用模型,可節約高達490內核MIPS,但導致1模塊(2.67 ms)的輸出延遲。拆分任務使用模型可節約234內核MIPS,而沒有導致任何額外輸出延遲。請注意,與用例1中不同,在用例2中內核使用頻域(快速卷積)處理,而非時域處理。這就是為何處理一個通道所需的內核MIPS比FIRA MIPS少的原因,這可導致直接替代使用模型實現負的內核MIPS節約。

圖5.用例2方框圖
表2.用例2的內核和FIR/IIRA MIPS總結

結論
在本文中,我們看到如何利用不同的加速器使用模型實現所需的MIPS和處理目標,從而將大量內核MIPS轉移到ADSP-2156x處理器上的FIRA和IIRA加速器。
進一步閱讀
“ADSP-2156x FIR/IIR加速器性能和實時使用情況圖形演示。” ADI公司
Nayak, Sanket和Mitesh Moonat。 “工程師對話筆記EE-408:使用ADSP-2156x高性能FIR/IIR加速器。”ADI公司,2019年8月。
作者

Mitesh Moonat
Mitesh Moonat目前在印度班加羅爾(ADBL)處理器應用團隊擔任應用工程師。他從事前/後晶片驗證、外設驅動器開發和SHARC處理器支持工作。在ADI就職期間,他還從事Blackfin和21xx處理器工作。他的工作領域包括處理器架構、數字信號處理算法優化、模塊以及嵌入式係統的係統級調試。Mitesh於2006年加入ADI公司。他畢業於印度瓦朗加爾國家技術學院,獲得電子和通信工程學士學位。

Sanket Nayak
Sanket Nayak是印度班加羅爾(ADBL)處理器應用團隊的產品應用工程師。他於2016年加入ADI公司,一直從事汽車DSP的前/後晶片驗證、驅動器/FuSa ROM設計、開發和測試工作。他獲得班加羅爾PES技術學院電子和通信工程學士學位。
推薦閱讀:
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 矽典微ONELAB開發係列:為毫米波算法開發者打造的全棧工具鏈
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
Future
GFIVE
GPS
GPU
Harting
HDMI
HDMI連接器
HD監控
HID燈
I/O處理器
IC
IC插座
IDT
IGBT
in-cell
Intersil
IP監控
iWatt
Keithley
Kemet
Knowles
Lattice
LCD
LCD模組
LCR測試儀
lc振蕩器
Lecroy
LED
LED保護元件
LED背光



