摘要
有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器都是常用的数字信号处理算法—特别适用于音频处理运用。因而,在典型的音频体系中,处理器内核的很大一部分时刻用于FIR和IIR滤波。数字信号处理器上的片内FIR和IIR硬件加速器也别离称为FIRA和IIRA,咱们可以运用这些硬件加速器来分管FIR和IIR处理使命,让内核去履行其他处理使命。在本文中,咱们将凭借不同的运用模型以及实时测验示例来评论怎么在实践中运用这些加速器。
图1.FIRA和IIRA体系方框图
简介
图1显现了FIRA和IIRA的简化方框图,以及它们与其他处理器体系和资源的交互办法。
● FIRA和IIRA模块均首要包含一个核算引擎(乘累加(MAC)单元)以及一个小的本地数据和系数RAM。
● u 为开端进行FIRA/IIRA处理,内核运用通道特定信息初始化处理器存储器中的DMA传输操控块(TCB)链。然后将该TCB链的开始地址写入FIRA/IIRA链指针寄存器,随后装备FIRA/IIRA操控寄存器以发动加速器处理。一旦一切通道的装备完结,就会向内核发送一个中止,以便内核将处理后的输出用于后续操作。
● u 从理论上讲,最好的办法是将一切FIR和/或IIR使命从内核搬运给加速器,并答应内核一起履行其他操作。但在实践中,这并非一向可行,特别是当内核需求运用加速器输出进一步处理,并且没有其他独立的使命需求一起完结时。在这种情况下,咱们需求挑选适宜的加速器运用模型来到达最佳作用。.
在本文中,咱们将评论针对不同运用场景充分运用这些加速器的各种模型。
图2.典型实时音频数据流
实时运用FIRA和IIRA
图2显现了典型实时PCM音频数据流图。一帧数字化PCM音频数据经过同步串行端口(SPORT)接纳,并经过直接存储器拜访(DMA)发送至存储器。在持续接纳帧N+1时,帧N由内核和/或加速器处理,之前处理的帧(N-1)的输出经过SPORT发送至DAC进行数模转化。
加速器运用模型
如前所述,依据运用的不同,或许需求以不同的办法运用加速器,以最大极限分管FIR和/或IIR处理使命,并尽或许节省内核周期以用于其他操作。从高层次视点来看,加速器运用模型可分为三类:直接代替、拆分使命和数据流水线。
直接代替
● 内核FIR和/或IIR处理直接被加速器代替,内核只需等候加速器完结此使命。
● 此模型仅在加速器的处理速度比内核快时才有用;即,运用FIRA模块。
拆分使命
● FIR和/或IIR处理使命在内核和加速器之间分配。
● 当多个通道可并行处理时,此模型特别有用。
● 依据大略的时序预算,在内核和加速器之间分配通道总数,使二者大致可以一起完结使命。
● 如图3所示,与直接代替模型比较,此运用模型可节省更多的内核周期。
● 内核和加速器之间的数据流可进行流水线处理,使二者可以在不同数据帧上并行处理。
● u 如图3所示,内核处理第N个帧,然后发动加速器对该帧进行处理。内核随后持续进一步并行处理加速器在上一迭代中发生的第N-1帧的输出。该序列答应将FIR和/或IIR处理使命彻底搬运给加速器,但输出会有一些推迟。
● u 流水线级以及输出推迟都或许会添加,详细取决于完好处理链中此类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用例的成果。
图4.用例1方框图
用例1
图4显现用例1的方框图。采样率为48 kHz,模块巨细为256个采样点,拆分使命模型中运用的内核与加速器通道比为5:7。
表1显现测得的内核和FIRA MIPS数量,以及与仅运用内核模型比较取得的节省内核MIPS成果。表中还显现了相应运用模型添加的额定输出推迟。正如咱们所看到的,运用加速器合作数据流水线运用模型,可节省高达335内核MIPS,但导致1块(5.33 ms)的输出推迟。直接代替和拆分使命运用模型也别离可节省98 MIPS和189 MIPS,并且未导致任何额定的输出推迟。
表1.用例1的内核和FIR/IIRA MIPS总结 |
|||||
运用 模型 |
内核 MIPS |
FIRA MIPS |
IIRA MIPS |
节省内核 MIPS |
运用模型 推迟(ms) |
仅运用 内核 |
337 |
0 |
|||
直接 代替 |
239 |
162 |
75 |
98 |
0 |
拆分 使命 |
148 |
96 |
44 |
189 |
0 |
数据 流水线 |
2 |
161 |
75 |
335 |
5.33 (1帧) |
用例2
图5显现用例2的方框图。采样率为48 kHz,模块巨细为128个采样点,拆分使命模型中运用的内核与加速器通道比为1:1。
与表1相同,表2也显现了此用例的成果。正如咱们所看到的,运用加速器合作数据流水线运用模型,可节省高达490内核MIPS,但导致1模块(2.67 ms)的输出推迟。拆分使命运用模型可节省234内核MIPS,而没有导致任何额定输出推迟。请注意,与用例1中不同,在用例2中内核运用频域(快速卷积)处理,而非时域处理。这便是为何处理一个通道所需的内核MIPS比FIRA MIPS少的原因,这可导致直接代替运用模型完成负的内核MIPS节省。
表2.用例2的内核和FIR/IIRA MIPS总结 |
||||
运用模型 |
内核 MIPS |
FIRA MIPS |
节省内核 MIPS |
运用模型推迟 (ms) |
仅运用内核 |
493 |
— |
0 |
|
直接代替 |
515 |
511 |
–22 |
0 |
拆分使命 |
259 |
257 |
234 |
0 |
数据 流水线 |
3 |
511 |
490 |
2.67 (1帧) |
定论
在本文中,咱们看到怎么运用不同的加速器运用模型完成所需的MIPS和处理方针,从而将很多内核MIPS搬运到ADSP-2156x处理器上的FIRA和IIRA加速器。
图5.用例2方框图
进一步阅览
“ 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技术学院电子和通信工程学士学位。 |